From bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a Mon Sep 17 00:00:00 2001 From: dims Date: Tue, 17 Jun 2008 00:23:01 +0000 Subject: Move Tuscany from Incubator to top level. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68 --- .../demos/alert-aggregator-webapp/DISCLAIMER | 8 + .../sca-node/demos/alert-aggregator-webapp/LICENSE | 205 + .../sca-node/demos/alert-aggregator-webapp/NOTICE | 6 + .../sca-node/demos/alert-aggregator-webapp/README | 82 + .../alert-aggregator-webapp/alert-aggregator.png | Bin 0 -> 36819 bytes .../alert-aggregator-webapp/alert-aggregator.svg | 627 + .../demos/alert-aggregator-webapp/build-dojo.xml | 92 + .../demos/alert-aggregator-webapp/build.xml | 148 + .../sca-node/demos/alert-aggregator-webapp/pom.xml | 344 + .../sca/demos/aggregator/AlertTypeNonSDOImpl.java | 339 + .../demos/aggregator/AlertsFeedServiceImpl.java | 106 + .../sca/demos/aggregator/AlertsService.java | 40 + .../sca/demos/aggregator/AlertsServiceImpl.java | 126 + .../sca/demos/aggregator/AlertsSourcesService.java | 69 + .../demos/aggregator/AlertsSourcesServiceImpl.java | 183 + .../sca/demos/aggregator/AlertsTypeNonSDOImpl.java | 74 + .../sca/demos/aggregator/ConfigTypeNonSDOImpl.java | 55 + .../sca/demos/aggregator/RSSCheckerService.java | 30 + .../demos/aggregator/RSSCheckerServiceImpl.java | 85 + .../sca/demos/aggregator/SourceTypeNonSDOImpl.java | 536 + .../src/main/resources/Alerts.wsdl | 88 + .../src/main/resources/Alerts.xsd | 80 + .../src/main/resources/AlertsSources.wsdl | 124 + .../src/main/resources/alerts-client.composite | 49 + .../src/main/resources/alerts.composite | 85 + .../src/main/resources/sources.xml | 33 + .../src/main/webapp/AlertAggregator.html | 330 + .../src/main/webapp/META-INF/sca-contribution.xml | 26 + .../src/main/webapp/WEB-INF/geronimo-web.xml | 32 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/pop.png | Bin 0 -> 244 bytes .../src/main/webapp/rss.png | Bin 0 -> 689 bytes .../src/main/webapp/service.smd | 1 + .../src/main/webapp/sources.smd | 1 + .../src/main/webapp/style.css | 176 + .../demos/aggregator/AlertsIntegrationTest.java | 99 + .../java/sca-node/demos/bigbank-account/DISCLAIMER | 8 + .../java/sca-node/demos/bigbank-account/LICENSE | 205 + .../java/sca-node/demos/bigbank-account/NOTICE | 6 + .../java/sca-node/demos/bigbank-account/README | 4 + .../sca-node/demos/bigbank-account/bigbank.png | Bin 0 -> 100070 bytes .../sca-node/demos/bigbank-account/bigbank.svg | 537 + .../sca-node/demos/bigbank-account/build-dojo.xml | 92 + .../java/sca-node/demos/bigbank-account/build.xml | 85 + .../java/sca-node/demos/bigbank-account/pom.xml | 71 + .../account/checking/CheckingAccountDetails.java | 50 + .../account/checking/CheckingAccountService.java | 37 + .../checking/CheckingAccountServiceImpl.java | 66 + .../account/savings/SavingsAccountDetails.java | 52 + .../account/savings/SavingsAccountService.java | 35 + .../account/savings/SavingsAccountServiceImpl.java | 66 + .../AccountsDataPasswordCallbackHandler.java | 54 + .../account/security/BigbankCheckingsAcl.java | 48 + ...ckingsDeptAuthImplementationPolicyProvider.java | 90 + .../account/security/CheckingsDeptAuthPolicy.java | 46 + .../CheckingsDeptAuthPolicyInterceptor.java | 77 + .../CheckingsDeptAuthPolicyProviderFactory.java | 75 + .../CheckingsDeptAuthorizationPolicyHandler.java | 65 + .../CheckingsDeptAuthorizationPolicyProcessor.java | 72 + .../bigbank/account/stock/StockAccountDetails.java | 68 + .../bigbank/account/stock/StockAccountService.java | 36 + .../account/stock/StockAccountServiceImpl.java | 60 + .../src/main/resources/CheckingsAccount.composite | 35 + .../main/resources/META-INF/sca-contribution.xml | 42 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 20 + ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 + .../src/main/resources/SavingsAccount.composite | 34 + .../src/main/resources/StockAccount.composite | 34 + .../src/main/resources/definitions.xml | 58 + .../src/main/resources/web/AccountJSON.html | 92 + .../src/main/resources/web/style.css | 22 + .../src/main/resources/wsdl/AccountService.wsdl | 91 + .../sca-node/demos/bigbank-calculator/DISCLAIMER | 8 + .../java/sca-node/demos/bigbank-calculator/LICENSE | 205 + .../java/sca-node/demos/bigbank-calculator/NOTICE | 6 + .../java/sca-node/demos/bigbank-calculator/README | 2 + .../sca-node/demos/bigbank-calculator/build.xml | 68 + .../java/sca-node/demos/bigbank-calculator/pom.xml | 78 + .../src/main/java/calculator/AddService.java | 25 + .../main/java/calculator/CalculatorService.java | 34 + .../java/calculator/CalculatorServiceImpl.java | 72 + .../src/main/java/calculator/DivideService.java | 25 + .../src/main/java/calculator/MultiplyService.java | 25 + .../src/main/java/calculator/SubtractService.java | 25 + .../java/calculator/demo/CalculatorServer.java | 44 + .../src/main/resources/Calculator.composite | 55 + .../main/resources/calculator/AddServiceImpl.js | 22 + .../resources/calculator/DivideServiceImpl.groovy | 22 + .../resources/calculator/MultiplyServiceImpl.py | 21 + .../resources/calculator/SubtractServiceImpl.rb | 22 + .../sca-node/demos/bigbank-stockquote/DISCLAIMER | 8 + .../java/sca-node/demos/bigbank-stockquote/LICENSE | 205 + .../java/sca-node/demos/bigbank-stockquote/NOTICE | 6 + .../java/sca-node/demos/bigbank-stockquote/README | 4 + .../sca-node/demos/bigbank-stockquote/build.xml | 67 + .../java/sca-node/demos/bigbank-stockquote/pom.xml | 85 + .../java/stockquote/PasswordCallbackHandler.java | 47 + .../src/main/java/stockquote/StockQuoteImpl.java | 38 + .../main/java/stockquote/StockQuoteService.java | 30 + .../java/stockquote/demo/StockQuoteServer.java | 42 + .../src/main/resources/StockQuote.composite | 33 + .../src/main/resources/definitions.xml | 49 + .../src/main/resources/security.properties | 4 + .../src/main/resources/stockQuote.jks | Bin 0 -> 1986 bytes .../java/sca-node/demos/bigbank/DISCLAIMER | 8 + .../sebastien/java/sca-node/demos/bigbank/LICENSE | 205 + .../sebastien/java/sca-node/demos/bigbank/NOTICE | 6 + .../sebastien/java/sca-node/demos/bigbank/README | 127 + .../java/sca-node/demos/bigbank/bigbank.png | Bin 0 -> 100070 bytes .../java/sca-node/demos/bigbank/bigbank.svg | 537 + .../java/sca-node/demos/bigbank/build-dojo.xml | 92 + .../java/sca-node/demos/bigbank/build.xml | 84 + .../sebastien/java/sca-node/demos/bigbank/pom.xml | 201 + .../main/java/bigbank/account/AccountService.java | 32 + .../java/bigbank/account/AccountServiceImpl.java | 99 + .../java/bigbank/account/feed/AccountFeedImpl.java | 70 + .../main/java/bigbank/client/BigBankClient.java | 50 + .../src/main/java/bigbank/demo/BigBankServer.java | 130 + .../security/BigbankPasswordCallbackHandler.java | 51 + .../main/java/calculator/CalculatorService.java | 34 + .../main/java/stockquote/StockQuoteService.java | 29 + .../bigbank/src/main/resources/BigBank.composite | 85 + .../main/resources/META-INF/sca-contribution.xml | 36 + .../demos/bigbank/src/main/resources/bigbank.jks | Bin 0 -> 1986 bytes .../bigbank/src/main/resources/definitions.xml | 64 + .../bigbank/src/main/resources/security.properties | 4 + .../src/main/resources/web/AccountJSON.html | 92 + .../demos/bigbank/src/main/resources/web/style.css | 22 + .../src/main/resources/wsdl/AccountService.wsdl | 91 + .../src/test/java/test/BigBankTestCase.java | 33 + .../demos/load-balancing-webapp/DISCLAIMER | 8 + .../sca-node/demos/load-balancing-webapp/LICENSE | 205 + .../sca-node/demos/load-balancing-webapp/NOTICE | 6 + .../sca-node/demos/load-balancing-webapp/README | 76 + .../demos/load-balancing-webapp/build-tomcat.xml | 96 + .../sca-node/demos/load-balancing-webapp/build.xml | 125 + .../sca-node/demos/load-balancing-webapp/pom.xml | 349 + .../src/main/java/client/LaunchClient.java | 57 + .../src/main/java/domain/LaunchDomain.java | 33 + .../src/main/java/helloworld/HelloWorldImpl.java | 35 + .../main/java/helloworld/HelloWorldService.java | 31 + .../java/helloworld/HelloWorldServiceClient.java | 42 + .../demos/loadbalancer/rule/RoundRobinRule.java | 96 + .../helloworldwsclient.composite | 33 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../sca-deployables/helloworldws.composite | 32 + .../src/main/webapp/WEB-INF/web.xml | 37 + .../src/test/resources/apache-80/conf/httpd.conf | 28 + .../resources/apache-80/conf/workers.properties | 18 + .../src/test/resources/tomcat-8085/conf/server.xml | 391 + .../webapps/balancer/WEB-INF/config/rules.xml | 26 + .../src/test/resources/tomcat-8086/conf/server.xml | 391 + .../src/test/resources/tomcat-8087/conf/server.xml | 391 + .../sca-node/demos/mortgage-creditcheck/DISCLAIMER | 8 + .../sca-node/demos/mortgage-creditcheck/LICENSE | 205 + .../sca-node/demos/mortgage-creditcheck/NOTICE | 6 + .../sca-node/demos/mortgage-creditcheck/README | 6 + .../sca-node/demos/mortgage-creditcheck/build.xml | 66 + .../sca-node/demos/mortgage-creditcheck/pom.xml | 75 + .../src/main/java/credit/CreditCheck.java | 26 + .../src/main/java/credit/CreditCheckImpl.java | 34 + .../src/main/java/credit/CreditCheckServer.java | 40 + .../src/main/resources/CreditCheck.composite | 37 + .../src/main/resources/wsdl/credit.wsdl | 81 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../src/main/webapp/WEB-INF/web.xml | 37 + .../demos/mortgage-loanapproval/DISCLAIMER | 8 + .../sca-node/demos/mortgage-loanapproval/LICENSE | 205 + .../sca-node/demos/mortgage-loanapproval/NOTICE | 6 + .../sca-node/demos/mortgage-loanapproval/README | 60 + .../sca-node/demos/mortgage-loanapproval/build.xml | 66 + .../mortgage-loanapproval/doc/credit_composite.jpg | Bin 0 -> 73610 bytes .../mortgage-loanapproval/doc/credit_composite.png | Bin 0 -> 51153 bytes .../mortgage-loanapproval/doc/loan_approval.jpg | Bin 0 -> 162536 bytes .../mortgage-loanapproval/doc/loan_approval.png | Bin 0 -> 58247 bytes .../doc/mortgage_assembly0.jpg | Bin 0 -> 145053 bytes .../doc/mortgage_assembly0.png | Bin 0 -> 93773 bytes .../doc/mortgage_assembly1.jpg | Bin 0 -> 181317 bytes .../doc/mortgage_assembly1.png | Bin 0 -> 113404 bytes .../doc/mortgage_assembly2.jpg | Bin 0 -> 180240 bytes .../doc/mortgage_assembly2.png | Bin 0 -> 106656 bytes .../doc/mortgage_composite.jpg | Bin 0 -> 343699 bytes .../doc/mortgage_composite.png | Bin 0 -> 288351 bytes .../doc/mortgage_diagrams.doc | Bin 0 -> 2278400 bytes .../doc/mortgage_package1.jpg | Bin 0 -> 181031 bytes .../doc/mortgage_package1.png | Bin 0 -> 34939 bytes .../doc/mortgage_package2.jpg | Bin 0 -> 110930 bytes .../doc/mortgage_package2.png | Bin 0 -> 58993 bytes .../doc/mortgage_scenario.jpg | Bin 0 -> 225690 bytes .../doc/mortgage_scenario.png | Bin 0 -> 106791 bytes .../mortgage-loanapproval/mortgage_assembly.png | Bin 0 -> 106656 bytes .../sca-node/demos/mortgage-loanapproval/pom.xml | 83 + .../src/main/java/mortgage/CreditCheck.java | 29 + .../src/main/java/mortgage/CreditCheckImpl.java | 34 + .../src/main/java/mortgage/Customer.java | 76 + .../src/main/java/mortgage/InterestRateQuote.java | 23 + .../main/java/mortgage/InterestRateQuoteImpl.java | 42 + .../src/main/java/mortgage/LoanApproval.java | 27 + .../src/main/java/mortgage/LoanApprovalImpl.java | 84 + .../src/main/java/mortgage/MortgageCalculator.java | 29 + .../main/java/mortgage/MortgageCalculatorImpl.java | 38 + .../src/main/java/mortgage/MortgageClient.java | 44 + .../src/main/java/mortgage/RiskAssessment.java | 27 + .../src/main/java/mortgage/RiskAssessmentImpl.java | 38 + .../src/main/resources/Mortgage.composite | 48 + .../src/main/resources/Mortgage1.composite | 57 + .../resources/MortgageCalculator.componentType | 27 + .../src/main/resources/MortgageCalculator.js | 25 + .../src/main/resources/wsdl/credit.wsdl | 81 + .../test/java/mortgage/MortgageClientTestCase.java | 56 + sandbox/sebastien/java/sca-node/demos/pom.xml | 52 + .../sca-node/demos/workpool-distributed/DISCLAIMER | 8 + .../sca-node/demos/workpool-distributed/LICENSE | 205 + .../sca-node/demos/workpool-distributed/NOTICE | 6 + .../sca-node/demos/workpool-distributed/build.xml | 446 + .../sca-node/demos/workpool-distributed/pom.xml | 148 + .../src/main/java/node/DomainNode.java | 57 + .../src/main/java/node/DomainNodeDaemon.java | 79 + .../src/main/java/node/TestJob.java | 82 + .../src/main/java/node/WorkpoolDaemon.java | 271 + .../src/main/java/node/WorkpoolNode.java | 179 + .../src/main/java/node/workerRules1.drl | 13 + .../main/java/workpool/MetaComponentWorker.java | 85 + .../src/main/java/workpool/MyWorker.java | 46 + .../src/main/java/workpool/NullJob.java | 43 + .../src/main/java/workpool/ResultJob.java | 54 + .../src/main/java/workpool/Trigger.java | 29 + .../src/main/java/workpool/WorkerManager.java | 31 + .../src/main/java/workpool/WorkerManagerImpl.java | 213 + .../src/main/java/workpool/WorkerService.java | 56 + .../main/java/workpool/WorkerServiceCallback.java | 27 + .../src/main/java/workpool/WorkerServiceImpl.java | 171 + .../src/main/java/workpool/WorkpoolBean.java | 162 + .../main/java/workpool/WorkpoolBeanListener.java | 25 + .../src/main/java/workpool/WorkpoolEvent.java | 71 + .../src/main/java/workpool/WorkpoolManager.java | 48 + .../main/java/workpool/WorkpoolManagerImpl.java | 555 + .../src/main/java/workpool/WorkpoolService.java | 91 + .../main/java/workpool/WorkpoolServiceImpl.java | 416 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeA/Workpool.composite | 47 + .../resources/nodeB/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeB/Workpool.composite | 38 + .../resources/nodeC/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeC/Workpool.composite | 38 + .../resources/nodeD/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeD/Workpool.composite | 38 + .../resources/nodeE/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeE/Workpool.composite | 38 + .../src/test/java/workpool/AComponent.java | 25 + .../demos/workpool-distributed/workerRules.drl | 9 + .../demos/workpool-distributed/workerRules1.drl | 9 + .../demos/workpool-distributed/workerRules2.drl | 8 + .../demos/workpool-distributed/workerRules3.drl | 14 + .../java/sca-node/demos/xml-bigbank/DISCLAIMER | 8 + .../java/sca-node/demos/xml-bigbank/LICENSE | 205 + .../java/sca-node/demos/xml-bigbank/NOTICE | 6 + .../java/sca-node/demos/xml-bigbank/README | 46 + .../java/sca-node/demos/xml-bigbank/build.xml | 63 + .../java/sca-node/demos/xml-bigbank/pom.xml | 115 + .../src/main/java/bigbank/AccountData.java | 36 + .../src/main/java/bigbank/AccountDataImpl.java | 48 + .../src/main/java/bigbank/AccountService.java | 32 + .../src/main/java/bigbank/AccountServiceImpl.java | 84 + .../src/main/java/bigbank/BigBankClient.java | 35 + .../src/main/java/bigbank/BigBankServer.java | 40 + .../src/main/java/bigbank/CurrencyExchange.java | 36 + .../src/main/java/bigbank/ExchangeRate.java | 32 + .../src/main/java/bigbank/ExchangeRateImpl.java | 84 + .../src/main/java/bigbank/StockQuote.java | 38 + .../src/main/java/bigbank/StockValue.java | 38 + .../src/main/resources/BigBank.composite | 51 + .../xml-bigbank/src/main/resources/accounts.xml | 29 + .../xml-bigbank/src/main/resources/customer.xsd | 46 + .../demos/xml-bigbank/src/main/resources/stock.xq | 52 + .../src/main/resources/wsdl/StockQuotes.wsdl | 23 + .../sca-node/demos/xml-bigbank/xml-bigbank.png | Bin 0 -> 30396 bytes .../sca-node/demos/xml-bigbank/xml-bigbank.svg | 447 + .../java/sca-node/distribution/bundle/pom.xml | 700 + .../java/sca-node/distribution/manifest/pom.xml | 586 + .../sebastien/java/sca-node/distribution/pom.xml | 381 + .../distribution/src/main/assembly/bin.xml | 350 + .../distribution/src/main/assembly/src.xml | 184 + .../sca-node/distribution/src/main/release/CHANGES | 431 + .../distribution/src/main/release/DISCLAIMER | 7 + .../sca-node/distribution/src/main/release/README | 19 + .../distribution/src/main/release/RELEASE_NOTES | 83 + .../distribution/src/main/release/bin/INSTALL | 27 + .../distribution/src/main/release/bin/LICENSE | 2366 ++++ .../distribution/src/main/release/bin/NOTICE | 95 + .../distribution/src/main/release/src/BUILDING | 55 + .../distribution/src/main/release/src/LICENSE | 397 + .../distribution/src/main/release/src/NOTICE | 39 + .../distribution/src/main/xsl/srcbuild_paths.xsl | 56 + .../java/sca-node/distribution/standalone/pom.xml | 71 + .../src/test/resources/repo/tuscany.properties | 21 + .../java/sca-node/distribution/tomcat/pom.xml | 79 + .../distribution/tomcat/src/main/assembly/bin.xml | 62 + .../resources/sca-contributions/tuscany.properties | 19 + .../java/sca-node/distribution/war/pom.xml | 90 + .../distribution/war/src/main/release/DISCLAIMER | 7 + .../distribution/war/src/main/release/LICENSE | 2296 ++++ .../distribution/war/src/main/release/NOTICE | 98 + .../distribution/war/src/main/release/README | 12 + .../distribution/war/src/main/webapp/web.xml | 48 + .../java/sca-node/distribution/war/war.xml | 82 + .../java/sca-node/distribution/webapp/pom.xml | 350 + .../sca/webapp/ContributionUploaderServlet.java | 116 + .../tuscany/sca/webapp/WarContextListener.java | 304 + .../webapp/src/main/webapp/WEB-INF/web.xml | 66 + .../main/webapp/sca-contributions/safeToDelete.tmp | 1 + .../sca-contributions/sample-calculator-nodeB.jar | Bin 0 -> 4593 bytes .../sample-helloworld-ws-service.jar | Bin 0 -> 7065 bytes .../webapp/src/main/webapp/scaDomainInfo.jsp | 74 + sandbox/sebastien/java/sca-node/itest/admin/README | 28 + .../sebastien/java/sca-node/itest/admin/pom.xml | 60 + .../tuscany/sca/itest/admin/MyListService.java | 9 + .../sca/itest/admin/MyListServiceByYear.java | 8 + .../tuscany/sca/itest/admin/MyListServiceImpl.java | 69 + .../apache/tuscany/sca/itest/admin/MyLogger.java | 17 + .../apache/tuscany/sca/itest/admin/MyService.java | 9 + .../tuscany/sca/itest/admin/MyServiceByDate.java | 10 + .../tuscany/sca/itest/admin/MyServiceImpl.java | 113 + .../tuscany/sca/itest/admin/MyTotalService.java | 6 + .../sca/itest/admin/MyTotalServiceImpl.java | 74 + .../sca/itest/admin/SCAComponentService.java | 9 + .../admin/MySimpleServiceInRecursiveTestCase.java | 61 + .../sca/itest/admin/MySimpleServiceTestCase.java | 57 + .../sca/itest/admin/MyTotalServiceTestCase.java | 48 + .../test/resources/Iteration1Composite.composite | 43 + .../test/resources/Iteration3Composite.composite | 68 + .../src/test/resources/MySimpleService.composite | 59 + .../itest/bpel/helloworld-reference/pom.xml | 210 + .../src/test/java/greetings/GreetingsService.java | 31 + .../test/java/greetings/GreetingsServiceImpl.java | 33 + .../src/test/java/greetings/GreetingsTestCase.java | 60 + .../test/java/helloworld/HelloWorldService.java | 29 + .../java/helloworld/HelloWorldServiceImpl.java | 47 + .../test/java/helloworld/HelloWorldTestCase.java | 55 + .../test/resources/greetings/greetings.composite | 32 + .../src/test/resources/greetings/greetings.wsdl | 87 + .../src/test/resources/helloworld/deploy.xml | 35 + .../src/test/resources/helloworld/helloworld.bpel | 84 + .../resources/helloworld/helloworld.componentType | 36 + .../test/resources/helloworld/helloworld.composite | 36 + .../src/test/resources/helloworld/helloworld.wsdl | 82 + .../src/test/resources/log4j.properties | 36 + .../java/sca-node/itest/bpel/helloworld-ws/pom.xml | 176 + .../src/test/java/helloworld/HelloWorld.java | 45 + .../test/java/helloworld/HelloWorldTestCase.java | 64 + .../src/test/resources/helloworld/deploy.xml | 31 + .../src/test/resources/helloworld/helloworld.bpel | 66 + .../resources/helloworld/helloworld.componentType | 30 + .../test/resources/helloworld/helloworld.composite | 32 + .../src/test/resources/helloworld/helloworld.wsdl | 82 + .../src/test/resources/log4j.properties | 36 + .../java/sca-node/itest/bpel/helloworld/pom.xml | 162 + .../src/test/java/helloworld/HelloWorld.java | 45 + .../test/java/helloworld/HelloWorldTestCase.java | 63 + .../src/test/resources/helloworld/deploy.xml | 31 + .../src/test/resources/helloworld/helloworld.bpel | 66 + .../resources/helloworld/helloworld.componentType | 30 + .../test/resources/helloworld/helloworld.composite | 36 + .../src/test/resources/helloworld/helloworld.wsdl | 82 + .../helloworld/src/test/resources/log4j.properties | 36 + .../java/sca-node/itest/bpel/ping-pong/pom.xml | 195 + .../test/java/pingpong/BPELPingPongTestCase.java | 60 + .../test/java/pingpong/BPELPingTestCase.java | 63 + .../test/java/pingpong/BPELPongTestCase.java | 62 + .../bpel/ping-pong/test/resources/log4j.properties | 33 + .../resources/ping-pong/ping-pong.componentType | 36 + .../test/resources/ping-pong/ping-pong.composite | 36 + .../bpel/ping-pong/test/resources/ping/deploy.xml | 35 + .../bpel/ping-pong/test/resources/ping/ping.bpel | 124 + .../test/resources/ping/ping.componentType | 36 + .../ping-pong/test/resources/ping/ping.composite | 29 + .../bpel/ping-pong/test/resources/ping/ping.wsdl | 84 + .../bpel/ping-pong/test/resources/ping/pong.wsdl | 84 + .../bpel/ping-pong/test/resources/pong/deploy.xml | 31 + .../bpel/ping-pong/test/resources/pong/pong.bpel | 84 + .../test/resources/pong/pong.componentType | 29 + .../ping-pong/test/resources/pong/pong.composite | 30 + .../bpel/ping-pong/test/resources/pong/pong.wsdl | 93 + sandbox/sebastien/java/sca-node/itest/bpel/pom.xml | 37 + .../java/sca-node/itest/build-was-integration.xml | 68 + .../sca-node/itest/callablereferences-ws/pom.xml | 59 + .../src/main/java/com/example/ExampleClient.java | 26 + .../main/java/com/example/ExampleClientImpl.java | 59 + .../src/main/java/com/example/ExampleService.java | 30 + .../main/java/com/example/ExampleServiceImpl.java | 33 + .../sca/itest/callablerefwsreturn/Alpha.java | 26 + .../sca/itest/callablerefwsreturn/AlphaImpl.java | 96 + .../sca/itest/callablerefwsreturn/Beta.java | 27 + .../sca/itest/callablerefwsreturn/BetaImpl.java | 46 + .../sca/itest/callablerefwsreturn/Gamma.java | 34 + .../sca/itest/callablerefwsreturn/GammaImpl.java | 49 + .../CallableReferenceWsReturnTest.composite | 54 + .../src/main/resources/example.composite | 40 + .../src/test/java/com/example/ExampleTestCase.java | 44 + .../CallableReferenceReturnTestCase.java | 49 + .../java/sca-node/itest/callablereferences/pom.xml | 74 + .../tuscany/sca/itest/callableref/AComponent.java | 39 + .../sca/itest/callableref/AComponentImpl.java | 114 + .../tuscany/sca/itest/callableref/BComponent.java | 30 + .../sca/itest/callableref/BComponentImpl.java | 38 + .../tuscany/sca/itest/callableref/CComponent.java | 27 + .../sca/itest/callableref/CComponentImpl.java | 30 + .../tuscany/sca/itest/callableref/DComponent.java | 30 + .../sca/itest/callableref/DComponentImpl.java | 65 + .../ConversationalService.java | 68 + .../ConversationalServiceImpl.java | 111 + .../tuscany/sca/itest/callablerefreturn/Alpha.java | 27 + .../sca/itest/callablerefreturn/AlphaImpl.java | 86 + .../tuscany/sca/itest/callablerefreturn/Beta.java | 28 + .../sca/itest/callablerefreturn/BetaImpl.java | 44 + .../tuscany/sca/itest/callablerefreturn/Gamma.java | 35 + .../sca/itest/callablerefreturn/GammaImpl.java | 47 + .../CallableReferenceConversationalTest.composite | 29 + .../CallableReferenceReturnTest.composite | 39 + .../main/resources/CallableReferenceTest.composite | 45 + .../src/main/resources/nodeA/CompositeA.composite | 46 + .../resources/nodeA/META-INF/sca-contribution.xml | 22 + .../src/main/resources/nodeB/CompositeB.composite | 43 + .../resources/nodeB/META-INF/sca-contribution.xml | 22 + .../CallableReferenceConversationalTestCase.java | 109 + .../CallableReferenceRemoteTestCase.java | 145 + .../CallableReferenceReturnTestCase.java | 48 + .../callableref/CallableReferenceTestCase.java | 83 + .../java/sca-node/itest/callback-api/pom.xml | 50 + .../tuscany/sca/test/CallBackApiCallBack.java | 38 + .../apache/tuscany/sca/test/CallBackApiClient.java | 30 + .../tuscany/sca/test/CallBackApiClientImpl.java | 206 + .../tuscany/sca/test/CallBackApiService.java | 50 + .../tuscany/sca/test/CallBackApiServiceImpl.java | 123 + .../src/main/resources/CallBackApiTest.composite | 33 + .../main/resources/META-INF/sca-contribution.xml | 23 + .../tuscany/sca/test/CallBackApiTestCase.java | 62 + .../java/sca-node/itest/callback-basic/pom.xml | 50 + .../tuscany/sca/test/CallBackBasicCallBack.java | 33 + .../tuscany/sca/test/CallBackBasicClient.java | 28 + .../tuscany/sca/test/CallBackBasicClientImpl.java | 135 + .../tuscany/sca/test/CallBackBasicService.java | 37 + .../tuscany/sca/test/CallBackBasicServiceImpl.java | 59 + .../src/main/resources/CallBackBasicTest.composite | 33 + .../main/resources/META-INF/sca-contribution.xml | 23 + .../tuscany/sca/test/CallBackBasicTestCase.java | 50 + .../sca-node/itest/callback-complex-type/pom.xml | 45 + .../tuscany/sca/test/CallBackCTypeCallBack.java | 33 + .../tuscany/sca/test/CallBackCTypeClient.java | 28 + .../tuscany/sca/test/CallBackCTypeClientImpl.java | 142 + .../tuscany/sca/test/CallBackCTypeService.java | 36 + .../tuscany/sca/test/CallBackCTypeServiceImpl.java | 62 + .../main/resources/CallBackCTypeClient.composite | 33 + .../test/CallBackCTypeServiceImpl.componentType | 28 + .../sca/test/CallBackCTypeTestCaseFIXME.java | 48 + .../java/sca-node/itest/callback-id/pom.xml | 45 + .../tuscany/sca/test/CallBackIdCallBack.java | 31 + .../apache/tuscany/sca/test/CallBackIdClient.java | 28 + .../tuscany/sca/test/CallBackIdClientImpl.java | 147 + .../apache/tuscany/sca/test/CallBackIdService.java | 33 + .../tuscany/sca/test/CallBackIdServiceImpl.java | 48 + .../src/main/resources/CallBackIdClient.composite | 33 + .../tuscany/sca/test/CallBackIdTestCase.java | 45 + .../sca-node/itest/callback-multiple-wires/pom.xml | 45 + .../apache/tuscany/sca/test/callback/MyClient.java | 27 + .../tuscany/sca/test/callback/MyClientImpl1.java | 49 + .../tuscany/sca/test/callback/MyClientImpl2.java | 49 + .../tuscany/sca/test/callback/MyService.java | 32 + .../sca/test/callback/MyServiceCallback.java | 27 + .../tuscany/sca/test/callback/MyServiceImpl.java | 45 + .../main/resources/CallbackMultiWireTest.composite | 38 + .../test/callback/CallbackMultiWireTestCase.java | 55 + .../sca-node/itest/callback-separatethread/pom.xml | 45 + .../sca/itest/CallBackSeparateThreadClient.java | 34 + .../itest/CallBackSeparateThreadClientImpl.java | 172 + .../tuscany/sca/itest/EventProcessorCallBack.java | 38 + .../tuscany/sca/itest/EventProcessorService.java | 48 + .../sca/itest/EventProcessorServiceImpl.java | 197 + .../resources/CallBackSeparateThreadTest.composite | 31 + .../sca/itest/CallBackSeparateThreadTestCase.java | 64 + .../sca-node/itest/callback-set-callback/pom.xml | 45 + .../sca/test/CallBackSetCalbackService.java | 34 + .../sca/test/CallBackSetCallbackBadCallback.java | 38 + .../sca/test/CallBackSetCallbackCallback.java | 31 + .../sca/test/CallBackSetCallbackCallbackImpl.java | 66 + .../sca/test/CallBackSetCallbackClient.java | 28 + .../sca/test/CallBackSetCallbackClientImpl.java | 190 + .../test/CallBackSetCallbackObjectCallback.java | 44 + .../sca/test/CallBackSetCallbackServiceImpl.java | 73 + .../resources/CallBackSetCallbackTest.composite | 37 + .../sca/test/CallBackSetCallbackTestCase.java | 49 + .../itest/callback-set-conversation/pom.xml | 45 + .../test/CallBackSetCallbackConvBadCallback.java | 39 + .../sca/test/CallBackSetCallbackConvCallback.java | 34 + .../sca/test/CallBackSetCallbackConvClient.java | 28 + .../test/CallBackSetCallbackConvClientImpl.java | 163 + .../CallBackSetCallbackConvNonSerCallback.java | 56 + .../CallBackSetCallbackConvObjectCallback.java | 52 + .../sca/test/CallBackSetCallbackConvService.java | 36 + .../test/CallBackSetCallbackConvServiceImpl.java | 98 + .../CallBackSetCallbackConvTest.composite | 33 + .../sca/test/CallBackSetCallbackConvTestCase.java | 48 + .../java/sca-node/itest/component-type/pom.xml | 47 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/AddServiceImpl.java | 30 + .../src/main/java/calculator/CalculatorClient.java | 45 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 63 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../src/main/resources/Calculator.composite | 49 + .../calculator/AddServiceImpl.componentType | 27 + .../calculator/CalculatorServiceImpl.componentType | 43 + .../calculator/DivideServiceImpl.componentType | 27 + .../calculator/MultiplyServiceImpl.componentType | 27 + .../calculator/SubtractServiceImpl.componentType | 27 + .../test/java/calculator/CalculatorTestCase.java | 52 + .../contribution-classes/build-jar.xml | 39 + .../contribution-classes/pom.xml | 203 + .../main/java/supplychain/customer/Customer.java | 35 + .../customer/JavaCustomerComponentImpl.java | 63 + .../illegal/JavaCustomerComponentImpl.java | 74 + .../retailer/JavaRetailerComponentImpl.java | 61 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../shipper/JavaShipperComponentImpl.java | 52 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 47 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../complete-supplychain-sca-contribution.xml | 26 + .../META-INF/customer-impl-sca-contribution.xml | 26 + .../customer-interface-sca-contribution.xml | 26 + .../META-INF/customer-sca-contribution.xml | 25 + .../META-INF/illegal-customer-sca-contribution.xml | 26 + .../illegal1-supplychain-sca-contribution.xml | 24 + .../illegal2-supplychain-sca-contribution.xml | 31 + .../META-INF/retailer-sca-contribution.xml | 25 + .../META-INF/shipper-sca-contribution.xml | 25 + .../META-INF/supplychain-sca-contribution.xml | 30 + .../META-INF/warehouse-sca-contribution.xml | 25 + .../supplychain/illegalsupplychain.composite | 48 + .../resources/supplychain/supplychain.composite | 48 + .../JavaWarehouseComponentImpl.componentType | 28 + .../contribution-test/pom.xml | 60 + .../test/contribution/ContributionTestCase.java | 373 + .../tuscany/sca/test/contribution/SupplyChain.java | 231 + .../TuscanyClassloadingTestCaseFIXME.java | 381 + .../itest/contribution-classloader/pom.xml | 51 + .../export-composite/pom.xml | 67 + .../src/main/java/hello/Hello.java | 30 + .../src/main/java/hello/HelloImpl.java | 33 + .../main/resources/META-INF/sca-contribution.xml | 25 + .../src/main/resources/hello.composite | 31 + .../sca/test/contribution/HelloTestCase.java | 91 + .../contribution-import-export/export-java/pom.xml | 67 + .../main/java/helloworld/HelloWorldService.java | 30 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../helloworld/HelloWorldImpl.componentType | 30 + .../export-resource/pom.xml | 31 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../src/main/resources/ufservices/store.html | 27 + .../contribution-import-export/export-wsdl/pom.xml | 31 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../export-wsdl/src/main/resources/helloworld.wsdl | 76 + .../export-wsdl/src/main/resources/helloworld.xsd | 35 + .../import-composite/pom.xml | 73 + .../src/main/java/helloworld/HelloWorldImpl.java | 38 + .../src/main/java/helloworld/HelloWorldServer.java | 46 + .../main/java/helloworld/HelloWorldService.java | 30 + .../main/resources/META-INF/sca-contribution.xml | 27 + .../src/main/resources/helloworld.wsdl | 76 + .../src/main/resources/helloworld.xsd | 35 + .../src/main/resources/helloworldws.composite | 39 + .../contribution/HelloWorldServerTestCase.java | 126 + .../contribution-import-export/import-java/pom.xml | 73 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/resources/META-INF/sca-contribution.xml | 25 + .../src/main/resources/helloworldws.composite | 29 + .../contribution/HelloWorldServerTestCase.java | 127 + .../import-resource/pom.xml | 95 + .../main/resources/META-INF/sca-contribution.xml | 25 + .../src/main/resources/store.composite | 33 + .../sca/test/contribution/StoreTestCase.java | 129 + .../contribution-import-export/import-wsdl/pom.xml | 73 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 46 + .../main/java/helloworld/HelloWorldService.java | 30 + .../main/resources/META-INF/sca-contribution.xml | 25 + .../src/main/resources/helloworldws.composite | 33 + .../contribution/HelloWorldServerTestCase.java | 137 + .../itest/contribution-import-export/pom.xml | 56 + .../sca-node/itest/contribution-multiple/pom.xml | 51 + .../src/test/java/hello/Hello.java | 27 + .../src/test/java/hello/HelloImpl.java | 33 + .../src/test/java/helloworld/HelloWorldImpl.java | 38 + .../test/java/helloworld/HelloWorldService.java | 28 + .../java/test/ContributionCycleTestCaseFIXME.java | 121 + .../test/ContributionMultipleTestCaseFIXME.java | 131 + .../src/test/java/test/ContributionTestCase.java | 145 + .../META-INF/sca-contribution.xml | 26 + .../contribution-cycle-export/hello.composite | 31 + .../META-INF/sca-contribution.xml | 26 + .../helloworld_one.composite | 35 + .../META-INF/sca-contribution.xml | 25 + .../resources/contribution-export/hello.composite | 31 + .../META-INF/sca-contribution.xml | 26 + .../helloworld_one.composite | 35 + .../META-INF/sca-contribution.xml | 26 + .../helloworld_two.composite | 35 + .../java/sca-node/itest/contribution/pom.xml | 45 + .../src/main/java/calculator/AddService.java | 32 + .../src/main/java/calculator/AddServiceImpl.java | 30 + .../src/main/java/calculator/CalculatorClient.java | 46 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 70 + .../src/main/java/calculator/DivideService.java | 32 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 33 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 33 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../src/main/resources/ContributionTest.composite | 24 + .../main/resources/calculator/Calculator.composite | 51 + .../main/resources/calculator/sca-contribution.xml | 24 + .../contribution/ContributionServiceTestCase.java | 218 + .../resources/deployables/sample-calculator.jar | Bin 0 -> 26901 bytes .../resources/repository/sample-calculator.jar | Bin 0 -> 26901 bytes .../java/sca-node/itest/conversations-ws/pom.xml | 60 + .../itest/conversational/BusinessException.java | 41 + .../conversational/ConversationIdService.java | 29 + .../conversational/ConversationalCallback.java | 50 + .../itest/conversational/ConversationalClient.java | 50 + .../ConversationalReferenceClient.java | 36 + .../conversational/ConversationalService.java | 58 + ...ersationalServiceNonConversationalCallback.java | 59 + .../conversational/NonConversationalCallback.java | 42 + .../impl/ConversationAgeComponentImpl.java | 76 + .../impl/ConversationIdComponentImpl.java | 48 + .../impl/ConversationMaxIdleComponentImpl.java | 76 + .../impl/ConversationalClientStatefulImpl.java | 322 + ...lientStatefulNonConversationalCallbackImpl.java | 311 + .../impl/ConversationalClientStatelessImpl.java | 318 + .../impl/ConversationalReferenceClientImpl.java | 43 + .../impl/ConversationalServiceRequestImpl.java | 124 + .../impl/ConversationalServiceStatefulImpl.java | 119 + ...rviceStatefulNonConversationalCallbackImpl.java | 118 + .../impl/ConversationalServiceStatelessImpl.java | 122 + .../ConversationalServiceStatelessScopeImpl.java | 94 + .../Conversational/META-INF/sca-contribution.xml | 22 + .../Conversational/conversational.composite | 169 + .../ConversationalServiceStateful.wsdl | 383 + .../META-INF/sca-contribution.xml | 22 + .../conversationalWSDL.composite | 46 + .../conversational/ConversationWSDLTestCase.java | 75 + .../NonConversationalCallbackTestCase.java | 198 + .../itest/conversational/RequestScopeTestCase.java | 209 + .../conversational/StatefulStatefulTestCase.java | 193 + .../conversational/StatefulStatelessTestCase.java | 193 + .../conversational/StatelessStatefulTestCase.java | 205 + .../conversational/StatelessStatelessTestCase.java | 192 + .../java/sca-node/itest/conversations/pom.xml | 45 + .../java/org/apache/tuscany/sca/itest/Record.java | 29 + .../org/apache/tuscany/sca/itest/TestResult.java | 36 + .../tuscany/sca/itest/conversational/AService.java | 56 + .../tuscany/sca/itest/conversational/Alpha.java | 32 + .../tuscany/sca/itest/conversational/BService.java | 42 + .../tuscany/sca/itest/conversational/Beta.java | 31 + .../tuscany/sca/itest/conversational/CService.java | 42 + .../sca/itest/conversational/Constants.java | 25 + .../conversational/ConversationIdService.java | 29 + .../conversational/ConversationalCallback.java | 50 + .../itest/conversational/ConversationalClient.java | 50 + .../ConversationalReferenceClient.java | 36 + .../conversational/ConversationalService.java | 62 + ...ersationalServiceNonConversationalCallback.java | 62 + .../tuscany/sca/itest/conversational/DService.java | 46 + .../tuscany/sca/itest/conversational/Gamma.java | 41 + .../conversational/NonConversationalCallback.java | 46 + .../itest/conversational/impl/AServiceImpl.java | 111 + .../sca/itest/conversational/impl/AlphaImpl.java | 70 + .../itest/conversational/impl/BServiceImpl.java | 73 + .../sca/itest/conversational/impl/BetaImpl.java | 51 + .../itest/conversational/impl/CServiceImpl.java | 85 + .../impl/ConversationAgeComponentImpl.java | 75 + .../impl/ConversationIdComponentImpl.java | 48 + .../impl/ConversationMaxIdleComponentImpl.java | 75 + .../impl/ConversationalClientStatefulImpl.java | 321 + ...lientStatefulNonConversationalCallbackImpl.java | 310 + .../impl/ConversationalClientStatelessImpl.java | 317 + .../impl/ConversationalReferenceClientImpl.java | 43 + .../impl/ConversationalServiceRequestImpl.java | 123 + .../impl/ConversationalServiceStatefulImpl.java | 117 + ...rviceStatefulNonConversationalCallbackImpl.java | 117 + .../impl/ConversationalServiceStatelessImpl.java | 123 + .../ConversationalServiceStatelessScopeImpl.java | 93 + .../itest/conversational/impl/DServiceImpl.java | 71 + .../sca/itest/conversational/impl/GammaImpl.java | 66 + .../src/main/resources/ConversationAge.composite | 31 + .../main/resources/ConversationUniqueId.composite | 53 + .../src/main/resources/conversationId.composite | 27 + .../main/resources/conversationLifetime.composite | 33 + .../src/main/resources/conversational.composite | 99 + .../conversational/ConversationIdTestCase.java | 54 + .../ConversationLifetimeTestCase.java | 203 + .../ConversationUniqueIdTestCase.java | 71 + .../conversational/ConversationalAgeTestCase.java | 103 + .../conversational/ConversationalJ2SETestCase.java | 84 + .../conversational/ConversationalTestCase.java | 649 + .../sca-node/itest/databindings/common/pom.xml | 126 + .../tuscany/sca/itest/generate/Generate.java | 181 + .../resources/generate/DatabindingTestCase.java.vm | 112 + .../src/main/resources/generate/Greeter.wsdl.vm | 103 + .../main/resources/generate/GreeterService.java.vm | 53 + .../generate/GreeterServiceClient.java.vm | 42 + .../generate/GreeterServiceClientImpl.java.vm | 65 + .../resources/generate/GreeterServiceImpl.java.vm | 55 + .../src/main/resources/generate/generate.xsd | 61 + .../common/src/main/resources/wsdl/Dummy.txt | 4 + .../common/src/main/resources/xsd/Annotation.xml | 24 + .../common/src/main/resources/xsd/Annotation.xsd | 38 + .../common/src/main/resources/xsd/Attribute.xml | 24 + .../common/src/main/resources/xsd/Attribute.xsd | 39 + .../src/main/resources/xsd/AttributeReference.xml | 24 + .../src/main/resources/xsd/AttributeReference.xsd | 40 + .../resources/xsd/AttributeWithDefaultValue.xml | 24 + .../resources/xsd/AttributeWithDefaultValue.xsd | 38 + .../main/resources/xsd/AttributeWithFixedValue.xml | 24 + .../main/resources/xsd/AttributeWithFixedValue.xsd | 38 + .../resources/xsd/AttributeWithSDOAliasName.xml | 24 + .../resources/xsd/AttributeWithSDOAliasName.xsd | 38 + .../resources/xsd/AttributeWithSDODataType.xml | 24 + .../resources/xsd/AttributeWithSDODataType.xsd | 38 + .../main/resources/xsd/AttributeWithSDOName.xml | 24 + .../main/resources/xsd/AttributeWithSDOName.xsd | 38 + ...ibuteWithSDOPropertySDOOppositePropertyType.xml | 24 + ...ibuteWithSDOPropertySDOOppositePropertyType.xsd | 38 + .../resources/xsd/AttributeWithSDOPropertyType.xml | 24 + .../resources/xsd/AttributeWithSDOPropertyType.xsd | 38 + .../main/resources/xsd/AttributeWithSDOString.xml | 24 + .../main/resources/xsd/AttributeWithSDOString.xsd | 38 + .../main/resources/xsd/BuiltInAnySimpleType.xml | 24 + .../main/resources/xsd/BuiltInAnySimpleType.xsd | 31 + .../src/main/resources/xsd/BuiltInAnyType.xml | 24 + .../src/main/resources/xsd/BuiltInAnyType.xsd | 31 + .../src/main/resources/xsd/BuiltInAnyURI.xml | 24 + .../src/main/resources/xsd/BuiltInAnyURI.xsd | 31 + .../src/main/resources/xsd/BuiltInBase64Binary.xml | 24 + .../src/main/resources/xsd/BuiltInBase64Binary.xsd | 31 + .../src/main/resources/xsd/BuiltInBoolean.xml | 27 + .../src/main/resources/xsd/BuiltInBoolean.xsd | 31 + .../common/src/main/resources/xsd/BuiltInByte.xml | 25 + .../common/src/main/resources/xsd/BuiltInByte.xsd | 31 + .../common/src/main/resources/xsd/BuiltInDate.xml | 24 + .../common/src/main/resources/xsd/BuiltInDate.xsd | 31 + .../src/main/resources/xsd/BuiltInDateTime.xml | 24 + .../src/main/resources/xsd/BuiltInDateTime.xsd | 31 + .../src/main/resources/xsd/BuiltInDecimal.xml | 23 + .../src/main/resources/xsd/BuiltInDecimal.xsd | 31 + .../src/main/resources/xsd/BuiltInDouble.xml | 25 + .../src/main/resources/xsd/BuiltInDouble.xsd | 31 + .../src/main/resources/xsd/BuiltInDuration.xml | 24 + .../src/main/resources/xsd/BuiltInDuration.xsd | 31 + .../common/src/main/resources/xsd/BuiltInFloat.xml | 24 + .../common/src/main/resources/xsd/BuiltInFloat.xsd | 31 + .../common/src/main/resources/xsd/BuiltInGDay.xml | 24 + .../common/src/main/resources/xsd/BuiltInGDay.xsd | 31 + .../src/main/resources/xsd/BuiltInGMonth.xml | 24 + .../src/main/resources/xsd/BuiltInGMonth.xsd | 31 + .../src/main/resources/xsd/BuiltInGMonthDay.xml | 24 + .../src/main/resources/xsd/BuiltInGMonthDay.xsd | 31 + .../common/src/main/resources/xsd/BuiltInGYear.xml | 24 + .../common/src/main/resources/xsd/BuiltInGYear.xsd | 31 + .../src/main/resources/xsd/BuiltInGYearMonth.xml | 24 + .../src/main/resources/xsd/BuiltInGYearMonth.xsd | 31 + .../src/main/resources/xsd/BuiltInHexBinary.xml | 24 + .../src/main/resources/xsd/BuiltInHexBinary.xsd | 31 + .../common/src/main/resources/xsd/BuiltInID.xml | 24 + .../common/src/main/resources/xsd/BuiltInID.xsd | 31 + .../common/src/main/resources/xsd/BuiltInIDREF.xml | 24 + .../common/src/main/resources/xsd/BuiltInIDREF.xsd | 31 + .../src/main/resources/xsd/BuiltInIDREFS.xml | 24 + .../src/main/resources/xsd/BuiltInIDREFS.xsd | 31 + .../common/src/main/resources/xsd/BuiltInInt.xml | 25 + .../common/src/main/resources/xsd/BuiltInInt.xsd | 31 + .../src/main/resources/xsd/BuiltInInteger.xml | 25 + .../src/main/resources/xsd/BuiltInInteger.xsd | 31 + .../src/main/resources/xsd/BuiltInLanguage.xml | 24 + .../src/main/resources/xsd/BuiltInLanguage.xsd | 31 + .../common/src/main/resources/xsd/BuiltInLong.xml | 25 + .../common/src/main/resources/xsd/BuiltInLong.xsd | 33 + .../src/main/resources/xsd/BuiltInNCName.xml | 24 + .../src/main/resources/xsd/BuiltInNCName.xsd | 31 + .../src/main/resources/xsd/BuiltInNMTOKEN.xml | 24 + .../src/main/resources/xsd/BuiltInNMTOKEN.xsd | 31 + .../src/main/resources/xsd/BuiltInNMTOKENS.xml | 24 + .../src/main/resources/xsd/BuiltInNMTOKENS.xsd | 31 + .../src/main/resources/xsd/BuiltInNOTATION.xml | 24 + .../src/main/resources/xsd/BuiltInNOTATION.xsd | 39 + .../common/src/main/resources/xsd/BuiltInName.xml | 24 + .../common/src/main/resources/xsd/BuiltInName.xsd | 31 + .../main/resources/xsd/BuiltInNegativeInteger.xml | 24 + .../main/resources/xsd/BuiltInNegativeInteger.xsd | 31 + .../resources/xsd/BuiltInNonNegativeInteger.xml | 24 + .../resources/xsd/BuiltInNonNegativeInteger.xsd | 31 + .../resources/xsd/BuiltInNonPositiveInteger.xml | 24 + .../resources/xsd/BuiltInNonPositiveInteger.xsd | 31 + .../main/resources/xsd/BuiltInNormalizedString.xml | 24 + .../main/resources/xsd/BuiltInNormalizedString.xsd | 31 + .../main/resources/xsd/BuiltInPositiveInteger.xml | 24 + .../main/resources/xsd/BuiltInPositiveInteger.xsd | 31 + .../common/src/main/resources/xsd/BuiltInQName.xml | 24 + .../common/src/main/resources/xsd/BuiltInQName.xsd | 31 + .../common/src/main/resources/xsd/BuiltInShort.xml | 25 + .../common/src/main/resources/xsd/BuiltInShort.xsd | 31 + .../src/main/resources/xsd/BuiltInString.xml | 24 + .../src/main/resources/xsd/BuiltInString.xsd | 31 + .../common/src/main/resources/xsd/BuiltInTime.xml | 24 + .../common/src/main/resources/xsd/BuiltInTime.xsd | 31 + .../common/src/main/resources/xsd/BuiltInToken.xml | 24 + .../common/src/main/resources/xsd/BuiltInToken.xsd | 31 + .../src/main/resources/xsd/BuiltInUnsignedByte.xml | 25 + .../src/main/resources/xsd/BuiltInUnsignedByte.xsd | 31 + .../src/main/resources/xsd/BuiltInUnsignedInt.xml | 25 + .../src/main/resources/xsd/BuiltInUnsignedInt.xsd | 31 + .../src/main/resources/xsd/BuiltInUnsignedLong.xml | 25 + .../src/main/resources/xsd/BuiltInUnsignedLong.xsd | 31 + .../main/resources/xsd/BuiltInUnsignedShort.xml | 25 + .../main/resources/xsd/BuiltInUnsignedShort.xsd | 31 + ...lexTypeComplexContentRestrictingComplexType.xml | 26 + ...lexTypeComplexContentRestrictingComplexType.xsd | 44 + .../xsd/ComplexTypeExtendingComplexType.xml | 27 + .../xsd/ComplexTypeExtendingComplexType.xsd | 43 + .../xsd/ComplexTypeExtendingSimpleType.xml | 24 + .../xsd/ComplexTypeExtendingSimpleType.xsd | 41 + ...plexTypeSimpleContentRestrictingComplexType.xml | 24 + ...plexTypeSimpleContentRestrictingComplexType.xsd | 41 + .../main/resources/xsd/ComplexTypeWithAbstract.xml | 27 + .../main/resources/xsd/ComplexTypeWithAbstract.xsd | 47 + .../main/resources/xsd/ComplexTypeWithCDATA.xml | 30 + .../main/resources/xsd/ComplexTypeWithCDATA.xsd | 39 + .../main/resources/xsd/ComplexTypeWithContent.xml | 26 + .../main/resources/xsd/ComplexTypeWithContent.xsd | 37 + .../main/resources/xsd/ComplexTypeWithMixed.xml | 29 + .../main/resources/xsd/ComplexTypeWithMixed.xsd | 39 + .../xsd/ComplexTypeWithOpenAttributes.xml | 24 + .../xsd/ComplexTypeWithOpenAttributes.xsd | 42 + .../resources/xsd/ComplexTypeWithOpenContent.xml | 31 + .../resources/xsd/ComplexTypeWithOpenContent.xsd | 39 + .../xsd/ComplexTypeWithOppositeProperty.xml | 30 + .../xsd/ComplexTypeWithOppositeProperty.xsd | 59 + .../resources/xsd/ComplexTypeWithSDOAliasName.xml | 26 + .../resources/xsd/ComplexTypeWithSDOAliasName.xsd | 38 + .../main/resources/xsd/ComplexTypeWithSDOName.xml | 26 + .../main/resources/xsd/ComplexTypeWithSDOName.xsd | 38 + .../resources/xsd/ComplexTypeWithSDOSequence.xml | 26 + .../resources/xsd/ComplexTypeWithSDOSequence.xsd | 40 + .../resources/xsd/ComplexTypeWithoutContent.xml | 24 + .../resources/xsd/ComplexTypeWithoutContent.xsd | 33 + .../main/resources/xsd/ComplexTypeWithoutName.xml | 26 + .../main/resources/xsd/ComplexTypeWithoutName.xsd | 39 + .../src/main/resources/xsd/DefaultNamespace.xml | 23 + .../src/main/resources/xsd/DefaultNamespace.xsd | 32 + .../common/src/main/resources/xsd/ElementInAll.xml | 27 + .../common/src/main/resources/xsd/ElementInAll.xsd | 40 + .../src/main/resources/xsd/ElementInChoice.xml | 25 + .../src/main/resources/xsd/ElementInChoice.xsd | 48 + .../xsd/ElementOfSDOChangeSummaryType.xml | 29 + .../xsd/ElementOfSDOChangeSummaryType.xsd | 34 + .../xsd/ElementOfSimpleTypeWithDefault.xml | 24 + .../xsd/ElementOfSimpleTypeWithDefault.xsd | 31 + .../resources/xsd/ElementOfSimpleTypeWithFixed.xml | 24 + .../resources/xsd/ElementOfSimpleTypeWithFixed.xsd | 31 + .../xsd/ElementOfSimpleTypeWithSDODataType.xml | 24 + .../xsd/ElementOfSimpleTypeWithSDODataType.xsd | 33 + ...mentOfSimpleTypeWithSDOOppositePropertyType.xml | 24 + ...mentOfSimpleTypeWithSDOOppositePropertyType.xsd | 33 + .../xsd/ElementOfSimpleTypeWithSDOPropertyType.xml | 24 + .../xsd/ElementOfSimpleTypeWithSDOPropertyType.xsd | 32 + .../xsd/ElementOfSimpleTypeWithSDOString.xml | 24 + .../xsd/ElementOfSimpleTypeWithSDOString.xsd | 32 + .../resources/xsd/ElementSubstitutionGroupBase.xml | 40 + .../resources/xsd/ElementSubstitutionGroupBase.xsd | 52 + .../main/resources/xsd/ElementWithMaxOccurs.xml | 25 + .../main/resources/xsd/ElementWithMaxOccurs.xsd | 31 + .../src/main/resources/xsd/ElementWithNillable.xml | 24 + .../src/main/resources/xsd/ElementWithNillable.xsd | 31 + .../main/resources/xsd/ElementWithSDOAliasName.xml | 24 + .../main/resources/xsd/ElementWithSDOAliasName.xsd | 32 + .../src/main/resources/xsd/ElementWithSDOName.xml | 24 + .../src/main/resources/xsd/ElementWithSDOName.xsd | 32 + .../resources/xsd/GlobalElementComplexType.xml | 24 + .../resources/xsd/GlobalElementComplexType.xsd | 31 + .../main/resources/xsd/GlobalElementSimpleType.xml | 24 + .../main/resources/xsd/GlobalElementSimpleType.xsd | 26 + .../common/src/main/resources/xsd/Import.xml | 30 + .../common/src/main/resources/xsd/Import.xsd | 40 + .../src/main/resources/xsd/ImportedSchema.xsd | 33 + .../common/src/main/resources/xsd/Include.xml | 24 + .../common/src/main/resources/xsd/Include.xsd | 36 + .../common/src/main/resources/xsd/Interop.xsd | 138 + .../common/src/main/resources/xsd/Notation.xml | 24 + .../common/src/main/resources/xsd/Notation.xsd | 35 + .../common/src/main/resources/xsd/Person.xsd | 30 + .../src/main/resources/xsd/SDOJavaPackage.xml | 25 + .../src/main/resources/xsd/SDOJavaPackage.xsd | 39 + .../main/resources/xsd/SimpleTypeWithAbstract.xml | 24 + .../main/resources/xsd/SimpleTypeWithAbstract.xsd | 40 + .../xsd/SimpleTypeWithExtendedInstanceClass.xml | 24 + .../xsd/SimpleTypeWithExtendedInstanceClass.xsd | 36 + .../resources/xsd/SimpleTypeWithInstanceClass.xml | 24 + .../resources/xsd/SimpleTypeWithInstanceClass.xsd | 37 + .../src/main/resources/xsd/SimpleTypeWithList.xml | 24 + .../src/main/resources/xsd/SimpleTypeWithList.xsd | 37 + .../src/main/resources/xsd/SimpleTypeWithName.xml | 24 + .../src/main/resources/xsd/SimpleTypeWithName.xsd | 36 + .../main/resources/xsd/SimpleTypeWithSDOName.xml | 24 + .../main/resources/xsd/SimpleTypeWithSDOName.xsd | 37 + .../src/main/resources/xsd/SimpleTypeWithUnion.xml | 25 + .../src/main/resources/xsd/SimpleTypeWithUnion.xsd | 46 + .../main/resources/xsd/SimpleTypeWithoutName.xml | 26 + .../main/resources/xsd/SimpleTypeWithoutName.xsd | 38 + .../src/main/resources/xsd/TargetNamespace.xml | 24 + .../src/main/resources/xsd/TargetNamespace.xsd | 34 + .../common/src/main/resources/xsd/datagraph.xsd | 88 + .../common/src/main/resources/xsd/sdoJava.xsd | 88 + .../common/src/main/resources/xsd/sdoModel.xsd | 221 + .../sca/itest/generate/GenerateTestCase.java | 49 + .../java/sca-node/itest/databindings/config.png | Bin 0 -> 31222 bytes .../java/sca-node/itest/databindings/config.svg | 117 + .../sca-node/itest/databindings/databinding.png | Bin 0 -> 14106 bytes .../sca-node/itest/databindings/databinding.svg | 242 + .../java/sca-node/itest/databindings/interop.png | Bin 0 -> 23179 bytes .../java/sca-node/itest/databindings/interop.svg | 352 + .../sca-node/itest/databindings/interop/pom.xml | 223 + .../generate/InteropDatabindingTestCase.java.vm | 113 + .../main/resources/generate/JAXBGreeter.wsdl.vm | 103 + .../src/main/resources/generate/SDOGreeter.wsdl.vm | 103 + .../src/main/resources/generate/generate.xml | 159 + .../resources/generate/interopgreeter.composite.vm | 78 + .../itest/databindings/jaxb-bottom-up/pom.xml | 239 + .../tuscany/sca/itest/databindings/jaxb/Bean1.java | 63 + .../sca/itest/databindings/jaxb/Bean10.java | 25 + .../sca/itest/databindings/jaxb/Bean11.java | 25 + .../tuscany/sca/itest/databindings/jaxb/Bean2.java | 56 + .../tuscany/sca/itest/databindings/jaxb/Bean3.java | 56 + .../sca/itest/databindings/jaxb/Bean31.java | 56 + .../databindings/jaxb/GenericsLocalService.java | 42 + .../itest/databindings/jaxb/GenericsService.java | 30 + .../databindings/jaxb/GenericsServiceClient.java | 43 + .../databindings/jaxb/HelloLocalServiceSimple.java | 57 + .../databindings/jaxb/HelloServiceSimple.java | 29 + .../jaxb/HelloServiceSimpleClient.java | 38 + .../databindings/jaxb/PrimitivesLocalService.java | 47 + .../itest/databindings/jaxb/PrimitivesService.java | 29 + .../databindings/jaxb/PrimitivesServiceClient.java | 48 + .../jaxb/StandardTypesLocalService.java | 78 + .../databindings/jaxb/StandardTypesService.java | 30 + .../jaxb/StandardTypesServiceClient.java | 79 + .../jaxb/impl/GenericsLocalServiceClientImpl.java | 77 + .../jaxb/impl/GenericsServiceClientImpl.java | 40 + .../jaxb/impl/GenericsServiceImpl.java | 69 + .../jaxb/impl/GenericsTransformer.java | 125 + .../impl/HelloLocalServiceSimpleClientImpl.java | 73 + .../jaxb/impl/HelloServiceSimpleClientImpl.java | 38 + .../jaxb/impl/HelloServiceSimpleImpl.java | 112 + .../impl/PrimitivesLocalServiceClientImpl.java | 138 + .../jaxb/impl/PrimitivesServiceClientImpl.java | 38 + .../jaxb/impl/PrimitivesServiceImpl.java | 151 + .../impl/StandardTypesLocalServiceClientImpl.java | 157 + .../jaxb/impl/StandardTypesServiceClientImpl.java | 38 + .../jaxb/impl/StandardTypesServiceImpl.java | 208 + .../jaxb/impl/StandardTypesTransformer.java | 144 + .../jaxb/impl/jaxws/GetGreetingsList.java | 60 + .../jaxb/impl/jaxws/GetGreetingsListResponse.java | 60 + .../src/main/resources/generics-service.composite | 69 + .../src/main/resources/helloservice.composite | 65 + .../src/main/resources/primitivesservice.composite | 66 + .../resources/standard-types-service.composite | 66 + .../databindings/jaxb/DatabindingTestCase.java | 339 + .../jaxb/GenericsDatabindingTestCase.java | 484 + .../jaxb/PrimitivesDatabindingTestCase.java | 776 ++ .../jaxb/StandardTypesDatabindingTestCase.java | 1439 +++ .../sca-node/itest/databindings/jaxbgen/pom.xml | 262 + .../src/main/resources/generate/generate.xml | 172 + .../jaxbgen/src/main/resources/greeter.composite | 49 + .../java/sca-node/itest/databindings/pom.xml | 46 + .../java/sca-node/itest/databindings/readme.html | 157 + .../sca-node/itest/databindings/sdogen/pom.xml | 251 + .../src/main/resources/generate/generate.xml | 170 + .../main/resources/generate/greeter.composite.vm | 56 + .../sebastien/java/sca-node/itest/domain/pom.xml | 100 + .../src/main/java/calculator/AddService.java | 31 + .../src/main/java/calculator/AddServiceImpl.java | 31 + .../main/java/calculator/AddServiceUpdateImpl.java | 31 + .../main/java/calculator/CalculatorService.java | 38 + .../java/calculator/CalculatorServiceImpl.java | 74 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 31 + .../main/java/calculator/SubtractServiceImpl.java | 31 + .../resources/contributionA/Calculator.composite | 44 + .../contributionA/META-INF/sca-contribution.xml | 24 + .../META-INF/sca-deployables/Calculator.composite | 45 + .../META-INF/sca-deployables/Calculator.composite | 32 + .../contributionDependent/Calculator.composite | 36 + .../META-INF/sca-contribution.xml | 24 + .../contributionPrimary/Calculator.composite | 57 + .../META-INF/sca-contribution.xml | 25 + .../sca/itest/domain/ContributionSPIsTestCase.java | 279 + .../itest/exceptions-cross-binding-ws/pom.xml | 243 + .../test/exceptions/impl/StockExchangeJaxB.java | 71 + .../sca/test/exceptions/impl/StockTraderSDO.java | 39 + .../test/exceptions/impl/StockTraderSDOImpl.java | 136 + .../sdohandgen/InvalidSymbolSDOException.java | 84 + .../sdohandgen/MarketClosedSDOException.java | 76 + .../exceptions/sdohandgen/StockExceptionTest.java | 45 + .../src/main/resources/ExceptionTest.composite | 23 + .../src/main/resources/intracomposite.composite | 42 + .../main/resources/wsdl/StockExceptionTest.wsdl | 148 + .../src/main/resources/xsd/StockExceptionTest.xsd | 65 + .../test/exceptions/IntraCompositeTestCase.java | 102 + .../itest/exceptions-cross-binding/pom.xml | 234 + .../exceptions/impl/StockExceptionTestJAXB.java | 31 + .../test/exceptions/impl/StockExchangeJaxB.java | 76 + .../sca/test/exceptions/impl/StockTraderSDO.java | 37 + .../test/exceptions/impl/StockTraderSDOImpl.java | 119 + .../sdohandgen/InvalidSymbolSDOException.java | 84 + .../sdohandgen/MarketClosedSDOException.java | 75 + .../exceptions/sdohandgen/StockExceptionTest.java | 45 + .../src/main/resources/ExceptionTest.composite | 25 + .../src/main/resources/intracomposite.composite | 35 + .../resources/wsdl.sdo/StockExceptionTest.wsdl | 141 + .../main/resources/wsdl/StockExceptionTest.wsdl | 148 + .../src/main/resources/xsd/StockExceptionTest.xsd | 65 + .../test/exceptions/IntraCompositeTestCase.java | 93 + .../sca-node/itest/exceptions-simple-ws/pom.xml | 59 + .../main/java/com/example/BusinessException.java | 43 + .../src/main/java/com/example/ExampleClient.java | 23 + .../main/java/com/example/ExampleClientImpl.java | 44 + .../src/main/java/com/example/ExampleService.java | 27 + .../main/java/com/example/ExampleServiceImpl.java | 26 + .../src/main/resources/example.composite | 40 + .../src/main/resources/wsdl/ExampleService.wsdl | 126 + .../src/test/java/com/example/ExampleTestCase.java | 44 + .../java/sca-node/itest/exceptions/pom.xml | 45 + .../tuscany/sca/test/exceptions/Checked.java | 58 + .../sca/test/exceptions/ExceptionHandler.java | 32 + .../test/exceptions/ExceptionRemoteThrower.java | 30 + .../sca/test/exceptions/ExceptionThrower.java | 38 + .../tuscany/sca/test/exceptions/UnChecked.java | 57 + .../test/exceptions/impl/ExceptionHandlerImpl.java | 115 + .../impl/ExceptionRemoteThrowerImpl.java | 44 + .../test/exceptions/impl/ExceptionThrowerImpl.java | 45 + .../impl/RemoteExceptionHandlerImpl.java | 116 + .../src/main/resources/ExceptionTest.composite | 41 + .../sca/test/exceptions/ExceptionsTestCase.java | 73 + .../java/sca-node/itest/extended-api/pom.xml | 51 + .../tuscany/sca/test/extended/BasicService.java | 26 + .../tuscany/sca/test/extended/MathService.java | 25 + .../sca/test/extended/impl/BasicServiceImpl.java | 45 + .../sca/test/extended/impl/MathServiceImpl.java | 31 + .../src/main/resources/BasicService.composite | 29 + .../src/main/resources/MathService.composite | 29 + .../sca/test/extended/ServiceLocateTestCase.java | 73 + .../java/sca-node/itest/interfaces/pom.xml | 46 + .../itest/interfaces/LocalCallbackInterface.java | 31 + .../sca/itest/interfaces/LocalClientComponent.java | 47 + .../itest/interfaces/LocalClientComponentImpl.java | 83 + .../itest/interfaces/LocalServiceComponent.java | 37 + .../interfaces/LocalServiceComponentImpl.java | 49 + .../sca/itest/interfaces/ParameterObject.java | 47 + .../itest/interfaces/RemoteCallbackInterface.java | 33 + .../itest/interfaces/RemoteClientComponent.java | 63 + .../interfaces/RemoteClientComponentImpl.java | 81 + .../itest/interfaces/RemoteServiceComponent.java | 38 + .../interfaces/RemoteServiceComponentImpl.java | 54 + .../src/main/resources/InterfacesTest.composite | 40 + .../sca/itest/interfaces/InterfacesTestCase.java | 126 + .../sca-node/itest/interop-soap-client/pom.xml | 126 + .../LoopbackInteropDocServiceComponentImpl.java | 46 + .../src/main/resources/default.composite | 35 + .../src/main/resources/wsdl/interopdoc.wsdl | 195 + .../interop/client/InteropDocClientTestCase.java | 144 + .../itest/interop-soap-round2-client/pom.xml | 124 + .../test/interop/client/InteropTestDocLit.java | 44 + .../src/main/resources/default.composite | 38 + .../src/main/resources/wsdl/interoptestdoclit.wsdl | 155 + .../interop/client/InteropTestDocLitTestCase.java | 133 + .../sca-node/itest/interop-soap-service/pom.xml | 137 + .../server/InteropDocServiceComponentImpl.java | 47 + .../src/main/resources/wsdl/interopdoc.wsdl | 180 + .../src/main/webapp/META-INF/sca/default.scdl | 42 + .../src/main/webapp/WEB-INF/web.xml | 51 + .../java/sca-node/itest/interop-soap-service/t.bat | 34 + sandbox/sebastien/java/sca-node/itest/jms/pom.xml | 85 + .../tuscany/sca/binding/jms/CheckedExcpetion.java | 28 + .../tuscany/sca/binding/jms/ExceptionService.java | 30 + .../sca/binding/jms/ExceptionServiceClient.java | 45 + .../sca/binding/jms/ExceptionServiceImpl.java | 32 + .../sca/binding/jms/HelloWorldClientImpl.java | 41 + .../tuscany/sca/binding/jms/HelloWorldService.java | 26 + .../sca/binding/jms/HelloWorldServiceImpl.java | 30 + .../tuscany/sca/binding/jms/OneWayClientImpl.java | 41 + .../sca/binding/jms/OneWayObjectService.java | 29 + .../sca/binding/jms/OneWayObjectServiceImpl.java | 34 + .../tuscany/sca/binding/jms/OneWayService.java | 29 + .../tuscany/sca/binding/jms/OneWayServiceImpl.java | 34 + .../sca/binding/jms/TestMessageProcessor.java | 57 + .../src/main/resources/defaults/client.composite | 33 + .../src/main/resources/defaults/service.composite | 30 + .../src/main/resources/dynamic/client.composite | 36 + .../src/main/resources/exceptions/client.composite | 33 + .../main/resources/exceptions/service.composite | 30 + .../src/main/resources/external/client.composite | 38 + .../src/main/resources/external/service.composite | 35 + .../itest/jms/src/main/resources/jndi.properties | 39 + .../main/resources/nonSCAclient/service.composite | 50 + .../main/resources/oneway/OneWayClient.composite | 35 + .../main/resources/oneway/OneWayService.composite | 32 + .../jms/src/main/resources/simple/client.composite | 38 + .../src/main/resources/simple/mpclient.composite | 38 + .../src/main/resources/simple/service.composite | 35 + .../src/main/resources/simple/uriclient.composite | 33 + .../tuscany/sca/binding/jms/DefaultsTestCase.java | 54 + .../sca/binding/jms/DynamicReplyQTestCase.java | 53 + .../sca/binding/jms/ExceptionsTestCase.java | 70 + .../sca/binding/jms/ExternalBrokerTestCase.java | 70 + .../sca/binding/jms/MessageProcessorTestCase.java | 58 + .../sca/binding/jms/NonSCAClientTestCase.java | 139 + .../tuscany/sca/binding/jms/OneWayTestCase.java | 58 + .../tuscany/sca/binding/jms/RPCTestCase.java | 54 + .../tuscany/sca/binding/jms/URIRPCTestCase.java | 54 + .../java/sca-node/itest/large-sdo-ws/pom.xml | 141 + .../tuscany/sca/itest/trninq/TrnInqClient.java | 43 + .../tuscany/sca/itest/trninq/TrnInqService.java | 112 + .../tuscany/sca/itest/trninq/TrninqInterface.java | 38 + .../main/resources/META-INF/sca-contribution.xml | 23 + .../src/main/resources/trnInq.composite | 39 + .../src/main/resources/wsdl/IFX170_XSD.xsd | 146 + .../src/main/resources/wsdl/trninq.wsdl | 57 + .../test/java/trninq/TrnInqServiceTestCase.java | 87 + .../itest/late-reference-resolution/pom.xml | 126 + .../src/main/java/calculator/AddService.java | 31 + .../src/main/java/calculator/AddServiceImpl.java | 31 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 74 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 31 + .../main/java/calculator/SubtractServiceImpl.java | 31 + ...ny.sca.endpointresolver.EndpointResolverFactory | 19 + .../src/main/resources/nodeA/Calculator.composite | 41 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeB/Calculator.composite | 32 + .../resources/nodeB/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeC/Calculator.composite | 32 + .../resources/nodeC/META-INF/sca-contribution.xml | 24 + .../sca/BindingScaEndpointResolverFactoryImpl.java | 50 + .../sca/BindingScaEndpointResolverImpl.java | 72 + .../LateReferenceResolutionTestCase.java | 97 + .../src/test/java/calculator/TestRegistryImpl.java | 40 + .../sebastien/java/sca-node/itest/oneway/build.xml | 127 + .../sebastien/java/sca-node/itest/oneway/pom.xml | 59 + .../tuscany/sca/itest/oneway/OneWayClient.java | 40 + .../tuscany/sca/itest/oneway/OneWayService.java | 47 + .../sca/itest/oneway/impl/OneWayClientImpl.java | 64 + .../sca/itest/oneway/impl/OneWayServiceImpl.java | 68 + .../META-INF/sca-deployables/oneWay.composite | 58 + .../tuscany/sca/itest/oneway/OneWayTestCase.java | 241 + .../sca-node/itest/operation-overloading/pom.xml | 45 + .../sca/test/opoverload/OverloadASourceTarget.java | 61 + .../sca/test/opoverload/impl/OverloadASource.java | 113 + .../sca/test/opoverload/impl/OverloadATarget.java | 99 + .../src/main/resources/OperationOverload.composite | 34 + .../test/opoverload/impl/OverloadATestCase.java | 84 + .../contribution-classes-v2/build-bundles.xml | 39 + .../contribution-classes-v2/pom.xml | 211 + .../src/main/java/supplychain/OSGiBundleImpl.java | 121 + .../main/java/supplychain/customer/Customer.java | 33 + .../customer/JavaCustomerComponentImpl.java | 55 + .../customer/OSGiCustomerComponentImpl.java | 51 + .../supplychain/customer/OSGiCustomerImpl.java | 47 + .../retailer/JavaRetailerComponentImpl.java | 57 + .../retailer/OSGiRetailerComponentImpl.java | 46 + .../supplychain/retailer/OSGiRetailerImpl.java | 44 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../shipper/JavaShipperComponentImpl.java | 52 + .../shipper/OSGiShipperComponentImpl.java | 45 + .../java/supplychain/shipper/OSGiShipperImpl.java | 42 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 51 + .../warehouse/OSGiWarehouseComponentImpl.java | 47 + .../supplychain/warehouse/OSGiWarehouseImpl.java | 44 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../src/main/resources/Customer2V2.componentType | 28 + .../src/main/resources/CustomerV2.componentType | 28 + .../META-INF/customer-sca-contribution.xml | 32 + .../META-INF/retailer-sca-contribution.xml | 29 + .../META-INF/shipper-sca-contribution.xml | 27 + .../META-INF/supplychain-sca-contribution.xml | 24 + .../META-INF/warehouse-sca-contribution.xml | 28 + .../src/main/resources/RetailerV2.componentType | 28 + .../src/main/resources/ShipperV2.componentType | 28 + .../src/main/resources/WarehouseV2.componentType | 28 + .../src/main/resources/osgi/Customer.mf | 13 + .../src/main/resources/osgi/Customer2.mf | 13 + .../src/main/resources/osgi/Retailer.mf | 10 + .../src/main/resources/osgi/RetailerJar.mf | 1 + .../src/main/resources/osgi/Shipper.mf | 10 + .../src/main/resources/osgi/SupplyChain.mf | 13 + .../src/main/resources/osgi/Warehouse.mf | 10 + .../src/main/resources/supplychain.composite | 67 + .../contribution-classes/build-bundles.xml | 39 + .../osgi-contribution/contribution-classes/pom.xml | 212 + .../src/main/java/supplychain/OSGiBundleImpl.java | 121 + .../main/java/supplychain/customer/Customer.java | 33 + .../customer/JavaCustomerComponentImpl.java | 55 + .../customer/OSGiCustomerComponentImpl.java | 51 + .../supplychain/customer/OSGiCustomerImpl.java | 47 + .../retailer/JavaRetailerComponentImpl.java | 57 + .../retailer/OSGiRetailerComponentImpl.java | 46 + .../supplychain/retailer/OSGiRetailerImpl.java | 44 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../shipper/JavaShipperComponentImpl.java | 52 + .../shipper/OSGiShipperComponentImpl.java | 45 + .../java/supplychain/shipper/OSGiShipperImpl.java | 42 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 51 + .../warehouse/OSGiWarehouseComponentImpl.java | 47 + .../supplychain/warehouse/OSGiWarehouseImpl.java | 44 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../src/main/resources/Customer2V1.componentType | 28 + .../src/main/resources/CustomerV1.componentType | 28 + .../META-INF/customer-sca-contribution.xml | 30 + .../META-INF/retailer-sca-contribution.xml | 26 + .../META-INF/shipper-sca-contribution.xml | 26 + .../META-INF/supplychain-sca-contribution.xml | 24 + .../META-INF/warehouse-sca-contribution.xml | 26 + .../src/main/resources/RetailerV1.componentType | 28 + .../src/main/resources/ShipperV1.componentType | 28 + .../src/main/resources/WarehouseV1.componentType | 28 + .../src/main/resources/osgi/Customer.mf | 13 + .../src/main/resources/osgi/Customer2.mf | 13 + .../src/main/resources/osgi/Retailer.mf | 10 + .../src/main/resources/osgi/RetailerJar.mf | 1 + .../src/main/resources/osgi/Shipper.mf | 10 + .../src/main/resources/osgi/SupplyChain.mf | 13 + .../src/main/resources/osgi/Warehouse.mf | 10 + .../src/main/resources/supplychain.composite | 66 + .../osgi-contribution/contribution-test/pom.xml | 98 + .../sca/contribution/osgi/OSGiTestUtil.java | 73 + .../osgi/test/MixedContributionTestCase.java | 43 + .../osgi/test/NestedBundleTestCase.java | 182 + .../osgi/test/OSGiResolverTestCase.java | 257 + .../osgi/test/SCAResolverTestCase.java | 240 + .../resources/osgi/felix/felix.config.properties | 44 + .../java/sca-node/itest/osgi-contribution/pom.xml | 52 + .../itest/osgi-implementation/build-bundles.xml | 48 + .../sca-node/itest/osgi-implementation/pom.xml | 1226 ++ .../java/callback/client/CallbackCallback.java | 33 + .../main/java/callback/client/CallbackClient.java | 31 + .../callback/client/JavaCallbackClientImpl.java | 141 + .../callback/client/OSGiCallbackClientImpl.java | 181 + .../java/callback/service/CallbackService.java | 39 + .../callback/service/JavaCallbackServiceImpl.java | 68 + .../callback/service/OSGiCallbackServiceImpl.java | 95 + .../client/ConversationalCallback.java | 50 + .../conversation/client/ConversationalClient.java | 51 + .../client/ConversationalClientActivator.java | 105 + .../client/ConversationalClientServiceFactory.java | 135 + .../client/ConversationalClientStatefulImpl.java | 254 + .../client/ConversationalClientStatelessImpl.java | 253 + .../ConversationalReferenceClient.java | 38 + .../ConversationalReferenceClientActivator.java | 66 + .../ConversationalReferenceClientImpl.java | 45 + .../service/ConversationalService.java | 65 + .../service/ConversationalServiceActivator.java | 76 + .../service/ConversationalServiceFactory.java | 52 + .../service/ConversationalServiceStatefulImpl.java | 121 + .../ConversationalServiceStatelessImpl.java | 127 + .../src/main/java/helloworld/Greetings.java | 36 + .../src/main/java/helloworld/HelloWorld.java | 29 + .../java/helloworld/JavaGreetingsComponent.java | 73 + .../java/helloworld/JavaHelloWorldComponent.java | 41 + .../main/java/helloworld/OSGiGreetingsImpl.java | 112 + .../main/java/helloworld/OSGiHelloWorldImpl.java | 81 + .../java/helloworld/sdo/HelloWorldService.java | 30 + .../helloworld/sdo/HelloWorldServiceComponent.java | 33 + .../helloworld/sdo/client/HelloWorldClient.java | 30 + .../sdo/client/HelloWorldClientComponent.java | 50 + .../src/main/java/helloworld/ws/HelloWorld.java | 29 + .../main/java/helloworld/ws/HelloWorldService.java | 28 + .../stockquote/OSGiStockQuoteComponentImpl.java | 86 + .../java/stockquote/OSGiStockQuoteFactoryImpl.java | 65 + .../main/java/stockquote/OSGiStockQuoteImpl.java | 119 + .../src/main/java/stockquote/StockQuote.java | 31 + .../src/main/java/supplychain/OSGiBundleImpl.java | 163 + .../main/java/supplychain/customer/Customer.java | 39 + .../customer/JavaCustomerComponentImpl.java | 88 + .../customer/OSGiCustomerComponentImpl.java | 106 + .../customer/OSGiCustomerFactoryImpl.java | 65 + .../supplychain/customer/OSGiCustomerImpl.java | 92 + .../OSGiCustomerWithQueryComponentImpl.java | 100 + .../customer/OSGiCustomerWithQueryImpl.java | 82 + .../OSGiStatelessCustomerComponentImpl.java | 30 + .../customer/OSGiStatelessCustomerImpl.java | 35 + .../customer/OSGiVersionedCustomerImpl.java | 98 + .../retailer/JavaRetailerComponentImpl.java | 67 + .../retailer/OSGiRetailerComponentImpl.java | 64 + .../supplychain/retailer/OSGiRetailerImpl.java | 58 + .../retailer/OSGiRetailerServiceImpl.java | 45 + .../OSGiRetailerWithQueryComponentImpl.java | 78 + .../retailer/OSGiRetailerWithQueryImpl.java | 64 + .../retailer/OSGiVersionedRetailerImpl.java | 75 + .../retailer/OSGiVersionedRetailerServiceImpl.java | 47 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../java/supplychain/retailer/RetailerQuery.java | 28 + .../shipper/JavaShipperComponentImpl.java | 58 + .../shipper/OSGiShipperComponentImpl.java | 62 + .../shipper/OSGiShipperFactoryImpl.java | 78 + .../java/supplychain/shipper/OSGiShipperImpl.java | 57 + .../shipper/OSGiShipperServiceImpl.java | 43 + .../shipper/OSGiStatelessShipperComponentImpl.java | 30 + .../shipper/OSGiStatelessShipperServiceImpl.java | 35 + .../shipper/OSGiVersionedShipperImpl.java | 78 + .../shipper/OSGiVersionedShipperServiceImpl.java | 46 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 48 + .../JavaWarehouseWithQueryComponentImpl.java | 52 + .../warehouse/OSGiWarehouseComponentImpl.java | 57 + .../supplychain/warehouse/OSGiWarehouseImpl.java | 68 + .../warehouse/OSGiWarehouseServiceImpl.java | 62 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../java/supplychain/warehouse/WarehouseQuery.java | 28 + .../callback/CallbackClient.componentType | 31 + .../callback/CallbackService.componentType | 27 + .../resources/callback/callback-test1.composite | 39 + .../resources/callback/callback-test2.composite | 41 + .../resources/callback/callback-test3.composite | 38 + .../ConversationalClient.componentType | 37 + .../ConversationalReferenceClient.componentType | 28 + .../ConversationalService.componentType | 29 + .../conversation/conversation-test.composite | 162 + .../main/resources/factory/Customer.componentType | 34 + .../main/resources/factory/Retailer.componentType | 29 + .../main/resources/factory/Shipper.componentType | 29 + .../main/resources/factory/Warehouse.componentType | 28 + .../resources/factory/ds/Customer.componentType | 34 + .../resources/factory/ds/Retailer.componentType | 29 + .../resources/factory/ds/Shipper.componentType | 29 + .../resources/factory/ds/Warehouse.componentType | 28 + .../resources/factory/ds/factory-ds-test.composite | 130 + .../main/resources/factory/factory-test.composite | 116 + .../resources/helloworld/Greetings.componentType | 30 + .../resources/helloworld/HelloWorld.componentType | 31 + .../resources/interfaces/Customer.componentType | 31 + .../resources/interfaces/Retailer.componentType | 35 + .../resources/interfaces/Shipper.componentType | 29 + .../resources/interfaces/Warehouse.componentType | 31 + .../resources/interfaces/ds/Customer.componentType | 31 + .../resources/interfaces/ds/Retailer.componentType | 35 + .../resources/interfaces/ds/Shipper.componentType | 29 + .../interfaces/ds/Warehouse.componentType | 31 + .../interfaces/ds/interfaces-ds-test.composite | 57 + .../resources/interfaces/interfaces-test.composite | 57 + .../main/resources/osgi/callback/CallbackClient.mf | 10 + .../resources/osgi/callback/CallbackService.mf | 10 + .../osgi/conversation/ConversationalClient.mf | 11 + .../conversation/ConversationalReferenceClient.mf | 11 + .../osgi/conversation/ConversationalService.mf | 11 + .../src/main/resources/osgi/factory/Customer.mf | 11 + .../src/main/resources/osgi/factory/Retailer.mf | 10 + .../src/main/resources/osgi/factory/Shipper.mf | 10 + .../src/main/resources/osgi/factory/ds/Customer.mf | 10 + .../main/resources/osgi/factory/ds/Customer.xml | 41 + .../src/main/resources/osgi/factory/ds/Retailer.mf | 11 + .../main/resources/osgi/factory/ds/Retailer1.xml | 32 + .../main/resources/osgi/factory/ds/Retailer2.xml | 32 + .../src/main/resources/osgi/factory/ds/Shipper.mf | 10 + .../main/resources/osgi/factory/ds/Shipper1.xml | 34 + .../main/resources/osgi/factory/ds/Shipper2.xml | 34 + .../main/resources/osgi/factory/ds/Warehouse.mf | 11 + .../main/resources/osgi/factory/ds/Warehouse.xml | 32 + .../src/main/resources/osgi/interfaces/Customer.mf | 11 + .../src/main/resources/osgi/interfaces/Retailer.mf | 10 + .../src/main/resources/osgi/interfaces/Shipper.mf | 10 + .../main/resources/osgi/interfaces/ds/Customer.mf | 10 + .../main/resources/osgi/interfaces/ds/Customer.xml | 43 + .../main/resources/osgi/interfaces/ds/Retailer.mf | 11 + .../main/resources/osgi/interfaces/ds/Retailer.xml | 39 + .../main/resources/osgi/interfaces/ds/Shipper.mf | 10 + .../main/resources/osgi/interfaces/ds/Shipper.xml | 34 + .../src/main/resources/osgi/passbyref/Greetings.mf | 11 + .../osgi/properties/ManagedStockQuoteFactory.mf | 11 + .../main/resources/osgi/properties/StockQuote.mf | 10 + .../resources/osgi/properties/StockQuoteFactory.mf | 11 + .../resources/osgi/properties/ds/StockQuote.mf | 12 + .../resources/osgi/properties/ds/StockQuote.xml | 27 + .../osgi/properties/ds/StockQuoteFactory.mf | 12 + .../osgi/properties/ds/StockQuoteFactory.xml | 27 + .../main/resources/osgi/sdo/ds/HelloWorldClient.mf | 14 + .../resources/osgi/sdo/ds/HelloWorldClient.xml | 33 + .../resources/osgi/sdo/ds/HelloWorldService.mf | 13 + .../resources/osgi/sdo/ds/HelloWorldService.xml | 25 + .../src/main/resources/osgi/services/Customer.mf | 11 + .../src/main/resources/osgi/services/Retailer.mf | 10 + .../src/main/resources/osgi/services/Shipper.mf | 10 + .../src/main/resources/osgi/services/Warehouse.mf | 10 + .../main/resources/osgi/services/ds/Customer.mf | 10 + .../main/resources/osgi/services/ds/Customer.xml | 41 + .../main/resources/osgi/services/ds/Retailer.mf | 11 + .../main/resources/osgi/services/ds/Retailer1.xml | 32 + .../main/resources/osgi/services/ds/Retailer2.xml | 32 + .../src/main/resources/osgi/services/ds/Shipper.mf | 10 + .../main/resources/osgi/services/ds/Shipper1.xml | 34 + .../main/resources/osgi/services/ds/Shipper2.xml | 34 + .../main/resources/osgi/services/ds/Warehouse.mf | 11 + .../main/resources/osgi/services/ds/Warehouse1.xml | 32 + .../main/resources/osgi/services/ds/Warehouse2.xml | 32 + .../src/main/resources/osgi/version/Customer1.mf | 11 + .../src/main/resources/osgi/version/Customer2.mf | 11 + .../src/main/resources/osgi/version/Retailer1.mf | 10 + .../src/main/resources/osgi/version/Retailer2.mf | 10 + .../src/main/resources/osgi/version/Shipper1.mf | 10 + .../src/main/resources/osgi/version/Shipper2.mf | 10 + .../src/main/resources/osgi/version/Warehouse1.mf | 10 + .../src/main/resources/osgi/version/Warehouse2.mf | 10 + .../main/resources/osgi/version/ds/Customer1.mf | 10 + .../main/resources/osgi/version/ds/Customer2.mf | 10 + .../main/resources/osgi/version/ds/CustomerV1.xml | 41 + .../main/resources/osgi/version/ds/CustomerV2.xml | 41 + .../main/resources/osgi/version/ds/Retailer1.mf | 11 + .../main/resources/osgi/version/ds/Retailer1V1.xml | 34 + .../main/resources/osgi/version/ds/Retailer1V2.xml | 34 + .../main/resources/osgi/version/ds/Retailer2.mf | 11 + .../main/resources/osgi/version/ds/Retailer2V1.xml | 33 + .../main/resources/osgi/version/ds/Retailer2V2.xml | 33 + .../src/main/resources/osgi/version/ds/Shipper1.mf | 10 + .../main/resources/osgi/version/ds/Shipper1V1.xml | 35 + .../main/resources/osgi/version/ds/Shipper1V2.xml | 35 + .../src/main/resources/osgi/version/ds/Shipper2.mf | 10 + .../main/resources/osgi/version/ds/Shipper2V1.xml | 35 + .../main/resources/osgi/version/ds/Shipper2V2.xml | 35 + .../main/resources/osgi/version/ds/Warehouse1.mf | 11 + .../resources/osgi/version/ds/Warehouse1V1.xml | 32 + .../resources/osgi/version/ds/Warehouse1V2.xml | 32 + .../main/resources/osgi/version/ds/Warehouse2.mf | 11 + .../resources/osgi/version/ds/Warehouse2V1.xml | 32 + .../resources/osgi/version/ds/Warehouse2V2.xml | 32 + .../src/main/resources/osgi/wiring/Customer.mf | 11 + .../src/main/resources/osgi/wiring/Retailer.mf | 10 + .../src/main/resources/osgi/wiring/Shipper.mf | 10 + .../src/main/resources/osgi/wiring/Warehouse.mf | 10 + .../src/main/resources/osgi/wiring/ds/Customer.mf | 10 + .../src/main/resources/osgi/wiring/ds/Customer.xml | 41 + .../src/main/resources/osgi/wiring/ds/Retailer.mf | 11 + .../main/resources/osgi/wiring/ds/Retailer1.xml | 33 + .../main/resources/osgi/wiring/ds/Retailer2.xml | 33 + .../src/main/resources/osgi/wiring/ds/Shipper.mf | 10 + .../src/main/resources/osgi/wiring/ds/Shipper1.xml | 35 + .../src/main/resources/osgi/wiring/ds/Shipper2.xml | 34 + .../src/main/resources/osgi/wiring/ds/Warehouse.mf | 11 + .../main/resources/osgi/wiring/ds/Warehouse1.xml | 33 + .../main/resources/osgi/wiring/ds/Warehouse2.xml | 33 + .../src/main/resources/osgi/ws/HelloWorld.mf | 12 + .../resources/passbyref/Greetings.componentType | 30 + .../resources/passbyref/passbyref-test.composite | 39 + .../resources/properties/StockQuote.componentType | 28 + .../properties/StockQuoteFactory.componentType | 28 + .../properties/ds/StockQuote.componentType | 28 + .../properties/ds/StockQuoteFactory.componentType | 28 + .../properties/ds/properties-ds-test.composite | 39 + .../properties/ds/properties2-ds-test.composite | 54 + .../resources/properties/properties-test.composite | 39 + .../properties/properties2-test.composite | 50 + .../sdo/ds/HelloWorldClient.componentType | 30 + .../sdo/ds/HelloWorldService.componentType | 25 + .../resources/sdo/ds/META-INF/sca-contribution.xml | 26 + .../src/main/resources/sdo/ds/helloworld.wsdl | 88 + .../main/resources/sdo/ds/helloworldsdo.composite | 47 + .../main/resources/services/Customer.componentType | 34 + .../main/resources/services/Retailer.componentType | 33 + .../main/resources/services/Shipper.componentType | 30 + .../resources/services/Warehouse.componentType | 28 + .../resources/services/ds/Customer.componentType | 34 + .../resources/services/ds/Retailer.componentType | 33 + .../resources/services/ds/Shipper.componentType | 30 + .../resources/services/ds/Warehouse.componentType | 28 + .../services/ds/services-ds-test.composite | 90 + .../resources/services/services-test.composite | 89 + .../resources/stockquote/StockQuote.componentType | 28 + .../main/resources/version/Customer1.componentType | 34 + .../main/resources/version/Customer2.componentType | 34 + .../main/resources/version/Retailer1.componentType | 33 + .../main/resources/version/Retailer2.componentType | 33 + .../main/resources/version/Shipper1.componentType | 30 + .../main/resources/version/Shipper2.componentType | 30 + .../resources/version/Warehouse1.componentType | 28 + .../resources/version/Warehouse2.componentType | 28 + .../resources/version/ds/Customer1.componentType | 34 + .../resources/version/ds/Customer2.componentType | 34 + .../resources/version/ds/Retailer1.componentType | 33 + .../resources/version/ds/Retailer2.componentType | 33 + .../resources/version/ds/Shipper1.componentType | 30 + .../resources/version/ds/Shipper2.componentType | 30 + .../resources/version/ds/Warehouse1.componentType | 28 + .../resources/version/ds/Warehouse2.componentType | 28 + .../resources/version/ds/version-ds-test.composite | 184 + .../main/resources/version/version-test.composite | 170 + .../main/resources/wiring/Customer.componentType | 34 + .../main/resources/wiring/Retailer.componentType | 29 + .../main/resources/wiring/Shipper.componentType | 29 + .../main/resources/wiring/Warehouse.componentType | 28 + .../resources/wiring/ds/Customer.componentType | 34 + .../resources/wiring/ds/Retailer.componentType | 29 + .../main/resources/wiring/ds/Shipper.componentType | 29 + .../resources/wiring/ds/Warehouse.componentType | 28 + .../resources/wiring/ds/wiring-ds-test1.composite | 136 + .../resources/wiring/ds/wiring-ds-test2.composite | 151 + .../main/resources/wiring/wiring-test1.composite | 127 + .../main/resources/wiring/wiring-test2.composite | 151 + .../src/main/resources/ws/HelloWorld.componentType | 31 + .../src/main/resources/ws/helloworld.wsdl | 80 + .../src/main/resources/ws/ws-helloworld.composite | 51 + .../src/test/java/callback/Callback1TestCase.java | 30 + .../src/test/java/callback/Callback2TestCase.java | 29 + .../src/test/java/callback/Callback3TestCase.java | 29 + .../src/test/java/callback/CallbackTestCase.java | 50 + .../java/conversation/ConversationTestCase.java | 325 + .../helloworld/passbyref/PassByRefTestCase.java | 130 + .../src/test/java/helloworld/sdo/SdoTestCase.java | 95 + .../java/helloworld/ws/HelloWorldTestCase.java | 55 + .../test/java/supplychain/SupplyChainTestCase.java | 63 + .../supplychain/VersionedSupplyChainTestCase.java | 71 + .../supplychain/factory/DSFactoryTestCase.java | 32 + .../java/supplychain/factory/FactoryTestCase.java | 72 + .../interfaces/DSInterfacesTestCase.java | 32 + .../supplychain/interfaces/InterfacesTestCase.java | 32 + .../properties/DSProperties2TestCase.java | 31 + .../properties/DSPropertiesTestCase.java | 31 + .../properties/Properties2TestCase.java | 69 + .../supplychain/properties/PropertiesTestCase.java | 58 + .../supplychain/services/DSServicesTestCase.java | 32 + .../supplychain/services/ServicesTestCase.java | 32 + .../supplychain/version/DSVersionTestCase.java | 33 + .../java/supplychain/version/VersionTestCase.java | 33 + .../java/supplychain/wiring/DSWiring1TestCase.java | 33 + .../java/supplychain/wiring/DSWiring2TestCase.java | 33 + .../java/supplychain/wiring/Wiring1TestCase.java | 32 + .../java/supplychain/wiring/Wiring2TestCase.java | 32 + .../src/test/java/test/OSGiTestCase.java | 67 + .../src/test/java/util/OSGiTestUtil.java | 71 + .../resources/osgi/felix/felix.config.properties | 45 + .../itest/osgi-tuscany/osgi-tuscany-test/pom.xml | 105 + .../test/osgi/runtime/impl/EquinoxTestRuntime.java | 91 + .../test/osgi/runtime/impl/FelixTestRuntime.java | 197 + .../test/osgi/runtime/impl/OSGiTestRuntime.java | 114 + .../tuscany/sca/test/util/OSGiRuntimeLoader.java | 86 + .../tuscany/sca/test/util/TuscanyLoader.java | 118 + .../harness/OSGiTuscanyNonOSGiTestHarness.java | 119 + .../test/osgi/harness/OSGiTuscanyTestHarness.java | 320 + .../CalculatorImplementationPoliciesTestCase.java | 61 + .../test/osgi/tuscany/CalculatorRmiTestCase.java | 62 + .../osgi/tuscany/CalculatorScriptTestCase.java | 63 + .../osgi/tuscany/CallbackWsClientTestCase.java | 61 + .../osgi/tuscany/CallbackWsServiceTestCase.java | 61 + .../tuscany/HelloworldWsServiceJmsTestCase.java | 61 + .../tuscany/HelloworldWsServiceSecureTestCase.java | 61 + .../osgi/tuscany/HelloworldWsServiceTestCase.java | 61 + .../test/osgi/tuscany/NonOSGiSamplesTestCase.java | 85 + .../test/osgi/tuscany/OSGiSupplyChainTestCase.java | 71 + .../osgi/tuscany/OSGiTuscanyRuntimeTestCase.java | 137 + .../tuscany/TuscanySampleExtensionsTestCase.java | 93 + .../TuscanySamplesUsingOldDomainTestCase.java | 80 + .../src/test/resources/META-INF/MANIFEST.MF | 16 + .../test/resources/felix/felix.config.properties | 45 + .../java/sca-node/itest/osgi-tuscany/pom.xml | 38 + .../sca-node/itest/osgi-tuscany/sca-api/pom.xml | 60 + .../osgi-tuscany/test-bundles/build-bundles.xml | 31 + .../itest/osgi-tuscany/test-bundles/pom.xml | 124 + .../java/supplychain/client/SupplyChainClient.java | 97 + .../main/java/supplychain/customer/Customer.java | 37 + .../customer/JavaCustomerComponentImpl.java | 61 + .../retailer/JavaRetailerComponentImpl.java | 59 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../shipper/JavaShipperComponentImpl.java | 50 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 49 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../src/main/resources/META-INF/SupplyChain.mf | 11 + .../main/resources/META-INF/SupplyChainClient.mf | 20 + .../main/resources/META-INF/sca-contribution.xml | 26 + .../resources/supplychain/supplychain.composite | 48 + .../main/resources/supplychain/ws/Customer.wsdl | 117 + .../resources/supplychain/ws/supplychain.composite | 55 + .../itest/osgi-tuscany/tuscany-3rdparty/pom.xml | 324 + .../itest/osgi-tuscany/tuscany-extensions/pom.xml | 348 + .../osgi-tuscany/tuscany-osgi-installer/pom.xml | 668 + .../sca/installer/InstallerBundleActivator.java | 446 + .../itest/osgi-tuscany/tuscany-runtime/pom.xml | 177 + .../itest/osgi-tuscany/tuscany-spi/pom.xml | 125 + .../sca-node/itest/policy-security-jsr250/pom.xml | 75 + .../src/main/java/helloworld/HelloWorldImpl.java | 51 + .../main/java/helloworld/HelloWorldService.java | 38 + .../src/main/resources/definitions.xml | 29 + .../src/main/resources/helloworld.composite | 33 + .../sca/itest/PolicySecurityJSR250TestCase.java | 54 + .../java/sca-node/itest/policy-security/pom.xml | 68 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldService.java | 30 + .../src/main/resources/definitions.xml | 33 + .../src/main/resources/helloworld.composite | 34 + .../tuscany/sca/itest/PolicyIdentityTestCase.java | 54 + .../sebastien/java/sca-node/itest/policy/pom.xml | 68 + .../src/main/java/calculator/AddService.java | 34 + .../src/main/java/calculator/AddServiceImpl.java | 35 + .../src/main/java/calculator/CalculatorClient.java | 69 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 76 + .../src/main/java/calculator/DivideService.java | 33 + .../main/java/calculator/DivideServiceImpl.java | 35 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 35 + .../src/main/java/calculator/PolicyQNames.java | 43 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 35 + .../calculator/policy/TestImplPolicyHandler.java | 84 + .../calculator/policy/TestRefPolicyHandler.java | 61 + .../calculator/policy/TestSvcPolicyHandler.java | 61 + .../policy/src/main/resources/Calculator.composite | 66 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 28 + .../policy/src/main/resources/definitions.xml | 147 + .../sca/itest/PoliciedCalculatorTestCase.java | 55 + sandbox/sebastien/java/sca-node/itest/pom.xml | 708 ++ .../itest/promotion-interface-missmatch/pom.xml | 59 + .../main/java/com/example/BusinessException.java | 43 + .../src/main/java/com/example/ExampleClient.java | 23 + .../main/java/com/example/ExampleClientImpl.java | 44 + .../src/main/java/com/example/ExampleService.java | 27 + .../main/java/com/example/ExampleServiceImpl.java | 26 + .../src/main/resources/example.composite | 50 + .../src/main/resources/wsdl/ExampleService.wsdl | 133 + .../main/resources/wsdl/ExampleServiceTypes.xsd | 33 + .../src/test/java/com/example/ExampleTestCase.java | 44 + .../java/sca-node/itest/properties/pom.xml | 91 + .../java/mysca/test/myservice/impl/MyService.java | 34 + .../mysca/test/myservice/impl/MyServiceImpl.java | 88 + .../test/myservice/impl/MyTotalServiceImpl.java | 46 + .../apache/tuscany/sca/itest/ABCDComponent.java | 50 + .../tuscany/sca/itest/ABCDComponentImpl.java | 73 + .../org/apache/tuscany/sca/itest/ABComponent.java | 75 + .../apache/tuscany/sca/itest/ABComponentImpl.java | 131 + .../org/apache/tuscany/sca/itest/CDComponent.java | 71 + .../apache/tuscany/sca/itest/CDComponentImpl.java | 143 + .../tuscany/sca/itest/ComplexPropertyBean.java | 151 + .../apache/tuscany/sca/itest/OverrideService.java | 27 + .../tuscany/sca/itest/OverrideServiceImpl.java | 28 + .../tuscany/sca/itest/PropertyComponent.java | 134 + .../tuscany/sca/itest/PropertyComponentImpl.java | 188 + .../apache/tuscany/sca/itest/PropertyService.java | 27 + .../java/org/apache/tuscany/sca/itest/cdi/Bar.java | 23 + .../org/apache/tuscany/sca/itest/cdi/Foo1.java | 39 + .../org/apache/tuscany/sca/itest/cdi/Foo2.java | 39 + .../org/apache/tuscany/sca/itest/cdi/Foo3.java | 44 + .../main/java/test/jaxb/props/ObjectFactory.java | 78 + .../java/test/jaxb/props/ReturnCodeProperties.java | 109 + .../main/java/test/jaxb/props/package-info.java | 27 + .../ConstructorPropertyInjection.composite | 41 + .../properties/src/main/resources/Outer.composite | 43 + .../src/main/resources/OuterPropertyTest.composite | 42 + .../src/main/resources/PropertyTest.composite | 255 + .../properties/src/main/resources/customer.xsd | 30 + .../properties/src/main/resources/fileProperty.txt | 21 + .../src/main/resources/manyValuesFileProperty.txt | 23 + .../src/main/resources/mySimpleService.composite | 40 + .../properties/src/main/resources/rcProps.txt | 22 + .../properties/src/main/resources/rcprops.xsd | 55 + .../tuscany/sca/itest/MyTotalServiceTestCase.java | 81 + .../tuscany/sca/itest/OuterPropertyTestCase.java | 164 + .../apache/tuscany/sca/itest/PropertyTestCase.java | 468 + .../cdi/ConstructorPropertyInjectionTestCase.java | 26 + .../sca-node/itest/recursive-multi-level/pom.xml | 45 + .../main/java/mysca/test/myservice/MyService.java | 26 + .../java/mysca/test/myservice/MyServiceImpl.java | 48 + .../mysca/test/myservice/MySimpleTotalService.java | 25 + .../test/myservice/MySimpleTotalServiceImpl.java | 46 + .../src/main/resources/TotalService1Auto.composite | 52 + .../src/main/resources/TotalService2Auto.composite | 49 + .../src/main/resources/TotalService3Auto.composite | 52 + .../java/test/sca/tests/MultiLevelTestCase.java | 68 + .../java/sca-node/itest/recursive-ws/pom.xml | 87 + .../recursive-ws/src/main/java/policy/Target.java | 26 + .../src/main/java/policy/TargetClientImpl.java | 33 + .../src/main/java/policy/TargetServiceImpl.java | 29 + .../src/main/java/recursive/Composer.java | 26 + .../src/main/java/recursive/ComposerClient.java | 35 + .../main/java/recursive/ComposerClientImpl.java | 38 + .../src/main/java/recursive/ComposerImpl.java | 34 + .../src/main/java/recursive/ComposerServer.java | 35 + .../src/main/resources/Client.composite | 28 + .../src/main/resources/Inner.composite | 26 + .../src/main/resources/Outer.composite | 31 + .../bindingoverride/InnerComposite.composite | 36 + .../bindingoverride/OuterComposite.composite | 40 + .../policy/PolicyInnerComposite.composite | 37 + .../policy/PolicyOuterComposite.composite | 41 + .../src/main/resources/policy/definitions.xml | 39 + .../bindingoverride/BindingOverrideTestCase.java | 57 + .../src/test/java/policy/PolicyTestCase.java | 74 + .../java/recursive/ComposerClientTestCase.java | 68 + .../test/java/recursive/ComposerTestServer.java | 55 + .../java/sca-node/itest/recursive/pom.xml | 45 + .../src/main/java/circular/include/DemoClass.java | 27 + .../src/main/java/composite/CompositeClient.java | 42 + .../recursive/src/main/java/composite/Source.java | 24 + .../src/main/java/composite/SourceCallback.java | 24 + .../src/main/java/composite/SourceImpl.java | 55 + .../recursive/src/main/java/composite/Target.java | 30 + .../src/main/java/composite/TargetImpl.java | 41 + .../itest/recursive/src/main/java/foo/A.java | 28 + .../itest/recursive/src/main/java/foo/B.java | 36 + .../itest/recursive/src/main/java/foo/I.java | 23 + .../recursive/src/main/java/policy/Target.java | 26 + .../src/main/java/policy/TargetClientImpl.java | 33 + .../src/main/java/policy/TargetServiceImpl.java | 29 + .../src/main/java/sample/ComponentAImpl.java | 41 + .../src/main/java/sample/ComponentCImpl.java | 41 + .../src/main/java/sample/ComponentEImpl.java | 38 + .../src/main/java/sample/ComponentFImpl.java | 45 + .../recursive/src/main/java/sample/Service1.java | 27 + .../recursive/src/main/java/test/Aggregator.java | 27 + .../src/main/java/test/AggregatorImpl.java | 55 + .../src/main/java/test/InnerSourceImpl.java | 34 + .../src/main/java/test/OuterSourceImpl.java | 34 + .../itest/recursive/src/main/java/test/Source.java | 30 + .../src/main/java/test1/composite/Target.java | 23 + .../src/main/java/test1/composite/TargetOne.java | 29 + .../src/main/java/test1/composite/TargetTwo.java | 29 + .../src/main/resources/AComposite.composite | 30 + .../src/main/resources/BComposite.composite | 45 + .../src/main/resources/CComposite.composite | 44 + .../src/main/resources/Composite1.composite | 42 + .../src/main/resources/Composite2.composite | 43 + .../src/main/resources/Composite3.composite | 48 + .../src/main/resources/Demo1Composite.composite | 27 + .../src/main/resources/Demo2Composite.composite | 28 + .../recursive/src/main/resources/Inner.composite | 45 + .../src/main/resources/InnerComposite.composite | 41 + .../src/main/resources/InnerComposite2.composite | 33 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../recursive/src/main/resources/Outer.composite | 39 + .../src/main/resources/OuterComposite.composite | 39 + .../itest/recursive/src/main/resources/foo/foo.png | Bin 0 -> 571816 bytes .../recursive/src/main/resources/foo/o1.composite | 31 + .../recursive/src/main/resources/foo/o2.composite | 31 + .../recursive/src/main/resources/foo/o3.composite | 35 + .../recursive/src/main/resources/foo/o4.composite | 37 + .../policy/PolicyInnerComposite.composite | 32 + .../policy/PolicyOuterComposite.composite | 35 + .../src/main/resources/policy/definitions.xml | 46 + .../main/resources/test1/InnerComposite.composite | 39 + .../main/resources/test1/OuterComposite.composite | 27 + .../circular/include/CircularIncludeTestCase.java | 39 + .../src/test/java/composite/CompositeTestCase.java | 51 + .../LocateServiceEmbeddedSCADomainTestCase.java | 113 + .../composite/LocateServiceSCADomainTestCase.java | 73 + .../recursive/src/test/java/foo/O2TestCase.java | 32 + .../recursive/src/test/java/foo/O4TestCase.java | 39 + .../src/test/java/policy/PolicyTestCase.java | 68 + .../itest/recursive/src/test/java/sample/C.java | 32 + .../recursive/src/test/java/sample/CImpl.java | 80 + .../src/test/java/sample/NestedTestCase.java | 96 + .../sample/RecursiveCompositeTestCaseFIXME.java | 53 + .../itest/recursive/src/test/java/sample/X.java | 32 + .../recursive/src/test/java/sample/XImpl.java | 37 + .../itest/recursive/src/test/java/sample/Y.java | 32 + .../recursive/src/test/java/sample/YImpl.java | 38 + .../src/test/java/test/InnerTestCase.java | 51 + .../src/test/java/test/OuterTestCase.java | 51 + .../test1/composite/CompositeClientTestCase.java | 62 + .../java/sca-node/itest/references/pom.xml | 53 + .../tuscany/sca/itest/references/AComponent.java | 40 + .../sca/itest/references/AComponentImpl.java | 126 + .../tuscany/sca/itest/references/BComponent.java | 26 + .../sca/itest/references/BComponentImpl.java | 39 + .../tuscany/sca/itest/references/CComponent.java | 24 + .../sca/itest/references/CComponentImpl.java | 27 + .../tuscany/sca/itest/references/DComponent.java | 27 + .../sca/itest/references/DComponentImpl.java | 35 + .../resources/AutoWiredReferencesTest.composite | 56 + .../main/resources/InnerReferencesTest.composite | 54 + .../resources/ManualWiredReferencesTest.composite | 63 + .../references/AutoWiredReferenceTestCase.java | 91 + .../itest/references/InnerReferenceTestCase.java | 94 + .../references/ManualWiredReferenceTestCase.java | 93 + .../sebastien/java/sca-node/itest/scopes/pom.xml | 47 + .../scopes/CompositeScopeStateVerifierImpl.java | 46 + .../scopes/RequestScopeStateVerifierImpl.java | 50 + .../tuscany/sca/itest/scopes/StateVerifier.java | 25 + .../scopes/src/main/resources/scopes.composite | 33 + .../org/apache/tuscany/sca/test/ScopeTestCase.java | 93 + .../java/sca-node/itest/serialization/pom.xml | 66 + .../servicereference/ConversationalService.java | 81 + .../ConversationalServiceCallback.java | 37 + .../ConversationalServiceImpl.java | 141 + .../itest/servicereference/SCAManagedClient.java | 44 + .../servicereference/SCAManagedClientImpl.java | 90 + .../SCAManagedConversationalClient.java | 48 + .../SCAManagedConversationalClientImpl.java | 107 + .../itest/servicereference/StatelessService.java | 46 + .../servicereference/StatelessServiceCallback.java | 34 + .../servicereference/StatelessServiceImpl.java | 82 + .../utils/ServiceReferenceUtils.java | 127 + .../ServiceReferenceSerializationTest.composite | 39 + .../SerializeServiceReferenceTestCase.java | 117 + .../sebastien/java/sca-node/itest/services/pom.xml | 46 + .../tuscany/sca/itest/services/AComponent.java | 27 + .../tuscany/sca/itest/services/AComponentImpl.java | 28 + .../tuscany/sca/itest/services/BComponent.java | 25 + .../tuscany/sca/itest/services/BComponentImpl.java | 31 + .../tuscany/sca/itest/services/CComponent.java | 27 + .../tuscany/sca/itest/services/CComponentImpl.java | 28 + .../tuscany/sca/itest/services/D1Component.java | 25 + .../tuscany/sca/itest/services/DComponent.java | 25 + .../tuscany/sca/itest/services/DComponentImpl.java | 34 + .../main/resources/META-INF/sca-contribution.xml | 22 + .../src/main/resources/ServicesTest.composite | 70 + .../sca/itest/services/ServicesTestCase.java | 105 + .../sebastien/java/sca-node/itest/spring/pom.xml | 80 + .../sca/SpringDelegationHelloWorld-context.xml | 37 + .../META-INF/sca/SpringHelloWorld-context.xml | 31 + .../spring/SpringDelegationHelloWorld.composite | 32 + .../sca/itest/spring/SpringHelloWorld.composite | 32 + .../itest/spring/AbstractHelloWorldTestCase.java | 40 + .../sca/itest/spring/AbstractSCATestCase.java | 51 + .../tuscany/sca/itest/spring/HelloWorld.java | 34 + .../tuscany/sca/itest/spring/HelloWorldProxy.java | 41 + .../spring/SpringDelegationHelloWorldTestCase.java | 31 + .../sca/itest/spring/SpringHelloWorldTestCase.java | 32 + .../sca/itest/spring/TestHelloWorldBean.java | 36 + .../itest/spring/TestHelloWorldDelegatorBean.java | 40 + .../java/sca-node/itest/transaction/pom.xml | 91 + .../transaction/AccountNotFoundException.java | 36 + .../sca/itest/transaction/AccountService.java | 31 + .../sca/itest/transaction/AccountServiceImpl.java | 70 + .../transaction/CheckingAccountServiceImpl.java | 143 + .../sca/itest/transaction/OverDraftException.java | 36 + .../transaction/SavingsAccountServiceImpl.java | 133 + .../sca/itest/transaction/TransferService.java | 31 + .../sca/itest/transaction/TransferServiceImpl.java | 64 + .../src/main/resources/accounts.composite | 43 + .../transaction/src/main/resources/definitions.xml | 99 + .../src/main/resources/log4j.properties | 29 + .../transaction/ConcurrentXAResourceTestCase.java | 119 + .../sca/itest/transaction/TransactionTestCase.java | 53 + .../java/sca-node/itest/validation/pom.xml | 183 + .../main/java/binding/ejb/account/Customer.java | 35 + .../java/binding/ejb/account/CustomerImpl.java | 57 + .../java/binding/ejb/calculator/AddService.java | 27 + .../binding/ejb/calculator/AddServiceHome.java | 31 + .../main/java/binding/jms/HelloWorldService.java | 26 + .../java/binding/jms/HelloWorldServiceImpl.java | 27 + .../main/java/calculator/warning/AddService.java | 29 + .../java/calculator/warning/AddServiceImpl.java | 43 + .../warning/AddServiceImplWithServiceName.java | 45 + .../java/calculator/warning/CalculatorClient.java | 45 + .../java/calculator/warning/CalculatorService.java | 35 + .../calculator/warning/CalculatorServiceImpl.java | 70 + .../java/calculator/warning/DivideService.java | 28 + .../java/calculator/warning/DivideServiceImpl.java | 35 + .../java/calculator/warning/MultiplyService.java | 28 + .../calculator/warning/MultiplyServiceImpl.java | 35 + .../java/calculator/warning/PropertyService.java | 29 + .../calculator/warning/PropertyServiceImpl.java | 41 + .../java/calculator/warning/SubtractService.java | 28 + .../calculator/warning/SubtractServiceImpl.java | 35 + .../SubtractServiceImplWithServiceName.java | 37 + .../src/main/java/impl/java/AddService.java | 29 + .../src/main/java/impl/java/AddServiceImpl.java | 43 + .../src/main/java/impl/java/CalculatorClient.java | 45 + .../src/main/java/impl/java/CalculatorService.java | 35 + .../main/java/impl/java/CalculatorServiceImpl.java | 75 + .../src/main/java/impl/java/DivideService.java | 28 + .../src/main/java/impl/java/DivideServiceImpl.java | 35 + .../src/main/java/impl/java/MultiplyService.java | 28 + .../main/java/impl/java/MultiplyServiceImpl.java | 35 + .../src/main/java/impl/java/SubtractService.java | 28 + .../main/java/impl/java/SubtractServiceImpl.java | 35 + .../src/main/java/impl/osgi/OSGiTestImpl.java | 50 + .../src/main/java/impl/osgi/OSGiTestInterface.java | 31 + .../java/impl/osgi/OSGiTestWithPropertyImpl.java | 65 + .../src/main/java/impl/spring/HelloWorld.java | 36 + .../src/main/java/impl/spring/HelloWorldProxy.java | 41 + .../main/java/impl/spring/TestHelloWorldBean.java | 36 + .../java/interfacejava/xml/CalculatorService.java | 35 + .../interfacejava/xml/CalculatorServiceImpl.java | 74 + .../Calculator.composite | 49 + .../DuplicateComponentName/Calculator.composite | 53 + .../Calculator.composite | 55 + .../dummyImplementation.composite | 31 + .../Calculator.composite | 56 + .../dummyImplementation.composite | 32 + .../DuplicatePropertyName/Calculator.composite | 51 + .../DuplicateReferenceName/Calculator.composite | 50 + .../META-INF/sca/SpringHelloWorld-context.xml | 31 + .../Calculator.composite | 53 + .../NoComponentImplementation/Calculator.composite | 52 + .../NoCompositeNamespace/Calculator.composite | 48 + .../NoMatchingBinding/Calculator.composite | 54 + .../PromotedReferenceNotFound/Calculator.composite | 51 + .../PromotedServiceNotFound/Calculator.composite | 51 + .../PropertyAttribute/Calculator.composite | 55 + .../CalculatorNullMustSupply.composite | 53 + .../CalculatorOverrideManyAttribute.composite | 54 + .../PropertyNotFound/Calculator.composite | 50 + .../Calculator.composite | 51 + .../Calculator.composite | 49 + .../Calculator.composite | 49 + .../ReferenceNotFound/Calculator.composite | 50 + .../ReferenceWithoutTargets/Calculator.composite | 49 + .../Calculator.composite | 54 + .../Calculator.composite | 54 + .../resources/XsdValidation/Calculator.composite | 51 + .../ContributionReadException/Calculator.composite | 53 + .../Calculator.composite | 53 + .../Calculator.composite | 54 + .../UnexpectedBindingElement/Calculator.composite | 55 + .../Calculator.composite | 54 + .../Calculator.composite | 54 + .../InvalidWsdlElementAttr/Calculator.composite | 58 + .../wsxml/MustUseWsdlBinding/Calculator.composite | 59 + .../wsxml/WsdlBindingDoesNotMatch/helloworld.wsdl | 92 + .../helloworldwsjms.composite | 34 + .../wsxml/WsdlServiceDoesNotMatch/helloworld.wsdl | 92 + .../helloworldwsjms.composite | 34 + .../UnknownEJBSessionType/account.composite | 35 + .../bindingejb/UnknownEJBVersion/account.composite | 35 + .../DoesntProcessActivationSpec/service.composite | 36 + .../DoesntProcessDestinationType/service.composite | 35 + .../DoesntProcessHeaders/service.composite | 36 + .../DoesntProcessResourceAdapter/service.composite | 32 + .../service.composite | 35 + .../service.composite | 35 + .../service.composite | 35 + .../InvalidCorrelationScheme/service.composite | 35 + .../service.composite | 35 + .../MissingActivationSpecName/service.composite | 36 + .../MissingConnectionFactoryName/service.composite | 36 + .../service.composite | 36 + .../service.composite | 36 + .../MustStartWithSchema/service.composite | 36 + .../bindingjms/UnexpectedElement/service.composite | 38 + .../UnexpectedResponseElement/service.composite | 38 + .../bindingjms/UnknownTokenInURI/service.composite | 36 + .../AttributePackageMissing/Calculator.composite | 55 + .../AttributeNameSpaceMissing/Calculator.composite | 55 + .../AttributeURIMissing/Calculator.composite | 55 + .../AttributeCompositeMissing/Calculator.composite | 53 + .../AttributeCompositeMissing/sca-contribution.xml | 24 + .../helloworld.composite | 29 + .../AttributeWithoutNamespace/helloworld.composite | 29 + .../impl/bpel/BPELProcessNotFound/deploy.xml | 30 + .../impl/bpel/BPELProcessNotFound/helloworld.bpel | 66 + .../BPELProcessNotFound/helloworld.componentType | 30 + .../bpel/BPELProcessNotFound/helloworld.composite | 29 + .../impl/bpel/BPELProcessNotFound/helloworld.wsdl | 82 + .../bpel/CannotResolveWSDLReference/deploy.xml | 30 + .../CannotResolveWSDLReference/helloworld.bpel | 66 + .../helloworld.componentType | 30 + .../helloworld.composite | 29 + .../impl/bpel/MyRolePartnerRoleNull/deploy.xml | 30 + .../bpel/MyRolePartnerRoleNull/helloworld.bpel | 66 + .../MyRolePartnerRoleNull/helloworld.componentType | 30 + .../MyRolePartnerRoleNull/helloworld.composite | 29 + .../bpel/MyRolePartnerRoleNull/helloworld.wsdl | 82 + .../impl/bpel/PartnerLinkHasBothAttr/deploy.xml | 30 + .../bpel/PartnerLinkHasBothAttr/helloworld.bpel | 68 + .../helloworld.componentType | 30 + .../PartnerLinkHasBothAttr/helloworld.composite | 29 + .../bpel/PartnerLinkHasBothAttr/helloworld.wsdl | 82 + .../impl/bpel/PartnerLinkNoMatchingType/deploy.xml | 30 + .../bpel/PartnerLinkNoMatchingType/helloworld.bpel | 66 + .../helloworld.componentType | 30 + .../PartnerLinkNoMatchingType/helloworld.composite | 29 + .../bpel/PartnerLinkNoMatchingType/helloworld.wsdl | 82 + .../impl/bpel/PartnerLinkTypeNoRoles/deploy.xml | 30 + .../bpel/PartnerLinkTypeNoRoles/helloworld.bpel | 66 + .../helloworld.componentType | 30 + .../PartnerLinkTypeNoRoles/helloworld.composite | 29 + .../bpel/PartnerLinkTypeNoRoles/helloworld.wsdl | 80 + .../ClassNotFoundException/Calculator.composite | 49 + .../Calculator.composite | 49 + .../OSGiTestService.componentType | 28 + .../CouldNotLocateOSGiBundle/osgitest.composite | 34 + .../MissingComponentTypeFile/OSGiTestService.jar | Bin 0 -> 1326 bytes .../MissingComponentTypeFile/osgitest.composite | 34 + .../OSGiTestService.componentType | 28 + .../PropertyShouldSpecifySR/OSGiTestService.jar | Bin 0 -> 1326 bytes .../PropertyShouldSpecifySR/osgitest.composite | 36 + .../CouldNotResolveLocation/resource.composite | 30 + .../LocationAttributeMissing/resource.composite | 30 + .../SpringHelloWorld.composite | 27 + .../SpringHelloWorld.composite | 27 + .../SpringHelloWorld-context.xml | 0 .../SpringHelloWorld.composite | 34 + .../TestHelloWorldBean.componentType | 27 + .../CouldNotResolveLocation/widget.composite | 29 + .../LocationAttributeMissing/widget.composite | 30 + .../xquery/CouldNotLocateFile/HelloWorld.composite | 28 + .../LocationAttributeMissing/HelloWorld.composite | 28 + .../ClassNotFoundException/Calculator.composite | 53 + .../CalculatorServiceImpl.componentType | 27 + .../Calculator.composite | 53 + .../CalculatorServiceImpl.componentType | 27 + .../InvalidWSDLInterfaceAttr/Calculator.composite | 54 + .../helloworld-interface.wsdl | 67 + .../helloworld-service.wsdl | 49 + .../xml/WsdlInterfaceDoesNotMatch/helloworld.wsdl | 92 + .../helloworldwsjms.composite | 34 + .../ClassNotFoundException/Calculator.composite | 56 + .../ClassNotFoundException/definitions.xml | 78 + .../Calculator.composite | 56 + .../RequiredAttributeRolesMissing/definitions.xml | 78 + .../Calculator.composite | 56 + .../AlwaysProvidedIntentNotFound/definitions.xml | 63 + .../Calculator.composite | 56 + .../ErrorInPolicyIntentDefinition/definitions.xml | 76 + .../xml/IntentNotSpecified/Calculator.composite | 56 + .../policy/xml/IntentNotSpecified/definitions.xml | 175 + .../MayProvideIntentNotFound/Calculator.composite | 56 + .../xml/MayProvideIntentNotFound/definitions.xml | 63 + .../RequiredAttributeMissing/Calculator.composite | 56 + .../xml/RequiredAttributeMissing/definitions.xml | 70 + .../xml/UnableToMapPolicies/Calculator.composite | 56 + .../policy/xml/UnableToMapPolicies/definitions.xml | 240 + .../Calculator.composite | 56 + .../definitions.xml | 68 + .../assembly/xml/ContributionReadException.java | 60 + .../xml/PolicyImplValidationException.java | 60 + .../xml/PolicyServiceValidationException.java | 60 + .../assembly/xml/UnexpectedBindingElement.java | 60 + .../xml/UnexpectedImplementationElement.java | 60 + .../assembly/xml/UnexpectedInterfaceElement.java | 58 + .../binding/ejb/UnknownEJBSessionTypeTestCase.java | 61 + .../binding/ejb/UnknownEJBVersionTestCase.java | 61 + .../jms/DoesntProcessActivationSpecTestCase.java | 58 + .../jms/DoesntProcessDestinationTypeTestCase.java | 58 + .../binding/jms/DoesntProcessHeadersTestCase.java | 58 + .../jms/DoesntProcessResourceAdapterTestCase.java | 58 + ...oesntProcessResponseActivationSpecTestCase.java | 58 + ...ntProcessResponseConnectionFactoryTestCase.java | 58 + ...esntProcessResponseDestinationTypeTestCase.java | 58 + .../jms/InvalidCorrelationSchemeTestCase.java | 58 + .../InvalidResponseDestinationTypeTestCase.java | 58 + .../jms/MissingActivationSpecNameTestCase.java | 58 + .../jms/MissingConnectionFactoryNameTestCase.java | 58 + .../jms/MissingResponseActivationSpecTestCase.java | 58 + .../MissingResponseConnectionFactoryTestCase.java | 58 + .../binding/jms/MustStartWithSchemaTestCase.java | 58 + .../binding/jms/UnexpectedElementTestCase.java | 58 + .../jms/UnexpectedResponseElementTestCase.java | 58 + .../binding/jms/UnknownTokenInURITestCase.java | 58 + .../wsxml/InvalidWsdlElementAttrTestCase.java | 60 + .../binding/wsxml/MustUseWsdlBindingTestCase.java | 60 + .../wsxml/WsdlBindingDoesNotMatchTestCase.java | 60 + .../wsxml/WsdlServiceDoesNotMatchTestCase.java | 60 + .../ComponentReferenceTargetNotFoundTestCase.java | 79 + .../warning/DuplicateComponentNameTestCase.java | 76 + ...uplicateImplementationPropertyNameTestCase.java | 65 + ...plicateImplementationReferenceNameTestCase.java | 66 + .../warning/DuplicatePropertyNameTestCase.java | 73 + .../warning/DuplicateReferenceNameTestCase.java | 73 + .../MultipleBindingsForServiceTestCase.java | 73 + .../warning/NoComponentImplementationTestCase.java | 69 + .../warning/NoCompositeNamespaceTestCase.java | 73 + .../warning/NoMatchingBindingTestCase.java | 81 + .../warning/PromotedReferenceNotFoundTestCase.java | 73 + .../warning/PromotedServiceNotFoundTestCase.java | 73 + .../PropertyAttributeMustSupplyNullTestCase.java | 73 + .../warning/PropertyAttributeTestCase.java | 73 + .../warning/PropertyNotFoundTestCase.java | 73 + .../PropertyOverrideManyAttributeTestCase.java | 73 + ...enceIncompatibleComponentInterfaceTestCase.java | 73 + .../ReferenceIncompatibleInterfaceTestCase.java | 73 + .../ReferenceIncompatibleMultiplicityTestCase.java | 73 + .../warning/ReferenceNotFoundTestCase.java | 73 + .../warning/ReferenceWithoutTargetsTestCase.java | 73 + ...ServiceNotFoundForComponentServiceTestCase.java | 73 + .../UnresolvedComponentImplementationTestCase.java | 69 + .../calculator/warning/XSDValidationTestCase.java | 78 + .../java/AttributePackageMissingTestCase.java | 60 + .../AttributeNameSpaceMissingTestCase.java | 60 + .../resource/AttributeURIMissingTestCase.java | 60 + .../xml/AttributeCompositeMissingTestCase.java | 60 + .../test/java/domain/CustomCompositeBuilder.java | 189 + .../AttributeUnrecognizedNamespaceTestCase.java | 59 + .../bpel/AttributeWithoutNamespaceTestCase.java | 59 + .../impl/bpel/BPELProcessNotFoundTestCase.java | 59 + .../bpel/CannotResolveWSDLReferenceTestCase.java | 59 + .../impl/bpel/MyRolePartnerRoleNullTestCase.java | 59 + .../impl/bpel/PartnerLinkHasBothAttrTestCase.java | 59 + .../bpel/PartnerLinkNoMatchingTypeTestCase.java | 59 + .../impl/bpel/PartnerLinkTypeNoRolesTestCase.java | 60 + .../impl/java/ClassNotFoundExceptionTestCase.java | 59 + .../java/ContributionResolveExceptionTestCase.java | 60 + .../osgi/CouldNotLocateOSGiBundleTestCase.java | 62 + .../osgi/MissingComponentTypeFileTestCase.java | 62 + .../src/test/java/impl/osgi/OSGiTestBundles.java | 111 + .../impl/osgi/PropertyShouldSpecifySRTestCase.java | 62 + .../resource/CouldNotResolveLocationTestCase.java | 59 + .../resource/LocationAttributeMissingTestCase.java | 59 + .../ContributionResolveExceptionTestCase.java | 56 + .../spring/LocationAttributeMissingTestCase.java | 58 + .../UnableToResolveComponentTypeTestCase.java | 58 + .../widget/CouldNotResolveLocationTestCase.java | 59 + .../widget/LocationAttributeMissingTestCase.java | 59 + .../impl/xquery/CouldNotLocateFileTestCase.java | 58 + .../xquery/LocationAttributeMissingTestCase.java | 58 + .../interfacejava/xml/ClassNotFoundTestCase.java | 58 + .../xml/ContributionResolveExceptionTestCase.java | 58 + .../xml/InvalidWSDLInterfaceAttrTestCase.java | 58 + .../xml/WsdlInterfaceDoesNotMatchTestCase.java | 58 + .../xml/AlwaysProvidedIntentNotFoundTestCase.java | 58 + .../xml/ErrorInPolicyIntentDefinitionTestCase.java | 58 + .../policy/xml/IntentNotSpecifiedTestCase.java | 58 + .../xml/MayProvideIntentNotFoundTestCase.java | 58 + .../xml/RequiredAttributeMissingTestCase.java | 58 + .../policy/xml/UnableToMapPoliciesTestCase.java | 58 + .../UnrecognizedIntentAttachPointTypeTestCase.java | 58 + sandbox/sebastien/java/sca-node/itest/wasAdmin.py | 91 + .../sebastien/java/sca-node/itest/wires/pom.xml | 45 + .../org/apache/tuscany/sca/itest/WireClient.java | 34 + .../apache/tuscany/sca/itest/WireClientImpl.java | 52 + .../org/apache/tuscany/sca/itest/WireService.java | 36 + .../apache/tuscany/sca/itest/WireServiceImpl.java | 39 + .../wires/src/main/resources/WireTest.composite | 39 + .../org/apache/tuscany/sca/itest/WireTestCase.java | 69 + .../sca-node/itest/ws-void-args-return/pom.xml | 61 + .../src/main/java/voidtest/Bean.java | 39 + .../src/main/java/voidtest/HelloWorldImpl.java | 64 + .../src/main/java/voidtest/HelloWorldService.java | 47 + .../src/main/java/voidtest/TestClient.java | 23 + .../src/main/java/voidtest/TestClientImpl.java | 53 + .../src/main/resources/voidtest.composite | 41 + .../test/java/voidtest/VoidArgsReturnTestCase.java | 53 + .../java/sca-node/itest/wsdl-multiple/pom.xml | 135 + .../main/java/helloworld/HelloWorldCallback.java | 30 + .../main/java/helloworld/HelloWorldClientImpl.java | 42 + .../main/java/helloworld/HelloWorldService.java | 32 + .../java/helloworld/HelloWorldServiceImpl.java | 37 + .../src/main/resources/auto-wsdl.composite | 26 + .../src/main/resources/manual-wsdl.composite | 28 + .../wsdl/helloworld.HelloWorldCallback.wsdl | 80 + .../wsdl/helloworld.HelloWorldService.wsdl | 77 + .../apache/tuscany/sca/itest/AutoWSDLTestCase.java | 65 + .../tuscany/sca/itest/ManualWSDLTestCase.java | 65 + sandbox/sebastien/java/sca-node/itest/wsdl/pom.xml | 135 + .../services/accountdata/AccountDataService.java | 92 + .../accountdata/AccountDataServiceImpl.java | 93 + .../accountdata/AccountServiceClientImpl.java | 79 + .../services/accountdata/Component2aImpl.java | 79 + .../services/accountdata/Component2bImpl.java | 79 + .../services/accountdata/Component3aImpl.java | 79 + .../services/accountdata/Component3bImpl.java | 79 + .../services/accountdata/CustomerIdService.java | 98 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldService.java | 30 + .../helloworld/HelloWorldServiceComponent.java | 43 + .../apache/tuscany/sca/itest/Component2aImpl.java | 38 + .../apache/tuscany/sca/itest/Component2bImpl.java | 39 + .../apache/tuscany/sca/itest/Component3aImpl.java | 39 + .../apache/tuscany/sca/itest/Component3bImpl.java | 39 + .../wsdl/src/main/resources/SDOWSDLTest.composite | 344 + .../wsdl/src/main/resources/WSDLTest.composite | 371 + .../src/main/resources/wsdl/AccountService.wsdl | 453 + .../wsdl/src/main/resources/wsdl/helloworld.wsdl | 80 + .../apache/tuscany/sca/itest/SDOWSDLTestCase.java | 169 + .../org/apache/tuscany/sca/itest/WSDLTestCase.java | 146 + .../java/sca-node/itest/wsdl2java/pom.xml | 188 + .../src/test/resources/AccountService.wsdl | 479 + .../wsdl2java/src/test/resources/EchoService.wsdl | 64 + .../wsdl2java/src/test/resources/EchoService.xsd | 40 + .../src/test/resources/StockExceptionTest.wsdl | 167 + .../sebastien/java/sca-node/itest/wsdlless/pom.xml | 135 + .../services/accountdata/AccountDataService.java | 95 + .../accountdata/AccountDataServiceImpl.java | 91 + .../accountdata/AccountServiceClientImpl.java | 77 + .../services/accountdata/Component2aImpl.java | 77 + .../services/accountdata/Component2bImpl.java | 77 + .../services/accountdata/Component3aImpl.java | 77 + .../services/accountdata/Component3bImpl.java | 77 + .../services/accountdata/CustomerIdService.java | 98 + .../src/main/java/helloworld/HelloWorldImpl.java | 44 + .../main/java/helloworld/HelloWorldService.java | 31 + .../helloworld/HelloWorldServiceComponent.java | 47 + .../apache/tuscany/sca/itest/Component2aImpl.java | 43 + .../apache/tuscany/sca/itest/Component2bImpl.java | 42 + .../apache/tuscany/sca/itest/Component3aImpl.java | 42 + .../apache/tuscany/sca/itest/Component3bImpl.java | 43 + .../src/main/resources/SDOWSDLTest.composite | 321 + .../wsdlless/src/main/resources/WSDLTest.composite | 350 + .../src/main/resources/wsdl/AccountService.wsdl | 453 + .../src/main/resources/wsdl/helloworld.wsdl | 131 + .../apache/tuscany/sca/itest/SDOWSDLTestCase.java | 173 + .../org/apache/tuscany/sca/itest/WSDLTestCase.java | 150 + .../sca-node/modules/assembly-java-dsl/DISCLAIMER | 8 + .../sca-node/modules/assembly-java-dsl/LICENSE | 205 + .../java/sca-node/modules/assembly-java-dsl/NOTICE | 6 + .../sca-node/modules/assembly-java-dsl/pom.xml | 56 + .../tuscany/sca/assembly/dsl/AssemblyBuilder.java | 37 + .../tuscany/sca/assembly/dsl/ComponentBuilder.java | 34 + .../sca/assembly/dsl/ComponentPropertyBuilder.java | 28 + .../assembly/dsl/ComponentReferenceBuilder.java | 36 + .../sca/assembly/dsl/ComponentServiceBuilder.java | 32 + .../tuscany/sca/assembly/dsl/CompositeBuilder.java | 29 + .../sca/assembly/dsl/impl/AssemblyBuilderImpl.java | 70 + .../assembly/dsl/impl/ComponentBuilderImpl.java | 74 + .../dsl/impl/ComponentPropertyBuilderImpl.java | 40 + .../dsl/impl/ComponentReferenceBuilderImpl.java | 77 + .../dsl/impl/ComponentServiceBuilderImpl.java | 62 + .../assembly/dsl/impl/CompositeBuilderImpl.java | 62 + .../sca/assembly/dsl/AccountDataService.java | 24 + .../sca/assembly/dsl/AccountDataServiceImpl.java | 24 + .../tuscany/sca/assembly/dsl/AccountService.java | 24 + .../sca/assembly/dsl/AccountServiceImpl.java | 24 + .../tuscany/sca/assembly/dsl/BigBankBuilder.java | 59 + .../sca/assembly/dsl/BigBankBuilderTestCase.java | 33 + .../sca/assembly/dsl/StockQuoteService.java | 24 + .../java/sca-node/modules/assembly-xml/DISCLAIMER | 8 + .../java/sca-node/modules/assembly-xml/LICENSE | 205 + .../java/sca-node/modules/assembly-xml/NOTICE | 6 + .../java/sca-node/modules/assembly-xml/pom.xml | 136 + .../sca/assembly/xml/BaseAssemblyProcessor.java | 859 ++ .../xml/ComponentTypeDocumentProcessor.java | 143 + .../assembly/xml/ComponentTypeModelResolver.java | 95 + .../sca/assembly/xml/ComponentTypeProcessor.java | 371 + .../assembly/xml/CompositeDocumentProcessor.java | 199 + .../sca/assembly/xml/CompositeModelResolver.java | 83 + .../sca/assembly/xml/CompositeProcessor.java | 1116 ++ .../assembly/xml/ConfiguredOperationProcessor.java | 109 + .../apache/tuscany/sca/assembly/xml/Constants.java | 97 + .../xml/ConstrainingTypeDocumentProcessor.java | 140 + .../xml/ConstrainingTypeModelResolver.java | 83 + .../assembly/xml/ConstrainingTypeProcessor.java | 273 + .../assembly/xml/DefaultBeanModelProcessor.java | 256 + .../assembly/xml/PolicyAttachPointProcessor.java | 266 + ...ca.contribution.processor.StAXArtifactProcessor | 21 + ...sca.contribution.processor.URLArtifactProcessor | 21 + ...tuscany.sca.contribution.resolver.ModelResolver | 20 + .../assembly-xml-validation-messages.properties | 29 + .../sca/assembly/xml/BuildPolicyTestCase.java | 148 + .../tuscany/sca/assembly/xml/ReadAllTestCase.java | 145 + .../sca/assembly/xml/ReadDocumentTestCase.java | 206 + .../tuscany/sca/assembly/xml/ReadTestCase.java | 88 + .../sca/assembly/xml/ResolvePolicyTestCase.java | 161 + .../tuscany/sca/assembly/xml/ResolveTestCase.java | 97 + .../sca/assembly/xml/TestPolicyProcessor.java | 73 + .../assembly/xml/TestSCABindingFactoryImpl.java | 35 + .../sca/assembly/xml/TestSCABindingImpl.java | 213 + .../tuscany/sca/assembly/xml/WireTestCase.java | 147 + .../tuscany/sca/assembly/xml/WriteAllTestCase.java | 160 + .../sca/assembly/xml/WriteNamespacesTestCase.java | 91 + .../tuscany/sca/assembly/xml/Calculator.composite | 53 + .../xml/CalculatorComponent.constrainingType | 34 + .../sca/assembly/xml/CalculatorImpl.componentType | 31 + .../sca/assembly/xml/JavaScriptReference.composite | 37 + .../sca/assembly/xml/NestedCalculator.composite | 29 + .../sca/assembly/xml/RMIBindingTest.composite | 43 + .../sca/assembly/xml/TestAllCalculator.composite | 128 + .../sca/assembly/xml/TestAllDivide.composite | 56 + .../assembly/xml/TestAllPolicyCalculator.composite | 129 + .../sca/assembly/xml/another_test_definitions.xml | 97 + .../tuscany/sca/assembly/xml/test_definitions.xml | 175 + .../java/sca-node/modules/assembly-xsd/DISCLAIMER | 8 + .../java/sca-node/modules/assembly-xsd/LICENSE | 244 + .../java/sca-node/modules/assembly-xsd/NOTICE | 12 + .../java/sca-node/modules/assembly-xsd/pom.xml | 49 + ...any.sca.contribution.processor.ValidationSchema | 18 + .../assembly-xsd/src/main/resources/sca-all.xsd | 32 + .../src/main/resources/sca-binding-ejb.xsd | 43 + .../src/main/resources/sca-binding-jms.xsd | 135 + .../src/main/resources/sca-binding-sca.xsd | 23 + .../src/main/resources/sca-binding-webservice.xsd | 26 + .../assembly-xsd/src/main/resources/sca-core.xsd | 350 + .../src/main/resources/sca-definitions.xsd | 25 + .../src/main/resources/sca-implementation-bpel.xsd | 43 + .../resources/sca-implementation-composite.xsd | 23 + .../src/main/resources/sca-implementation-cpp.xsd | 53 + .../src/main/resources/sca-implementation-ejb.xsd | 25 + .../src/main/resources/sca-implementation-java.xsd | 24 + .../main/resources/sca-implementation-spring.xsd | 24 + .../src/main/resources/sca-interface-cpp.xsd | 40 + .../src/main/resources/sca-interface-java.xsd | 23 + .../src/main/resources/sca-interface-wsdl.xsd | 23 + .../assembly-xsd/src/main/resources/sca-policy.xsd | 77 + .../assembly-xsd/src/main/resources/sca.xsd | 22 + .../main/resources/tuscany-sca-binding-atom.xsd | 41 + .../src/main/resources/tuscany-sca-binding-dwr.xsd | 40 + .../main/resources/tuscany-sca-binding-http.xsd | 40 + .../main/resources/tuscany-sca-binding-jsonrpc.xsd | 40 + .../resources/tuscany-sca-binding-notification.xsd | 42 + .../src/main/resources/tuscany-sca-binding-rmi.xsd | 43 + .../src/main/resources/tuscany-sca-binding-rss.xsd | 41 + .../src/main/resources/tuscany-sca-data-helper.xsd | 44 + .../resources/tuscany-sca-implementation-das.xsd | 46 + .../tuscany-sca-implementation-data-xml.xsd | 45 + .../resources/tuscany-sca-implementation-node.xsd | 43 + .../tuscany-sca-implementation-notification.xsd | 42 + .../resources/tuscany-sca-implementation-osgi.xsd | 43 + .../tuscany-sca-implementation-resource.xsd | 42 + .../tuscany-sca-implementation-script.xsd | 43 + .../tuscany-sca-implementation-widget.xsd | 42 + .../tuscany-sca-implementation-xquery.xsd | 42 + .../src/main/resources/tuscany-sca.xsd | 46 + .../java/sca-node/modules/assembly/DISCLAIMER | 8 + .../java/sca-node/modules/assembly/LICENSE | 205 + .../java/sca-node/modules/assembly/NOTICE | 6 + .../java/sca-node/modules/assembly/pom.xml | 76 + .../tuscany/sca/assembly/AbstractContract.java | 77 + .../tuscany/sca/assembly/AbstractProperty.java | 124 + .../tuscany/sca/assembly/AbstractReference.java | 43 + .../tuscany/sca/assembly/AbstractService.java | 28 + .../tuscany/sca/assembly/AssemblyFactory.java | 155 + .../java/org/apache/tuscany/sca/assembly/Base.java | 43 + .../org/apache/tuscany/sca/assembly/Binding.java | 63 + .../org/apache/tuscany/sca/assembly/Callback.java | 40 + .../org/apache/tuscany/sca/assembly/Component.java | 132 + .../tuscany/sca/assembly/ComponentProperty.java | 88 + .../tuscany/sca/assembly/ComponentReference.java | 83 + .../tuscany/sca/assembly/ComponentService.java | 59 + .../apache/tuscany/sca/assembly/ComponentType.java | 77 + .../org/apache/tuscany/sca/assembly/Composite.java | 110 + .../tuscany/sca/assembly/CompositeReference.java | 37 + .../tuscany/sca/assembly/CompositeService.java | 56 + .../tuscany/sca/assembly/ConfiguredOperation.java | 61 + .../tuscany/sca/assembly/ConstrainingType.java | 72 + .../org/apache/tuscany/sca/assembly/Contract.java | 81 + .../sca/assembly/DefaultAssemblyFactory.java | 31 + .../sca/assembly/DefaultEndpointFactory.java | 32 + .../org/apache/tuscany/sca/assembly/Endpoint.java | 151 + .../tuscany/sca/assembly/EndpointFactory.java | 37 + .../apache/tuscany/sca/assembly/Extensible.java | 37 + .../tuscany/sca/assembly/Implementation.java | 27 + .../apache/tuscany/sca/assembly/Multiplicity.java | 49 + .../sca/assembly/OperationsConfigurator.java | 33 + .../tuscany/sca/assembly/OptimizableBinding.java | 66 + .../org/apache/tuscany/sca/assembly/Property.java | 41 + .../org/apache/tuscany/sca/assembly/Reference.java | 56 + .../apache/tuscany/sca/assembly/SCABinding.java | 27 + .../tuscany/sca/assembly/SCABindingFactory.java | 36 + .../org/apache/tuscany/sca/assembly/Service.java | 29 + .../java/org/apache/tuscany/sca/assembly/Wire.java | 67 + .../assembly/builder/ComponentPreProcessor.java | 33 + .../sca/assembly/builder/CompositeBuilder.java | 40 + .../builder/CompositeBuilderException.java | 45 + .../assembly/builder/DefaultEndpointBuilder.java | 34 + .../sca/assembly/builder/DomainBuilder.java | 80 + .../sca/assembly/builder/EndpointBuilder.java | 40 + .../builder/impl/BaseConfigurationBuilderImpl.java | 1376 ++ .../assembly/builder/impl/BaseWireBuilderImpl.java | 1331 ++ .../builder/impl/BindingConfigurationUtil.java | 146 + .../impl/ComponentConfigurationBuilderImpl.java | 50 + .../impl/ComponentReferenceWireBuilderImpl.java | 44 + .../builder/impl/CompositeBuilderImpl.java | 133 + .../builder/impl/CompositeCloneBuilderImpl.java | 118 + .../builder/impl/CompositeIncludeBuilderImpl.java | 110 + .../builder/impl/CompositePolicyBuilderImpl.java | 47 + .../impl/CompositePromotionBuilderImpl.java | 46 + .../impl/CompositeReferenceWireBuilderImpl.java | 44 + .../CompositeServiceConfigurationBuilderImpl.java | 50 + .../assembly/builder/impl/EndpointBuilderImpl.java | 127 + .../builder/impl/PolicyConfigurationException.java | 38 + .../builder/impl/PolicyConfigurationUtil.java | 752 ++ .../sca/assembly/builder/impl/PrintUtil.java | 273 + .../sca/assembly/builder/impl/ProblemImpl.java | 132 + .../builder/impl/PropertyConfigurationUtil.java | 213 + .../builder/impl/ReferenceConfigurationUtil.java | 95 + .../builder/impl/ServiceConfigurationUtil.java | 59 + .../sca/assembly/impl/AbstractPropertyImpl.java | 114 + .../sca/assembly/impl/AbstractReferenceImpl.java | 46 + .../sca/assembly/impl/AbstractServiceImpl.java | 36 + .../sca/assembly/impl/AssemblyFactoryImpl.java | 121 + .../apache/tuscany/sca/assembly/impl/BaseImpl.java | 45 + .../tuscany/sca/assembly/impl/CallbackImpl.java | 82 + .../tuscany/sca/assembly/impl/ComponentImpl.java | 174 + .../sca/assembly/impl/ComponentPropertyImpl.java | 93 + .../sca/assembly/impl/ComponentReferenceImpl.java | 91 + .../sca/assembly/impl/ComponentServiceImpl.java | 71 + .../sca/assembly/impl/ComponentTypeImpl.java | 115 + .../tuscany/sca/assembly/impl/CompositeImpl.java | 153 + .../sca/assembly/impl/CompositeReferenceImpl.java | 51 + .../sca/assembly/impl/CompositeServiceImpl.java | 62 + .../sca/assembly/impl/ConfiguredOperationImpl.java | 93 + .../sca/assembly/impl/ConstrainingTypeImpl.java | 105 + .../tuscany/sca/assembly/impl/ContractImpl.java | 96 + .../sca/assembly/impl/EndpointFactoryImpl.java | 41 + .../tuscany/sca/assembly/impl/EndpointImpl.java | 143 + .../tuscany/sca/assembly/impl/ExtensibleImpl.java | 44 + .../sca/assembly/impl/ImplementationImpl.java | 75 + .../tuscany/sca/assembly/impl/PropertyImpl.java | 59 + .../tuscany/sca/assembly/impl/ReferenceImpl.java | 116 + .../tuscany/sca/assembly/impl/ServiceImpl.java | 99 + .../apache/tuscany/sca/assembly/impl/WireImpl.java | 96 + ...org.apache.tuscany.sca.assembly.AssemblyFactory | 18 + ...org.apache.tuscany.sca.assembly.EndpointFactory | 18 + .../assembly-validation-messages.properties | 61 + .../assembly-validation-messages_it.properties | 30 + .../sca/assembly/AssemblyFactoryTestCase.java | 209 + .../apache/tuscany/sca/assembly/TestBinding.java | 55 + .../tuscany/sca/assembly/TestImplementation.java | 61 + .../apache/tuscany/sca/assembly/TestInterface.java | 42 + .../sca/assembly/TestInterfaceContract.java | 41 + .../apache/tuscany/sca/assembly/TestOperation.java | 30 + .../builder/impl/CompositeBuilderTestCase.java | 128 + .../assembly/builder/impl/PrintUtilTestCase.java | 229 + .../modules/binding-atom-abdera/DISCLAIMER | 8 + .../sca-node/modules/binding-atom-abdera/LICENSE | 205 + .../sca-node/modules/binding-atom-abdera/NOTICE | 6 + .../sca-node/modules/binding-atom-abdera/pom.xml | 177 + .../sca/binding/atom/collection/Collection.java | 81 + .../binding/atom/collection/MediaCollection.java | 55 + .../binding/atom/collection/NotFoundException.java | 45 + .../binding/atom/provider/AtomBindingInvoker.java | 487 + .../atom/provider/AtomBindingListenerServlet.java | 602 + .../atom/provider/AtomBindingProviderFactory.java | 74 + .../sca/binding/atom/provider/AtomBindingUtil.java | 164 + .../provider/AtomReferenceBindingProvider.java | 183 + .../atom/provider/AtomServiceBindingProvider.java | 90 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../apache/tuscany/sca/binding/atom/Consumer.java | 35 + .../tuscany/sca/binding/atom/CustomerClient.java | 25 + .../sca/binding/atom/CustomerClientImpl.java | 95 + .../sca/binding/atom/CustomerCollectionImpl.java | 127 + .../apache/tuscany/sca/binding/atom/Provider.java | 41 + .../tuscany/sca/binding/atom/Consumer.composite | 32 + .../tuscany/sca/binding/atom/Provider.composite | 33 + .../java/sca-node/modules/binding-atom/DISCLAIMER | 8 + .../java/sca-node/modules/binding-atom/LICENSE | 205 + .../java/sca-node/modules/binding-atom/NOTICE | 6 + .../java/sca-node/modules/binding-atom/pom.xml | 67 + .../tuscany/sca/binding/atom/AtomBinding.java | 43 + .../sca/binding/atom/AtomBindingFactory.java | 35 + .../binding/atom/impl/AtomBindingFactoryImpl.java | 36 + .../sca/binding/atom/impl/AtomBindingImpl.java | 145 + ...che.tuscany.sca.binding.atom.AtomBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../java/sca-node/modules/binding-corba/DISCLAIMER | 8 + .../java/sca-node/modules/binding-corba/LICENSE | 205 + .../java/sca-node/modules/binding-corba/NOTICE | 6 + .../java/sca-node/modules/binding-corba/pom.xml | 139 + .../tuscany/sca/binding/corba/CorbaBinding.java | 40 + .../sca/binding/corba/CorbaBindingFactory.java | 31 + .../binding/corba/exceptions/CorbaException.java | 34 + .../exceptions/RequestConfigurationException.java | 39 + .../corba/impl/CorbaBindingFactoryImpl.java | 37 + .../sca/binding/corba/impl/CorbaBindingImpl.java | 118 + .../binding/corba/impl/CorbaBindingProcessor.java | 125 + .../corba/impl/CorbaBindingProviderFactory.java | 60 + .../sca/binding/corba/impl/CorbaInvoker.java | 81 + .../corba/impl/CorbaReferenceBindingProvider.java | 72 + .../corba/impl/CorbaServiceBindingProvider.java | 126 + .../binding/corba/impl/CorbaServiceLocator.java | 395 + .../sca/binding/corba/impl/TuscanyServant.java | 46 + .../corba/impl/reference/DynaCorbaRequest.java | 166 + .../corba/impl/reference/DynaCorbaResponse.java | 39 + .../impl/reference/InterfaceInstanceCreator.java | 72 + .../impl/reference/InterfaceMethodInterceptor.java | 61 + .../tuscany/sca/binding/corba/types/NodeType.java | 28 + .../tuscany/sca/binding/corba/types/TypeTree.java | 76 + .../sca/binding/corba/types/TypeTreeCreator.java | 224 + .../sca/binding/corba/types/TypeTreeNode.java | 66 + .../binding/corba/types/util/ArrayTypeHelper.java | 46 + .../corba/types/util/BooleanTypeHelper.java | 45 + .../binding/corba/types/util/ByteTypeHelper.java | 45 + .../binding/corba/types/util/CharTypeHelper.java | 45 + .../binding/corba/types/util/DoubleTypeHelper.java | 45 + .../binding/corba/types/util/FloatTypeHelper.java | 45 + .../binding/corba/types/util/IntTypeHelper.java | 45 + .../binding/corba/types/util/LongTypeHelper.java | 46 + .../corba/types/util/ReferenceTypeHelper.java | 48 + .../corba/types/util/SequenceTypeHelper.java | 83 + .../binding/corba/types/util/ShortTypeHelper.java | 46 + .../binding/corba/types/util/StringTypeHelper.java | 46 + .../binding/corba/types/util/StructTypeHelper.java | 90 + .../sca/binding/corba/types/util/TypeHelper.java | 55 + .../binding/corba/types/util/TypeHelpersProxy.java | 132 + ...e.tuscany.sca.binding.corba.CorbaBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../binding/corba/testing/CorbaTypesTestCase.java | 505 + .../sca/binding/corba/testing/TestConstants.java | 40 + .../sca/binding/corba/testing/exceptions/Calc.java | 32 + .../corba/testing/exceptions/CalcHelper.java | 104 + .../corba/testing/exceptions/CalcHolder.java | 57 + .../corba/testing/exceptions/CalcOperations.java | 34 + .../testing/exceptions/CalcPackage/Arguments.java | 45 + .../exceptions/CalcPackage/ArgumentsHelper.java | 101 + .../exceptions/CalcPackage/ArgumentsHolder.java | 57 + .../testing/exceptions/CalcPackage/DivByZero.java | 55 + .../exceptions/CalcPackage/DivByZeroHelper.java | 105 + .../exceptions/CalcPackage/DivByZeroHolder.java | 57 + .../exceptions/CalcPackage/NotSupported.java | 52 + .../exceptions/CalcPackage/NotSupportedHelper.java | 98 + .../exceptions/CalcPackage/NotSupportedHolder.java | 57 + .../corba/testing/exceptions/_CalcImplBase.java | 109 + .../corba/testing/exceptions/_CalcStub.java | 109 + .../corba/testing/generated/ArraysSetter.java | 32 + .../testing/generated/ArraysSetterHelper.java | 104 + .../testing/generated/ArraysSetterHolder.java | 57 + .../testing/generated/ArraysSetterOperations.java | 47 + .../corba/testing/generated/PrimitivesSetter.java | 32 + .../testing/generated/PrimitivesSetterHelper.java | 104 + .../testing/generated/PrimitivesSetterHolder.java | 57 + .../generated/PrimitivesSetterOperations.java | 47 + .../corba/testing/generated/RemoteObject.java | 32 + .../testing/generated/RemoteObjectHelper.java | 104 + .../testing/generated/RemoteObjectHolder.java | 57 + .../testing/generated/RemoteObjectOperations.java | 32 + .../corba/testing/generated/SimpleStruct.java | 45 + .../testing/generated/SimpleStructHelper.java | 101 + .../testing/generated/SimpleStructHolder.java | 57 + .../corba/testing/generated/SomeStruct.java | 51 + .../corba/testing/generated/SomeStructHelper.java | 134 + .../corba/testing/generated/SomeStructHolder.java | 57 + .../corba/testing/generated/TestObject.java | 32 + .../corba/testing/generated/TestObjectHelper.java | 104 + .../corba/testing/generated/TestObjectHolder.java | 57 + .../testing/generated/TestObjectOperations.java | 38 + .../testing/generated/_ArraysSetterImplBase.java | 237 + .../corba/testing/generated/_ArraysSetterStub.java | 359 + .../generated/_PrimitivesSetterImplBase.java | 237 + .../testing/generated/_PrimitivesSetterStub.java | 359 + .../testing/generated/_RemoteObjectImplBase.java | 66 + .../corba/testing/generated/_RemoteObjectStub.java | 59 + .../testing/generated/_TestObjectImplBase.java | 157 + .../corba/testing/generated/_TestObjectStub.java | 190 + .../testing/generated/boolean_listHelper.java | 79 + .../testing/generated/boolean_listHolder.java | 58 + .../corba/testing/generated/char_listHelper.java | 79 + .../corba/testing/generated/char_listHolder.java | 58 + .../corba/testing/generated/double_listHelper.java | 79 + .../corba/testing/generated/double_listHolder.java | 58 + .../corba/testing/generated/float_listHelper.java | 79 + .../corba/testing/generated/float_listHolder.java | 58 + .../corba/testing/generated/long_listHelper.java | 79 + .../corba/testing/generated/long_listHolder.java | 58 + .../testing/generated/long_long_listHelper.java | 79 + .../testing/generated/long_long_listHolder.java | 58 + .../corba/testing/generated/long_seq1Helper.java | 79 + .../corba/testing/generated/long_seq1Holder.java | 58 + .../corba/testing/generated/long_seq2Helper.java | 83 + .../corba/testing/generated/long_seq2Holder.java | 58 + .../corba/testing/generated/long_seq3Helper.java | 85 + .../corba/testing/generated/long_seq3Holder.java | 58 + .../corba/testing/generated/octet_listHelper.java | 79 + .../corba/testing/generated/octet_listHolder.java | 58 + .../generated/remote_object_listHelper.java | 81 + .../generated/remote_object_listHolder.java | 58 + .../corba/testing/generated/short_listHelper.java | 79 + .../corba/testing/generated/short_listHolder.java | 58 + .../corba/testing/generated/string_listHelper.java | 81 + .../corba/testing/generated/string_listHolder.java | 58 + .../generated/unsigned_long_listHelper.java | 79 + .../generated/unsigned_long_listHolder.java | 58 + .../generated/unsigned_long_long_listHelper.java | 79 + .../generated/unsigned_long_long_listHolder.java | 58 + .../generated/unsigned_short_listHelper.java | 79 + .../generated/unsigned_short_listHolder.java | 58 + .../corba/testing/generated/wchar_listHelper.java | 79 + .../corba/testing/generated/wchar_listHolder.java | 58 + .../testing/generated/wstring_listHelper.java | 81 + .../testing/generated/wstring_listHolder.java | 58 + .../sca/binding/corba/testing/hierarchy/Calc.java | 28 + .../corba/testing/hierarchy/DivArguments.java | 27 + .../testing/hierarchy/DivByZeroException.java | 27 + .../corba/testing/hierarchy/DummyObject.java | 27 + .../testing/hierarchy/NotSupportedException.java | 27 + .../corba/testing/hierarchy/SimpleStruct.java | 30 + .../corba/testing/hierarchy/SomeStruct.java | 33 + .../corba/testing/references/DummyObject.java | 32 + .../testing/references/DummyObjectHelper.java | 104 + .../testing/references/DummyObjectHolder.java | 57 + .../testing/references/DummyObjectOperations.java | 34 + .../corba/testing/references/ObjectManager.java | 32 + .../testing/references/ObjectManagerHelper.java | 104 + .../testing/references/ObjectManagerHolder.java | 57 + .../references/ObjectManagerOperations.java | 34 + .../testing/references/_DummyObjectImplBase.java | 92 + .../corba/testing/references/_DummyObjectStub.java | 97 + .../testing/references/_ObjectManagerImplBase.java | 93 + .../testing/references/_ObjectManagerStub.java | 98 + .../testing/servants/ArraysSetterServant.java | 89 + .../corba/testing/servants/CalcServant.java | 53 + .../corba/testing/servants/DummyObjectServant.java | 42 + .../testing/servants/ObjectManagerServant.java | 37 + .../testing/servants/PrimitivesSetterServant.java | 89 + .../corba/testing/servants/TestObjectServant.java | 73 + .../src/test/resources/exceptions.idl | 58 + .../src/test/resources/general_tests.idl | 126 + .../src/test/resources/references.idl | 50 + .../java/sca-node/modules/binding-dwr/DISCLAIMER | 8 + .../java/sca-node/modules/binding-dwr/LICENSE | 205 + .../java/sca-node/modules/binding-dwr/NOTICE | 6 + .../java/sca-node/modules/binding-dwr/pom.xml | 95 + .../apache/tuscany/sca/binding/dwr/DWRBinding.java | 31 + .../sca/binding/dwr/DWRBindingActivator.java | 56 + .../apache/tuscany/sca/binding/dwr/DWRInvoker.java | 93 + .../tuscany/sca/binding/dwr/DWRInvokerFactory.java | 67 + .../apache/tuscany/sca/binding/dwr/DWRService.java | 81 + .../apache/tuscany/sca/binding/dwr/DWRServlet.java | 247 + ...e.tuscany.sca.extension.helper.BindingActivator | 19 + .../modules/binding-ejb-runtime/DISCLAIMER | 8 + .../sca-node/modules/binding-ejb-runtime/LICENSE | 205 + .../sca-node/modules/binding-ejb-runtime/NOTICE | 6 + .../sca-node/modules/binding-ejb-runtime/pom.xml | 176 + .../sca/binding/ejb/corba/ClassLoadingUtil.java | 365 + .../binding/ejb/corba/DynamicStubClassLoader.java | 150 + .../sca/binding/ejb/corba/Java2IDLUtil.java | 811 ++ .../binding/ejb/corba/ObjectInputStreamExt.java | 61 + .../binding/ejb/corba/StubMethodInterceptor.java | 154 + .../sca/binding/ejb/corba/UtilInitializer.java | 69 + .../binding/ejb/provider/EJBBindingInvoker.java | 92 + .../ejb/provider/EJBBindingProviderFactory.java | 56 + .../EJBBindingReferenceBindingProvider.java | 86 + .../tuscany/sca/binding/ejb/util/EJBHandler.java | 338 + .../tuscany/sca/binding/ejb/util/EJBLocator.java | 483 + .../sca/binding/ejb/util/EJBObjectFactory.java | 209 + .../sca/binding/ejb/util/EJBStubHelper.java | 69 + .../sca/binding/ejb/util/InterfaceInfo.java | 116 + .../binding/ejb/util/JavaReflectionAdapter.java | 157 + .../tuscany/sca/binding/ejb/util/MethodInfo.java | 189 + .../sca/binding/ejb/util/NamingEndpoint.java | 124 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../binding-ejb-validation-messages.properties | 23 + .../src/test/java/account/BankManagerFacade.java | 33 + .../src/test/java/account/Customer.java | 36 + .../src/test/java/account/CustomerImpl.java | 57 + .../src/test/java/calculator/AddService.java | 27 + .../src/test/java/calculator/AddServiceHome.java | 31 + .../samples/bank/ejb/BankManagerFacade.java | 44 + .../samples/bank/ejb/BankManagerFacadeHome.java | 44 + .../binding/ejb/tests/EJBReferenceTestCase.java | 67 + .../tuscany/sca/binding/ejb/tests/MockServer.java | 151 + .../sca/binding/ejb/tests/SocketTracer.java | 138 + .../src/test/resources/account/account.composite | 35 + .../java/sca-node/modules/binding-ejb/DISCLAIMER | 8 + .../java/sca-node/modules/binding-ejb/LICENSE | 205 + .../java/sca-node/modules/binding-ejb/NOTICE | 6 + .../java/sca-node/modules/binding-ejb/pom.xml | 84 + .../apache/tuscany/sca/binding/ejb/EJBBinding.java | 94 + .../sca/binding/ejb/EJBBindingException.java | 56 + .../tuscany/sca/binding/ejb/EJBBindingFactory.java | 35 + .../binding/ejb/impl/EJBBindingFactoryImpl.java | 36 + .../sca/binding/ejb/impl/EJBBindingImpl.java | 182 + .../sca/binding/ejb/impl/EJBBindingProcessor.java | 182 + ...pache.tuscany.sca.binding.ejb.EJBBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../binding-ejb-validation-messages.properties | 23 + .../java/sca-node/modules/binding-feed/DISCLAIMER | 8 + .../java/sca-node/modules/binding-feed/LICENSE | 205 + .../java/sca-node/modules/binding-feed/NOTICE | 6 + .../java/sca-node/modules/binding-feed/pom.xml | 165 + .../tuscany/sca/binding/feed/AtomBinding.java | 30 + .../sca/binding/feed/AtomBindingFactory.java | 35 + .../tuscany/sca/binding/feed/RSSBinding.java | 30 + .../sca/binding/feed/RSSBindingFactory.java | 35 + .../sca/binding/feed/collection/Collection.java | 72 + .../binding/feed/collection/MediaCollection.java | 55 + .../binding/feed/collection/NotFoundException.java | 45 + .../binding/feed/impl/AtomBindingFactoryImpl.java | 36 + .../sca/binding/feed/impl/AtomBindingImpl.java | 137 + .../binding/feed/impl/RSSBindingFactoryImpl.java | 36 + .../sca/binding/feed/impl/RSSBindingImpl.java | 100 + .../binding/feed/provider/AtomBindingInvoker.java | 345 + .../feed/provider/AtomBindingProviderFactory.java | 74 + .../binding/feed/provider/AtomFeedEntryUtil.java | 117 + .../provider/AtomReferenceBindingProvider.java | 116 + .../feed/provider/AtomServiceBindingProvider.java | 90 + .../feed/provider/FeedBindingListenerServlet.java | 788 ++ .../binding/feed/provider/RSSBindingInvoker.java | 91 + .../feed/provider/RSSBindingProviderFactory.java | 74 + .../feed/provider/RSSReferenceBindingProvider.java | 65 + .../feed/provider/RSSServiceBindingProvider.java | 85 + ...che.tuscany.sca.binding.feed.AtomBindingFactory | 19 + ...ache.tuscany.sca.binding.feed.RSSBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 20 + ...che.tuscany.sca.provider.BindingProviderFactory | 20 + .../apache/tuscany/sca/binding/feed/Consumer.java | 35 + .../tuscany/sca/binding/feed/CustomerClient.java | 25 + .../sca/binding/feed/CustomerClientImpl.java | 97 + .../sca/binding/feed/CustomerCollectionImpl.java | 136 + .../apache/tuscany/sca/binding/feed/Provider.java | 41 + .../tuscany/sca/binding/feed/Consumer.composite | 32 + .../tuscany/sca/binding/feed/Provider.composite | 33 + .../modules/binding-http-runtime/DISCLAIMER | 8 + .../sca-node/modules/binding-http-runtime/LICENSE | 205 + .../sca-node/modules/binding-http-runtime/NOTICE | 6 + .../sca-node/modules/binding-http-runtime/pom.xml | 114 + .../http/provider/HTTPBindingProviderFactory.java | 64 + .../http/provider/HTTPGetListenerServlet.java | 94 + .../http/provider/HTTPServiceBindingProvider.java | 112 + .../http/provider/HTTPServiceListenerServlet.java | 85 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../sca/binding/http/HTTPBindingTestCase.java | 144 + .../tuscany/sca/binding/http/TestGetImpl.java | 38 + .../tuscany/sca/binding/http/TestServiceImpl.java | 60 + .../src/test/resources/content/test.html | 21 + .../src/test/resources/test.composite | 47 + .../java/sca-node/modules/binding-http/DISCLAIMER | 8 + .../java/sca-node/modules/binding-http/LICENSE | 205 + .../java/sca-node/modules/binding-http/NOTICE | 6 + .../java/sca-node/modules/binding-http/pom.xml | 86 + .../tuscany/sca/binding/http/HTTPBinding.java | 31 + .../sca/binding/http/HTTPBindingFactory.java | 35 + .../binding/http/impl/HTTPBindingFactoryImpl.java | 36 + .../sca/binding/http/impl/HTTPBindingImpl.java | 64 + ...che.tuscany.sca.binding.http.HTTPBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../java/sca-node/modules/binding-jms/DISCLAIMER | 8 + .../java/sca-node/modules/binding-jms/LICENSE | 205 + .../java/sca-node/modules/binding-jms/NOTICE | 6 + .../java/sca-node/modules/binding-jms/pom.xml | 123 + .../tuscany/sca/binding/jms/impl/JMSBinding.java | 516 + .../sca/binding/jms/impl/JMSBindingConstants.java | 65 + .../sca/binding/jms/impl/JMSBindingException.java | 45 + .../sca/binding/jms/impl/JMSBindingProcessor.java | 430 + .../jms/provider/AbstractMessageProcessor.java | 117 + .../binding/jms/provider/JMSBindingInvoker.java | 273 + .../binding/jms/provider/JMSBindingListener.java | 169 + .../jms/provider/JMSBindingProviderFactory.java | 62 + .../JMSBindingReferenceBindingProvider.java | 142 + .../provider/JMSBindingServiceBindingProvider.java | 227 + .../binding/jms/provider/JMSMessageProcessor.java | 55 + .../binding/jms/provider/JMSResourceFactory.java | 176 + .../jms/provider/ObjectMessageProcessor.java | 70 + .../binding/jms/provider/TextMessageProcessor.java | 69 + .../jms/provider/XMLTextMessageProcessor.java | 91 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../binding-jms-validation-messages.properties | 41 + .../sca/binding/jms/HelloWorldClientImpl.java | 43 + .../tuscany/sca/binding/jms/HelloWorldService.java | 31 + .../sca/binding/jms/HelloWorldServiceImpl.java | 32 + .../jms/OperationSelectionTestCaseFIXME.java | 238 + ...ndingReferenceQueueCreateModeTestCaseFIXME.java | 326 + ...BindingServiceQueueCreateModeTestCaseFIXME.java | 172 + .../src/test/resources/simple/client.composite | 38 + .../src/test/resources/simple/service.composite | 35 + .../modules/binding-jsonrpc-runtime/DISCLAIMER | 8 + .../modules/binding-jsonrpc-runtime/LICENSE | 205 + .../modules/binding-jsonrpc-runtime/NOTICE | 6 + .../modules/binding-jsonrpc-runtime/pom.xml | 157 + .../jsonrpc/provider/JSONRPCBindingInvoker.java | 45 + .../provider/JSONRPCBindingProviderFactory.java | 64 + .../provider/JSONRPCReferenceBindingProvider.java | 70 + .../provider/JSONRPCServiceBindingProvider.java | 187 + .../jsonrpc/provider/JSONRPCServiceServlet.java | 285 + .../sca/binding/jsonrpc/provider/JavaToSmd.java | 56 + .../jsonrpc/provider/ScaDomainScriptServlet.java | 114 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../apache/tuscany/sca/binding/jsonrpc/jsonrpc.js | 493 + .../apache/tuscany/sca/binding/jsonrpc/Echo.java | 29 + .../sca/binding/jsonrpc/EchoComponentImpl.java | 34 + .../binding/jsonrpc/JSONRPCServiceTestCase.java | 67 + .../src/test/resources/JSONRPCBinding.composite | 35 + .../sca-node/modules/binding-jsonrpc/DISCLAIMER | 8 + .../java/sca-node/modules/binding-jsonrpc/LICENSE | 205 + .../java/sca-node/modules/binding-jsonrpc/NOTICE | 6 + .../java/sca-node/modules/binding-jsonrpc/pom.xml | 72 + .../sca/binding/jsonrpc/JSONRPCBinding.java | 96 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../modules/binding-notification/DISCLAIMER | 8 + .../sca-node/modules/binding-notification/LICENSE | 205 + .../sca-node/modules/binding-notification/NOTICE | 6 + .../sca-node/modules/binding-notification/pom.xml | 144 + .../DefaultNotificationBindingFactory.java | 31 + .../binding/notification/NotificationBinding.java | 37 + .../notification/NotificationBindingFactory.java | 27 + .../notification/NotificationBindingImpl.java | 75 + .../NotificationBindingModuleActivator.java | 68 + .../notification/NotificationBindingProcessor.java | 97 + .../NotificationBindingProviderFactory.java | 342 + .../notification/NotificationBrokerManager.java | 40 + .../NotificationReferenceBindingInvoker.java | 126 + .../NotificationReferenceBindingProvider.java | 338 + .../NotificationServiceBindingProvider.java | 317 + .../notification/NotificationTypeManager.java | 43 + .../notification/NotificationTypeManagerImpl.java | 669 + .../notification/encoding/AbstractBroker.java | 44 + .../encoding/AbstractBrokerEnDeCoder.java | 86 + .../notification/encoding/AbstractEnDeCoder.java | 50 + .../sca/binding/notification/encoding/Broker.java | 25 + .../encoding/BrokerConsumerReference.java | 26 + .../encoding/BrokerConsumerReferenceEnDeCoder.java | 44 + .../notification/encoding/BrokerEnDeCoder.java | 46 + .../binding/notification/encoding/BrokerID.java | 41 + .../notification/encoding/BrokerIDEnDeCoder.java | 90 + .../encoding/BrokerProducerReference.java | 26 + .../encoding/BrokerProducerReferenceEnDeCoder.java | 44 + .../sca/binding/notification/encoding/Brokers.java | 41 + .../notification/encoding/BrokersEnDeCoder.java | 89 + .../notification/encoding/ConnectionOverride.java | 35 + .../encoding/ConnectionOverrideEnDeCoder.java | 83 + .../encoding/ConnectionOverrideResponse.java | 25 + .../ConnectionOverrideResponseEnDeCoder.java | 77 + .../binding/notification/encoding/Constants.java | 74 + .../notification/encoding/ConsumerReference.java | 26 + .../encoding/ConsumerReferenceEnDeCoder.java | 44 + .../encoding/DefaultEncodingRegistry.java | 78 + .../binding/notification/encoding/EnDeCoder.java | 62 + .../notification/encoding/EncodingException.java | 49 + .../notification/encoding/EncodingObject.java | 26 + .../notification/encoding/EncodingRegistry.java | 57 + .../notification/encoding/EncodingUtils.java | 83 + .../notification/encoding/EndConsumers.java | 26 + .../encoding/EndConsumersEnDeCoder.java | 61 + .../notification/encoding/EndProducers.java | 26 + .../encoding/EndProducersEnDeCoder.java | 61 + .../notification/encoding/EndpointAddress.java | 45 + .../encoding/EndpointAddressEnDeCoder.java | 90 + .../notification/encoding/EndpointReference.java | 44 + .../encoding/EndpointReferenceEnDeCoder.java | 99 + .../encoding/EndpointReferenceSequence.java | 54 + .../EndpointReferenceSequenceEnDeCoder.java | 85 + .../encoding/EndpointReferenceWrapper.java | 35 + .../EndpointReferenceWrapperEnDeCoder.java | 74 + .../encoding/NeighborBrokerConsumers.java | 26 + .../encoding/NeighborBrokerConsumersEnDeCoder.java | 61 + .../binding/notification/encoding/Neighbors.java | 45 + .../notification/encoding/NeighborsEnDeCoder.java | 89 + .../binding/notification/encoding/NewBroker.java | 25 + .../notification/encoding/NewBrokerAck.java | 25 + .../encoding/NewBrokerAckEnDeCoder.java | 77 + .../notification/encoding/NewBrokerEnDeCoder.java | 46 + .../notification/encoding/NewBrokerResponse.java | 62 + .../encoding/NewBrokerResponseEnDeCoder.java | 115 + .../binding/notification/encoding/NewConsumer.java | 26 + .../encoding/NewConsumerEnDeCoder.java | 44 + .../notification/encoding/NewConsumerResponse.java | 26 + .../encoding/NewConsumerResponseEnDeCoder.java | 61 + .../binding/notification/encoding/NewProducer.java | 26 + .../encoding/NewProducerEnDeCoder.java | 44 + .../notification/encoding/NewProducerResponse.java | 26 + .../encoding/NewProducerResponseEnDeCoder.java | 61 + .../notification/encoding/ReferenceProperties.java | 54 + .../encoding/ReferencePropertiesEnDeCoder.java | 87 + .../notification/encoding/RemoveBroker.java | 44 + .../encoding/RemoveBrokerEnDeCoder.java | 99 + .../notification/encoding/RemovedBroker.java | 26 + .../encoding/RemovedBrokerEnDeCoder.java | 44 + .../encoding/ReplaceBrokerConnection.java | 44 + .../encoding/ReplaceBrokerConnectionEnDeCoder.java | 99 + .../binding/notification/encoding/Subscribe.java | 35 + .../notification/encoding/SubscribeEnDeCoder.java | 83 + .../sca/binding/notification/util/IOUtils.java | 176 + .../notification/util/NotificationServlet.java | 89 + .../sca/binding/notification/util/URIUtil.java | 41 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../notification/encoding/AxiomTestCase.java | 56 + .../notification/encoding/EncodingTestCase.java | 470 + .../java/sca-node/modules/binding-rmi/DISCLAIMER | 8 + .../java/sca-node/modules/binding-rmi/LICENSE | 205 + .../java/sca-node/modules/binding-rmi/NOTICE | 6 + .../java/sca-node/modules/binding-rmi/pom.xml | 79 + .../apache/tuscany/sca/binding/rmi/RMIBinding.java | 77 + .../sca/binding/rmi/RMIBindingActivator.java | 58 + .../sca/binding/rmi/RMIReferenceInvoker.java | 88 + .../binding/rmi/RMIReferenceInvokerFactory.java | 65 + .../apache/tuscany/sca/binding/rmi/RMIService.java | 172 + ...e.tuscany.sca.extension.helper.BindingActivator | 18 + .../src/test/java/helloworld/HelloWorldImpl.java | 39 + .../test/java/helloworld/HelloWorldRmiImpl.java | 50 + .../test/java/helloworld/HelloWorldRmiService.java | 31 + .../test/java/helloworld/HelloWorldService.java | 31 + .../tuscany/sca/binding/rmi/BindingTestCase.java | 68 + .../test/resources/HelloWorldImpl.componentType | 23 + .../test/resources/HelloWorldRmiImpl.componentType | 27 + .../src/test/resources/RMIBindingTest.composite | 43 + .../sca-node/modules/binding-rss-rome/DISCLAIMER | 8 + .../java/sca-node/modules/binding-rss-rome/LICENSE | 205 + .../java/sca-node/modules/binding-rss-rome/NOTICE | 6 + .../java/sca-node/modules/binding-rss-rome/pom.xml | 171 + .../sca/binding/rss/collection/Collection.java | 49 + .../binding/rss/collection/MediaCollection.java | 55 + .../binding/rss/collection/NotFoundException.java | 45 + .../binding/rss/provider/RSSBindingInvoker.java | 76 + .../rss/provider/RSSBindingListenerServlet.java | 394 + .../rss/provider/RSSBindingProviderFactory.java | 74 + .../rss/provider/RSSReferenceBindingProvider.java | 65 + .../rss/provider/RSSServiceBindingProvider.java | 85 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../apache/tuscany/sca/binding/rss/Consumer.java | 35 + .../tuscany/sca/binding/rss/CustomerClient.java | 25 + .../sca/binding/rss/CustomerClientImpl.java | 45 + .../sca/binding/rss/CustomerCollectionImpl.java | 103 + .../apache/tuscany/sca/binding/rss/Provider.java | 41 + .../tuscany/sca/binding/feed/Consumer.composite | 32 + .../tuscany/sca/binding/feed/Provider.composite | 33 + .../java/sca-node/modules/binding-rss/DISCLAIMER | 8 + .../java/sca-node/modules/binding-rss/LICENSE | 205 + .../java/sca-node/modules/binding-rss/NOTICE | 6 + .../java/sca-node/modules/binding-rss/pom.xml | 98 + .../apache/tuscany/sca/binding/rss/RSSBinding.java | 28 + .../tuscany/sca/binding/rss/RSSBindingFactory.java | 35 + .../binding/rss/impl/RSSBindingFactoryImpl.java | 36 + .../sca/binding/rss/impl/RSSBindingImpl.java | 98 + ...pache.tuscany.sca.binding.rss.RSSBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../sca-node/modules/binding-sca-axis2/DISCLAIMER | 8 + .../sca-node/modules/binding-sca-axis2/LICENSE | 205 + .../java/sca-node/modules/binding-sca-axis2/NOTICE | 6 + .../sca-node/modules/binding-sca-axis2/pom.xml | 116 + .../sca/axis2/impl/Axis2SCABindingInvoker.java | 100 + .../axis2/impl/Axis2SCABindingProviderFactory.java | 80 + .../impl/Axis2SCAReferenceBindingProvider.java | 197 + .../axis2/impl/Axis2SCAServiceBindingProvider.java | 136 + .../sca/axis2/impl/Axis2SCAServiceProvider.java | 85 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../sca/binding/sca/axis2/AsynchTestCase.java | 73 + .../BindingScaEndpointResolverFactoryImpl.java | 50 + .../sca/axis2/BindingScaEndpointResolverImpl.java | 69 + .../sca/binding/sca/axis2/CallbackTestCase.java | 77 + .../sca/binding/sca/axis2/PromotionTestCase.java | 66 + .../sca/binding/sca/axis2/SimpleTestCase.java | 105 + .../tuscany/sca/binding/sca/axis2/TestNode.java | 232 + .../axis2/helloworld/HelloWorldCallbackRemote.java | 29 + .../sca/axis2/helloworld/HelloWorldClient.java | 27 + .../HelloWorldServiceCallbackOnewayRemote.java | 33 + .../HelloWorldServiceCallbackRemote.java | 31 + .../axis2/helloworld/HelloWorldServiceLocal.java | 27 + .../axis2/helloworld/HelloWorldServiceRemote.java | 29 + .../axis2/helloworld/HelloWorldServiceRemote2.java | 29 + .../HelloWorldClientCallbackOnewayRemoteImpl.java | 43 + .../impl/HelloWorldClientCallbackRemoteImpl.java | 42 + .../helloworld/impl/HelloWorldClientLocalImpl.java | 35 + .../impl/HelloWorldClientRemote2Impl.java | 35 + .../impl/HelloWorldClientRemoteImpl.java | 35 + .../HelloWorldServiceCallbackOnewayRemoteImpl.java | 36 + .../impl/HelloWorldServiceCallbackRemoteImpl.java | 35 + .../impl/HelloWorldServiceLocalImpl.java | 30 + .../HelloWorldServiceMultipleServicesImpl.java | 41 + .../impl/HelloWorldServiceRemoteImpl.java | 30 + ...ny.sca.endpointresolver.EndpointResolverFactory | 19 + .../src/test/resources/nodeA/HelloWorld.composite | 75 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeB/HelloWorld.composite | 84 + .../resources/nodeB/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeC/HelloWorld.composite | 35 + .../resources/nodeC/HelloWorldComponent.composite | 37 + .../resources/nodeC/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeD/HelloWorld.composite | 35 + .../resources/nodeD/HelloWorldComponent.composite | 37 + .../resources/nodeD/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeE/HelloWorld.composite | 36 + .../resources/nodeE/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeF/HelloWorld.composite | 43 + .../resources/nodeF/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeG/HelloWorld.composite | 36 + .../resources/nodeG/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeH/HelloWorld.composite | 38 + .../resources/nodeH/META-INF/sca-contribution.xml | 24 + .../sca-node/modules/binding-sca-xml/DISCLAIMER | 8 + .../java/sca-node/modules/binding-sca-xml/LICENSE | 205 + .../java/sca-node/modules/binding-sca-xml/NOTICE | 6 + .../java/sca-node/modules/binding-sca-xml/pom.xml | 77 + .../sca/binding/sca/xml/SCABindingProcessor.java | 133 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../tuscany/sca/binding/sca/xml/ReadTestCase.java | 108 + .../tuscany/sca/binding/sca/xml/WriteTestCase.java | 77 + .../src/test/resources/Calculator.composite | 59 + .../resources/CalculatorServiceImpl.componentType | 33 + .../java/sca-node/modules/binding-sca/DISCLAIMER | 8 + .../java/sca-node/modules/binding-sca/LICENSE | 205 + .../java/sca-node/modules/binding-sca/NOTICE | 6 + .../java/sca-node/modules/binding-sca/pom.xml | 93 + .../sca/binding/sca/DistributedSCABinding.java | 37 + .../binding/sca/SCABindingDefinitionsProvider.java | 73 + .../sca/impl/DistributedSCABindingImpl.java | 115 + .../sca/impl/RuntimeSCABindingProvider.java | 61 + .../sca/impl/RuntimeSCABindingProviderFactory.java | 62 + .../impl/RuntimeSCAReferenceBindingProvider.java | 230 + .../sca/impl/RuntimeSCAServiceBindingProvider.java | 154 + .../binding/sca/impl/SCABindingFactoryImpl.java | 40 + .../sca/binding/sca/impl/SCABindingImpl.java | 211 + .../sca/binding/sca/impl/SCABindingInvoker.java | 71 + ...g.apache.tuscany.sca.assembly.SCABindingFactory | 18 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 + .../apache/tuscany/sca/binding/sca/definitions.xml | 26 + .../sca/binding/sca/SCABindingTestCase.java | 113 + .../src/test/resources/Calculator.composite | 52 + .../sca-node/modules/binding-ws-axis2/DISCLAIMER | 8 + .../java/sca-node/modules/binding-ws-axis2/LICENSE | 205 + .../java/sca-node/modules/binding-ws-axis2/NOTICE | 6 + .../java/sca-node/modules/binding-ws-axis2/pom.xml | 426 + .../sca/binding/ws/axis2/Axis2BindingInvoker.java | 247 + .../ws/axis2/Axis2BindingProviderFactory.java | 86 + .../ws/axis2/Axis2OneWayBindingInvoker.java | 69 + .../ws/axis2/Axis2ReferenceBindingProvider.java | 129 + .../ws/axis2/Axis2ServiceBindingProvider.java | 147 + .../sca/binding/ws/axis2/Axis2ServiceClient.java | 661 + .../ws/axis2/Axis2ServiceInMessageReceiver.java | 75 + .../Axis2ServiceInOutSyncMessageReceiver.java | 99 + .../sca/binding/ws/axis2/Axis2ServiceProvider.java | 700 + .../sca/binding/ws/axis2/Axis2ServiceServlet.java | 294 + .../sca/binding/ws/axis2/AxisPolicyHelper.java | 79 + .../binding/ws/axis2/TuscanyAxisConfigurator.java | 206 + .../sca/binding/ws/axis2/TuscanyDispatcher.java | 105 + .../sca/binding/ws/axis2/TuscanyListingAgent.java | 235 + .../ws/axis2/WSBindingDefinitionsProvider.java | 66 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 + .../tuscany/sca/binding/ws/axis2/definitions.xml | 53 + .../sca/binding/ws/axis2/engine/config/axis2.xml | 503 + .../ws/axis2/engine/config/modules/modules.list | 1 + .../ws/axis2/engine/config/modules/rampart-1.3.mar | Bin 0 -> 2704 bytes .../ws/axis2/engine/config/services/services.list | 0 .../binding/ws/axis2/Axis2ReferenceTestCase.java | 83 + .../sca/binding/ws/axis2/Axis2ServiceTestCase.java | 104 + .../tuscany/sca/binding/ws/axis2/Greeter.java | 31 + .../sca/binding/ws/axis2/GreetingCallback.java | 24 + .../sca/binding/ws/axis2/itests/Account.java | 34 + .../binding/ws/axis2/itests/AccountService.java | 33 + .../tuscany/sca/binding/ws/axis2/itests/Bar.java | 58 + .../ws/axis2/itests/CustomerProfileData.java | 103 + .../tuscany/sca/binding/ws/axis2/itests/Echo.java | 29 + .../sca/binding/ws/axis2/itests/EchoComponent.java | 33 + .../sca/binding/ws/axis2/itests/EchoImpl.java | 29 + .../tuscany/sca/binding/ws/axis2/itests/Foo.java | 36 + .../sca/binding/ws/axis2/itests/HelloWorld.java | 29 + .../ws/axis2/itests/HelloWorldComponent.java | 33 + .../ws/axis2/itests/HelloWorldMultiService.java | 51 + .../ws/axis2/itests/HelloWorldNoWSDLTestCase.java | 77 + .../sca/binding/ws/axis2/itests/HelloWorldOM.java | 30 + .../sca/binding/ws/axis2/itests/HelloWorldOM2.java | 30 + .../ws/axis2/itests/HelloWorldOMComponent.java | 34 + .../ws/axis2/itests/HelloWorldOMService.java | 41 + .../ws/axis2/itests/HelloWorldOMTestCase.java | 58 + .../binding/ws/axis2/itests/HelloWorldService.java | 28 + .../ws/axis2/itests/HelloWorldTestCase.java | 46 + .../axis2/itests/HelloWorldWSDLMergedTestCase.java | 58 + .../QuestionMarkWSDLImportTestCaseFIXME.java | 84 + .../QuestionMarkWSDLIncludeTestCaseFIXME.java | 84 + .../ws/axis2/itests/QuestionMarkWSDLTestCase.java | 105 + .../ws/axis2/itests/UriPrecedenceTestCase.java | 68 + .../endpoints/AbstractHelloWorldOMTestCase.java | 64 + .../endpoints/DefaultMultiServiceTestCase.java | 24 + .../endpoints/DefaultSingleServiceTestCase.java | 24 + .../itests/endpoints/WSDLExplicitURITestCase.java | 24 + .../itests/endpoints/WSDLRelativeURITestCase.java | 24 + .../ws/axis2/itests/epr/HelloWorldTestCase.java | 47 + .../configparams/AbstractHelloWorldOMTestCase.java | 64 + .../policy/configparams/ClientPWCBHandler.java | 45 + .../policy/configparams/IntegrityPWCBHandler.java | 45 + .../policy/configparams/ServerPWCBHandler.java | 45 + .../WSSecurityAuthenticationTestCaseFIXME.java | 24 + ...onfidentialityTestCaseFIXBouncyCastleIssue.java | 42 + .../configparams/WSSecurityIntegrityTestCase.java | 24 + .../policy/mixed/AbstractHelloWorldOMTestCase.java | 64 + .../itests/policy/mixed/ClientPWCBHandler.java | 50 + .../itests/policy/mixed/IntegrityPWCBHandler.java | 50 + .../itests/policy/mixed/ServerPWCBHandler.java | 49 + .../policy/mixed/WSSecurityMixedTestCase.java | 24 + .../wspolicy/AbstractHelloWorldOMTestCase.java | 64 + .../itests/policy/wspolicy/ClientPWCBHandler.java | 45 + .../policy/wspolicy/IntegrityPWCBHandler.java | 45 + .../itests/policy/wspolicy/ServerPWCBHandler.java | 45 + .../wspolicy/WSSecurityAuthenticationTestCase.java | 24 + ...onfidentialityTestCaseFIXBouncyCastleIssue.java | 42 + .../wspolicy/WSSecurityIntegrityTestCase.java | 24 + .../itests/soap12/HelloWorldSOAP12TestCase.java | 58 + .../itests/soap12/QuestionMarkWSDLTestCase.java | 138 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 20 + .../binding/ws/axis2/itests/HelloWorld.composite | 50 + .../ws/axis2/itests/HelloWorldNoWSDL.composite | 61 + .../sca/binding/ws/axis2/itests/customerdata.xsd | 36 + .../itests/endpoints/DefaultMultiService.composite | 51 + .../endpoints/DefaultSingleService.composite | 51 + .../itests/endpoints/WSDLExplicitURI.composite | 49 + .../itests/endpoints/WSDLRelativeURI.composite | 49 + .../endpoints/helloworld-om-relative-uri.wsdl | 78 + .../ws/axis2/itests/epr/HelloWorld.composite | 50 + .../ws/axis2/itests/helloworld-om-binding.wsdl | 45 + .../ws/axis2/itests/helloworld-om-merged.composite | 42 + .../ws/axis2/itests/helloworld-om-porttype.wsdl | 59 + .../binding/ws/axis2/itests/helloworld-om-uri.wsdl | 78 + .../ws/axis2/itests/helloworld-om.composite | 43 + .../sca/binding/ws/axis2/itests/helloworld-om.wsdl | 78 + .../ws/axis2/itests/helloworld-prec.composite | 47 + .../binding/ws/axis2/itests/helloworld-prec.wsdl | 81 + .../sca/binding/ws/axis2/itests/helloworld.wsdl | 80 + .../WSSecurityAuthentication.composite | 50 + .../WSSecurityConfidentiality.composite | 49 + .../configparams/WSSecurityIntegrity.composite | 49 + .../itests/policy/configparams/definitions.xml | 108 + .../itests/policy/configparams/security.properties | 4 + .../itests/policy/configparams/tuscanyKeys.jks | Bin 0 -> 1379 bytes .../itests/policy/mixed/WSSecurityMixed.composite | 52 + .../ws/axis2/itests/policy/mixed/definitions.xml | 332 + .../axis2/itests/policy/mixed/security.properties | 4 + .../ws/axis2/itests/policy/mixed/tuscanyKeys.jks | Bin 0 -> 1379 bytes .../wspolicy/WSSecurityAuthentication.composite | 50 + .../wspolicy/WSSecurityConfidentiality.composite | 49 + .../policy/wspolicy/WSSecurityIntegrity.composite | 50 + .../axis2/itests/policy/wspolicy/definitions.xml | 211 + .../axis2/itests/policy/wspolicy/tuscanyKeys.jks | Bin 0 -> 1379 bytes .../ws/axis2/itests/questionmark-import.wsdl | 90 + .../ws/axis2/itests/questionmark-include.wsdl | 90 + .../itests/questionmark-wsdl-import.composite | 31 + .../itests/questionmark-wsdl-include.composite | 31 + .../ws/axis2/itests/questionmark-wsdl.composite | 36 + .../axis2/itests/soap12/HelloWorldSOAP12.composite | 71 + .../itests/soap12/questionmark-wsdl.composite | 40 + .../sca-node/modules/binding-ws-xml/DISCLAIMER | 8 + .../java/sca-node/modules/binding-ws-xml/LICENSE | 205 + .../java/sca-node/modules/binding-ws-xml/NOTICE | 6 + .../java/sca-node/modules/binding-ws-xml/pom.xml | 94 + .../binding/ws/xml/EndPointReferenceHelper.java | 230 + .../binding/ws/xml/WebServiceBindingProcessor.java | 394 + .../sca/binding/ws/xml/WebServiceConstants.java | 44 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../binding-wsxml-validation-messages.properties | 26 + .../tuscany/sca/binding/ws/xml/ReadTestCase.java | 127 + .../tuscany/sca/binding/ws/xml/WriteTestCase.java | 76 + .../ws/xml/Calculator-bad-wsdlElement.composite | 59 + .../sca/binding/ws/xml/Calculator.composite | 63 + .../binding/ws/xml/CalculatorImpl.componentType | 45 + .../binding/ws/xml/PoliciedCalculator.composite | 60 + .../apache/tuscany/sca/binding/ws/xml/example.wsdl | 26 + .../sca/binding/ws/xml/invalid-stockquote.wsdl | 58 + .../org/apache/tuscany/sca/binding/ws/xml/ipo.xsd | 136 + .../tuscany/sca/binding/ws/xml/stockquote.wsdl | 58 + .../apache/tuscany/sca/binding/ws/xml/test1.wsdl | 45 + .../apache/tuscany/sca/binding/ws/xml/test1.xsd | 33 + .../apache/tuscany/sca/binding/ws/xml/test2.wsdl | 63 + .../sca/binding/ws/xml/unwrapped-stockquote.wsdl | 76 + .../java/sca-node/modules/binding-ws/DISCLAIMER | 8 + .../java/sca-node/modules/binding-ws/LICENSE | 205 + .../java/sca-node/modules/binding-ws/NOTICE | 6 + .../java/sca-node/modules/binding-ws/pom.xml | 85 + .../ws/DefaultWebServiceBindingFactory.java | 31 + .../tuscany/sca/binding/ws/WebServiceBinding.java | 199 + .../sca/binding/ws/WebServiceBindingFactory.java | 35 + .../binding/ws/addressing/EndPointReference.java | 62 + .../ws/impl/WebServiceBindingFactoryImpl.java | 35 + .../sca/binding/ws/impl/WebServiceBindingImpl.java | 296 + ...tuscany.sca.binding.ws.WebServiceBindingFactory | 19 + .../modules/contribution-groovy/DISCLAIMER | 8 + .../sca-node/modules/contribution-groovy/LICENSE | 205 + .../sca-node/modules/contribution-groovy/NOTICE | 8 + .../sca-node/modules/contribution-groovy/pom.xml | 84 + .../sca/contribution/groovy/GroovyArtifact.java | 41 + .../groovy/GroovyArtifactProcessor.java | 57 + .../contribution/groovy/GroovyModelResolver.java | 69 + ...sca.contribution.processor.URLArtifactProcessor | 20 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + .../sca/contribution/groovy/HelloWorld.java | 31 + .../contribution/groovy/HelloWorldTestCase.java | 55 + .../sca/contribution/groovy/HelloWorld.groovy | 27 + .../sca/contribution/groovy/helloworld.composite | 29 + .../sca-node/modules/contribution-impl/DISCLAIMER | 8 + .../sca-node/modules/contribution-impl/LICENSE | 205 + .../java/sca-node/modules/contribution-impl/NOTICE | 6 + .../sca-node/modules/contribution-impl/pom.xml | 88 + .../impl/FolderContributionProcessor.java | 156 + .../processor/impl/JarContributionProcessor.java | 123 + .../service/impl/ContributionRepositoryImpl.java | 399 + .../service/impl/ContributionServiceImpl.java | 545 + .../service/impl/PackageTypeDescriberImpl.java | 120 + .../sca/contribution/service/util/FileHelper.java | 701 ++ .../sca/contribution/service/util/IOHelper.java | 190 + ...any.sca.contribution.processor.PackageProcessor | 19 + ...ontribution-impl-validation-messages.properties | 28 + ...FolderContributionPackageProcessorTestCase.java | 46 + .../JarContributionPackageProcessorTestCase.java | 55 + ...URLartifactProcessorExtensionPointTestCase.java | 114 + .../resolver/DefaultModelResolverTestCase.java | 86 + .../resolver/ExtensibleModelResolverTestCase.java | 126 + .../contribution/resolver/TestModelResolver.java | 58 + .../services/ContributionRepositoryTestCase.java | 81 + .../services/PackageTypeDescriberImplTestCase.java | 63 + .../resources/deployables/sample-calculator.jar | Bin 0 -> 26901 bytes .../resources/repository/sample-calculator.jar | Bin 0 -> 29164 bytes .../src/test/resources/test.composite | 22 + .../contribution-impl/src/test/resources/test.ext | 0 .../sca-node/modules/contribution-java/DISCLAIMER | 8 + .../sca-node/modules/contribution-java/LICENSE | 205 + .../java/sca-node/modules/contribution-java/NOTICE | 6 + .../sca-node/modules/contribution-java/pom.xml | 71 + .../java/DefaultJavaImportExportFactory.java | 30 + .../tuscany/sca/contribution/java/JavaExport.java | 43 + .../tuscany/sca/contribution/java/JavaImport.java | 58 + .../contribution/java/JavaImportExportFactory.java | 42 + .../java/impl/ClassLoaderModelResolver.java | 163 + .../java/impl/ClassReferenceModelResolver.java | 156 + .../java/impl/ContributionClassLoader.java | 397 + .../sca/contribution/java/impl/JavaExportImpl.java | 58 + .../java/impl/JavaExportModelResolver.java | 76 + .../java/impl/JavaExportProcessor.java | 143 + .../java/impl/JavaImportExportFactoryImpl.java | 41 + .../java/impl/JavaImportExportListener.java | 157 + .../sca/contribution/java/impl/JavaImportImpl.java | 110 + .../java/impl/JavaImportModelResolver.java | 62 + .../java/impl/JavaImportProcessor.java | 148 + ...y.sca.contribution.java.JavaImportExportFactory | 18 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + ...y.sca.contribution.service.ContributionListener | 18 + ...ontribution-java-validation-messages.properties | 22 + .../ClassReferenceArtifactResolverTestCase.java | 70 + .../java/impl/ContributionClassLoaderTestCase.java | 257 + .../java/impl/JavaExportProcessorTestCase.java | 103 + .../java/impl/JavaImportProcessorTestCase.java | 105 + .../resources/deployables/sample-calculator.jar | Bin 0 -> 26901 bytes .../modules/contribution-namespace/DISCLAIMER | 8 + .../modules/contribution-namespace/LICENSE | 205 + .../sca-node/modules/contribution-namespace/NOTICE | 6 + .../modules/contribution-namespace/pom.xml | 70 + .../DefaultNamespaceImportExportFactory.java | 30 + .../contribution/namespace/NamespaceExport.java | 46 + .../contribution/namespace/NamespaceImport.java | 59 + .../namespace/NamespaceImportExportFactory.java | 42 + .../namespace/impl/NamespaceExportImpl.java | 54 + .../impl/NamespaceExportModelResolver.java | 54 + .../namespace/impl/NamespaceExportProcessor.java | 142 + .../impl/NamespaceImportExportFactoryImpl.java | 41 + .../impl/NamespaceImportExportListener.java | 98 + .../namespace/impl/NamespaceImportImpl.java | 92 + .../namespace/impl/NamespaceImportProcessor.java | 148 + ...ribution.namespace.NamespaceImportExportFactory | 18 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...y.sca.contribution.service.ContributionListener | 18 + ...bution-namespace-validation-messages.properties | 22 + .../impl/NamespaceExportProcessorTestCase.java | 103 + .../impl/NamespaceImportProcessorTestCase.java | 108 + .../sca-node/modules/contribution-osgi/DISCLAIMER | 8 + .../sca-node/modules/contribution-osgi/LICENSE | 205 + .../java/sca-node/modules/contribution-osgi/NOTICE | 6 + .../sca-node/modules/contribution-osgi/pom.xml | 84 + .../sca/contribution/osgi/BundleReference.java | 161 + .../osgi/impl/OSGiBundleContributionProcessor.java | 161 + .../osgi/impl/OSGiBundleProcessor.java | 141 + .../impl/OSGiBundleReferenceModelResolver.java | 154 + .../osgi/impl/OSGiClassReferenceModelResolver.java | 137 + .../osgi/impl/OSGiImportExportListener.java | 215 + .../osgi/impl/OSGiModelResolverImpl.java | 119 + ...any.sca.contribution.processor.PackageProcessor | 18 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + ...y.sca.contribution.service.ContributionListener | 18 + .../sca-node/modules/contribution-resource/pom.xml | 70 + .../sca/contribution/resource/ResourceExport.java | 46 + .../sca/contribution/resource/ResourceImport.java | 59 + .../resource/ResourceImportExportFactory.java | 42 + .../resource/impl/ArtifactModelResolver.java | 86 + .../resource/impl/ResourceExportImpl.java | 58 + .../resource/impl/ResourceExportModelResolver.java | 65 + .../resource/impl/ResourceExportProcessor.java | 142 + .../impl/ResourceImportExportFactoryImpl.java | 41 + .../impl/ResourceImportExportListener.java | 97 + .../resource/impl/ResourceImportImpl.java | 107 + .../resource/impl/ResourceImportProcessor.java | 148 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + ...ntribution.resource.ResourceImportExportFactory | 18 + ...y.sca.contribution.service.ContributionListener | 18 + ...ibution-resource-validation-messages.properties | 22 + .../impl/ResourceExportProcessorTestCase.java | 104 + .../impl/ResourceImportProcessorTestCase.java | 106 + .../modules/contribution-updater-impl/DISCLAIMER | 8 + .../modules/contribution-updater-impl/LICENSE | 205 + .../modules/contribution-updater-impl/NOTICE | 6 + .../modules/contribution-updater-impl/pom.xml | 118 + .../contribution/updater/impl/ArtifactsFinder.java | 51 + .../updater/impl/ComponentUpdaterImpl.java | 381 + .../updater/impl/CompositeUpdaterImpl.java | 156 + .../impl/ContributionUpdaterFactoryImpl.java | 75 + .../updater/impl/ContributionUpdaterTestCase.java | 129 + .../contribution/updater/impl/GreetService.java | 26 + .../contribution/updater/impl/HelloComponent.java | 39 + .../updater/impl/MetaComponentHello.java | 61 + .../src/test/resources/HelloComposite.composite | 27 + .../resources/repository/sample-calculator.jar | Bin 0 -> 29164 bytes .../modules/contribution-updater/DISCLAIMER | 8 + .../sca-node/modules/contribution-updater/LICENSE | 205 + .../sca-node/modules/contribution-updater/NOTICE | 6 + .../sca-node/modules/contribution-updater/pom.xml | 118 + .../apache/tuscany/sca/assembly/MetaComponent.java | 27 + .../sca/assembly/xml/MetaComponentProcessor.java | 788 ++ .../updater/ComponentNotFoundException.java | 27 + .../sca/contribution/updater/ComponentUpdater.java | 31 + .../updater/ComponentUpdaterException.java | 28 + .../updater/CompositeNotFoundException.java | 25 + .../sca/contribution/updater/CompositeUpdater.java | 31 + .../updater/CompositeUpdaterException.java | 29 + .../contribution/updater/ContributionUpdater.java | 30 + .../src/test/resources/HelloComposite.composite | 27 + .../resources/repository/sample-calculator.jar | Bin 0 -> 29164 bytes .../sca-node/modules/contribution-xml/DISCLAIMER | 8 + .../java/sca-node/modules/contribution-xml/LICENSE | 205 + .../java/sca-node/modules/contribution-xml/NOTICE | 6 + .../java/sca-node/modules/contribution-xml/pom.xml | 64 + ...ributionGeneratedMetadataDocumentProcessor.java | 49 + .../xml/ContributionMetadataDocumentProcessor.java | 131 + .../xml/ContributionMetadataProcessor.java | 217 + .../xml/ContributionModelResolver.java | 72 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...sca.contribution.processor.URLArtifactProcessor | 20 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + ...contribution-xml-validation-messages.properties | 23 + .../xml/ContributionMetadataProcessorTestCase.java | 141 + .../java/sca-node/modules/contribution/DISCLAIMER | 8 + .../java/sca-node/modules/contribution/LICENSE | 205 + .../java/sca-node/modules/contribution/NOTICE | 6 + .../java/sca-node/modules/contribution/pom.xml | 74 + .../apache/tuscany/sca/contribution/Artifact.java | 86 + .../tuscany/sca/contribution/ContentType.java | 40 + .../tuscany/sca/contribution/Contribution.java | 116 + .../sca/contribution/ContributionFactory.java | 73 + .../sca/contribution/ContributionMetadata.java | 55 + .../contribution/DefaultContributionFactory.java | 32 + .../tuscany/sca/contribution/DefaultExport.java | 30 + .../tuscany/sca/contribution/DefaultImport.java | 30 + .../DefaultModelFactoryExtensionPoint.java | 132 + .../tuscany/sca/contribution/DeployedArtifact.java | 29 + .../apache/tuscany/sca/contribution/Export.java | 47 + .../apache/tuscany/sca/contribution/Import.java | 56 + .../contribution/ModelFactoryExtensionPoint.java | 54 + .../tuscany/sca/contribution/PackageType.java | 42 + .../sca/contribution/impl/ArtifactImpl.java | 103 + .../contribution/impl/ContributionFactoryImpl.java | 67 + .../sca/contribution/impl/ContributionImpl.java | 154 + .../impl/ContributionMetadataImpl.java | 64 + .../sca/contribution/impl/DefaultExportImpl.java | 45 + .../sca/contribution/impl/DefaultImportImpl.java | 55 + .../contribution/processor/ArtifactProcessor.java | 48 + .../processor/ArtifactProcessorExtensionPoint.java | 58 + .../processor/BaseStAXArtifactProcessor.java | 519 + .../DefaultArtifactProcessorExtensionPoint.java | 66 + .../DefaultPackageProcessorExtensionPoint.java | 129 + ...DefaultStAXArtifactProcessorExtensionPoint.java | 368 + .../DefaultURLArtifactProcessorExtensionPoint.java | 242 + .../DefaultValidatingXMLInputFactory.java | 289 + .../DefaultValidationSchemaExtensionPoint.java | 95 + .../processor/ExtensiblePackageProcessor.java | 99 + .../processor/ExtensibleStAXArtifactProcessor.java | 251 + .../processor/ExtensibleURLArtifactProcessor.java | 143 + .../contribution/processor/PackageProcessor.java | 70 + .../processor/PackageProcessorExtensionPoint.java | 50 + .../processor/StAXArtifactProcessor.java | 61 + .../StAXArtifactProcessorExtensionPoint.java | 29 + .../processor/URLArtifactProcessor.java | 51 + .../URLArtifactProcessorExtensionPoint.java | 29 + .../processor/ValidatingXMLInputFactory.java | 42 + .../processor/ValidatingXMLStreamReader.java | 388 + .../processor/ValidationSchemaExtensionPoint.java | 52 + .../sca/contribution/resolver/ClassReference.java | 107 + .../resolver/DefaultDelegatingModelResolver.java | 68 + .../resolver/DefaultImportAllModelResolver.java | 80 + .../resolver/DefaultImportModelResolver.java | 69 + .../resolver/DefaultModelResolver.java | 60 + .../DefaultModelResolverExtensionPoint.java | 114 + .../resolver/ExtensibleModelResolver.java | 195 + .../sca/contribution/resolver/ModelResolver.java | 69 + .../resolver/ModelResolverExtensionPoint.java | 52 + .../contribution/resolver/ResolverExtension.java | 45 + .../contribution/resolver/ResourceReference.java | 103 + .../contribution/scanner/ContributionScanner.java | 65 + .../scanner/ContributionScannerExtensionPoint.java | 50 + .../DefaultContributionScannerExtensionPoint.java | 125 + .../service/ContributionException.java | 45 + .../contribution/service/ContributionListener.java | 58 + .../ContributionListenerExtensionPoint.java | 44 + .../service/ContributionReadException.java | 94 + .../service/ContributionRepository.java | 128 + .../service/ContributionResolveException.java | 41 + .../service/ContributionRuntimeException.java | 44 + .../contribution/service/ContributionService.java | 137 + .../service/ContributionWriteException.java | 61 + .../DefaultContributionListenerExtensionPoint.java | 118 + .../service/ExtensibleContributionListener.java | 77 + .../sca/contribution/service/TypeDescriber.java | 38 + .../service/UnrecognizedElementException.java | 48 + .../service/UnsupportedContentTypeException.java | 42 + .../service/UnsupportedPackageTypeException.java | 39 + ...he.tuscany.sca.contribution.ContributionFactory | 18 + ...any.sca.contribution.ModelFactoryExtensionPoint | 18 + ...ocessor.ContributionPostProcessorExtensionPoint | 18 + ...bution.processor.PackageProcessorExtensionPoint | 18 + ...n.processor.StAXArtifactProcessorExtensionPoint | 18 + ...on.processor.URLArtifactProcessorExtensionPoint | 18 + ...bution.processor.ValidationSchemaExtensionPoint | 18 + ...ntribution.resolver.ModelResolverExtensionPoint | 18 + ...ution.scanner.ContributionScannerExtensionPoint | 18 + ...tion.service.ContributionListenerExtensionPoint | 18 + .../contribution-validation-messages.properties | 31 + .../sca-node/modules/core-databinding/DISCLAIMER | 8 + .../java/sca-node/modules/core-databinding/LICENSE | 205 + .../java/sca-node/modules/core-databinding/NOTICE | 6 + .../java/sca-node/modules/core-databinding/pom.xml | 102 + .../module/DataBindingModuleActivator.java | 102 + .../DataBindingJavaInterfaceProcessor.java | 210 + .../transformers/Array2ArrayTransformer.java | 110 + .../CallableReference2XMLStreamReader.java | 75 + .../transformers/CallableReferenceDataBinding.java | 34 + .../transformers/CallableReferenceXMLAdapter.java | 61 + .../Exception2ExceptionTransformer.java | 114 + .../transformers/Input2InputTransformer.java | 277 + .../transformers/Output2OutputTransformer.java | 254 + .../XMLStreamReader2CallableReference.java | 100 + .../wire/DataBindingRuntimeWireProcessor.java | 186 + .../wire/DataTransformationInterceptor.java | 264 + .../databinding/wire/PassByValueInterceptor.java | 268 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../DataBindingJavaInterfaceProcessorTestCase.java | 89 + .../transformers/IDLTransformerTestCaseFIXME.java | 229 + .../java/sca-node/modules/core-spi/DISCLAIMER | 8 + .../java/sca-node/modules/core-spi/LICENSE | 205 + .../java/sca-node/modules/core-spi/NOTICE | 6 + .../java/sca-node/modules/core-spi/pom.xml | 110 + .../modules/core-spi/src/doc/Context Model.emx | 673 + .../sca/context/ComponentContextFactory.java | 38 + .../sca/context/ContextFactoryExtensionPoint.java | 50 + .../DefaultContextFactoryExtensionPoint.java | 114 + .../tuscany/sca/context/PropertyValueFactory.java | 40 + .../tuscany/sca/context/RequestContextFactory.java | 33 + ...faultEndpointResolverFactoryExtensionPoint.java | 184 + .../sca/endpointresolver/EndpointResolver.java | 55 + .../endpointresolver/EndpointResolverFactory.java | 44 + .../EndpointResolverFactoryExtensionPoint.java | 57 + .../java/org/apache/tuscany/sca/event/Event.java | 33 + .../org/apache/tuscany/sca/event/EventFilter.java | 35 + .../apache/tuscany/sca/event/EventPublisher.java | 55 + .../tuscany/sca/event/RuntimeEventListener.java | 35 + .../org/apache/tuscany/sca/event/TrueFilter.java | 37 + .../sca/invocation/DataExchangeSemantics.java | 34 + .../apache/tuscany/sca/invocation/Interceptor.java | 40 + .../tuscany/sca/invocation/InvocationChain.java | 112 + .../org/apache/tuscany/sca/invocation/Invoker.java | 36 + .../org/apache/tuscany/sca/invocation/Message.java | 117 + .../tuscany/sca/invocation/MessageFactory.java | 36 + .../org/apache/tuscany/sca/invocation/Phase.java | 59 + .../tuscany/sca/management/ManagementService.java | 39 + .../sca/provider/BindingProviderFactory.java | 60 + .../DefaultProviderFactoryExtensionPoint.java | 363 + ...efaultSCADefinitionsProviderExtensionPoint.java | 91 + .../sca/provider/ImplementationProvider.java | 68 + .../provider/ImplementationProviderFactory.java | 42 + .../tuscany/sca/provider/PolicyImplementor.java | 38 + .../tuscany/sca/provider/PolicyProvider.java | 41 + .../sca/provider/PolicyProviderFactory.java | 63 + .../tuscany/sca/provider/ProviderFactory.java | 36 + .../provider/ProviderFactoryExtensionPoint.java | 63 + .../sca/provider/ReferenceBindingProvider.java | 76 + .../sca/provider/SCADefinitionsProvider.java | 33 + .../provider/SCADefinitionsProviderException.java | 30 + .../SCADefinitionsProviderExtensionPoint.java | 35 + .../sca/provider/ServiceBindingProvider.java | 63 + .../DefaultWireProcessorExtensionPoint.java | 63 + .../tuscany/sca/runtime/EndpointReference.java | 93 + .../tuscany/sca/runtime/ReferenceParameters.java | 69 + .../tuscany/sca/runtime/RuntimeComponent.java | 83 + .../sca/runtime/RuntimeComponentContext.java | 104 + .../sca/runtime/RuntimeComponentReference.java | 119 + .../sca/runtime/RuntimeComponentService.java | 138 + .../apache/tuscany/sca/runtime/RuntimeWire.java | 101 + .../tuscany/sca/runtime/RuntimeWireProcessor.java | 35 + .../RuntimeWireProcessorExtensionPoint.java | 53 + .../sca/store/DuplicateRecordException.java | 56 + .../apache/tuscany/sca/store/RecoveryListener.java | 46 + .../java/org/apache/tuscany/sca/store/Store.java | 96 + .../apache/tuscany/sca/store/StoreException.java | 57 + .../tuscany/sca/store/StoreExpirationEvent.java | 71 + .../org/apache/tuscany/sca/store/StoreMonitor.java | 71 + .../tuscany/sca/store/StoreReadException.java | 56 + .../tuscany/sca/store/StoreWriteException.java | 56 + .../tuscany/sca/work/NotificationListener.java | 67 + .../org/apache/tuscany/sca/work/WorkScheduler.java | 58 + .../tuscany/sca/work/WorkSchedulerException.java | 59 + ...uscany.sca.context.ContextFactoryExtensionPoint | 18 + ...tresolver.EndpointResolverFactoryExtensionPoint | 18 + ...cany.sca.provider.ProviderFactoryExtensionPoint | 18 + ...a.provider.SCADefinitionsProviderExtensionPoint | 19 + ....sca.runtime.RuntimeWireProcessorExtensionPoint | 18 + ...efaultContextFactoryExtensionPointTestCase.java | 208 + .../tuscany/sca/event/TrueFilterTestCase.java | 63 + .../java/sca-node/modules/core-spring/DISCLAIMER | 8 + .../java/sca-node/modules/core-spring/LICENSE | 205 + .../java/sca-node/modules/core-spring/NOTICE | 6 + .../java/sca-node/modules/core-spring/pom.xml | 126 + .../spring/assembly/impl/BeanAssemblyFactory.java | 134 + .../spring/assembly/impl/BeanComponentImpl.java | 228 + .../spring/assembly/impl/BeanReferenceImpl.java | 70 + .../sca/core/spring/context/ModelResolverImpl.java | 88 + .../sca/core/spring/context/SCADomainContext.java | 183 + .../java/impl/BeanBaseJavaImplementationImpl.java | 206 + .../java/impl/BeanJavaImplementationFactory.java | 75 + .../java/impl/BeanJavaImplementationImpl.java | 175 + .../java/impl/BeanJavaInterfaceContractImpl.java | 34 + .../java/impl/BeanJavaInterfaceFactory.java | 75 + .../java/impl/BeanJavaInterfaceImpl.java | 132 + .../src/test/java/calculator/AddService.java | 30 + .../src/test/java/calculator/AddServiceImpl.java | 37 + .../src/test/java/calculator/CalculatorClient.java | 43 + .../test/java/calculator/CalculatorService.java | 36 + .../java/calculator/CalculatorServiceImpl.java | 73 + .../src/test/java/calculator/DivideService.java | 30 + .../test/java/calculator/DivideServiceImpl.java | 35 + .../src/test/java/calculator/MultiplyService.java | 30 + .../test/java/calculator/MultiplyServiceImpl.java | 35 + .../java/calculator/NestedCalculatorClient.java | 46 + .../src/test/java/calculator/SubtractService.java | 30 + .../test/java/calculator/SubtractServiceImpl.java | 35 + .../sca/core/spring/CalculatorTestCase.java | 56 + .../core/spring/NestedCalculatorTestCaseFIXME.java | 59 + .../tuscany/sca/core/spring/Calculator.composite | 52 + .../sca/core/spring/InnerCalculator.composite | 42 + .../sca/core/spring/InnerOperations.composite | 57 + .../sca/core/spring/OuterCalculator.composite | 41 + .../java/sca-node/modules/core/DISCLAIMER | 8 + .../sebastien/java/sca-node/modules/core/LICENSE | 205 + .../sebastien/java/sca-node/modules/core/NOTICE | 6 + .../sebastien/java/sca-node/modules/core/pom.xml | 101 + .../sca/core/assembly/ActivationException.java | 37 + .../sca/core/assembly/CompositeActivator.java | 154 + .../sca/core/assembly/CompositeActivatorImpl.java | 1089 ++ .../sca/core/assembly/EndpointReferenceImpl.java | 186 + .../sca/core/assembly/EndpointWireImpl.java | 162 + .../core/assembly/ReferenceParameterProcessor.java | 101 + .../sca/core/assembly/ReferenceParametersImpl.java | 139 + .../sca/core/assembly/RuntimeAssemblyFactory.java | 53 + .../sca/core/assembly/RuntimeComponentImpl.java | 106 + .../assembly/RuntimeComponentReferenceImpl.java | 139 + .../core/assembly/RuntimeComponentServiceImpl.java | 158 + .../tuscany/sca/core/assembly/RuntimeWireImpl.java | 377 + .../sca/core/context/CallableReferenceImpl.java | 539 + .../sca/core/context/ComponentContextHelper.java | 320 + .../sca/core/context/ComponentContextImpl.java | 396 + .../context/DefaultComponentContextFactory.java | 70 + .../tuscany/sca/core/context/InstanceWrapper.java | 48 + .../sca/core/context/RequestContextImpl.java | 105 + .../sca/core/context/ServiceReferenceImpl.java | 132 + .../core/conversation/ConversationListener.java | 40 + .../sca/core/conversation/ConversationManager.java | 71 + .../core/conversation/ConversationManagerImpl.java | 215 + .../sca/core/conversation/ConversationState.java | 29 + .../core/conversation/ExtendedConversation.java | 66 + .../conversation/ExtendedConversationImpl.java | 265 + .../tuscany/sca/core/event/BaseEventPublisher.java | 89 + .../tuscany/sca/core/event/ComponentStart.java | 54 + .../tuscany/sca/core/event/ComponentStop.java | 53 + .../tuscany/sca/core/event/ConversationEnd.java | 53 + .../tuscany/sca/core/event/ConversationStart.java | 52 + .../tuscany/sca/core/event/HttpSessionEnd.java | 53 + .../tuscany/sca/core/event/HttpSessionStart.java | 52 + .../apache/tuscany/sca/core/event/RequestEnd.java | 45 + .../tuscany/sca/core/event/RequestStart.java | 45 + .../sca/core/factory/ObjectCreationException.java | 47 + .../tuscany/sca/core/factory/ObjectFactory.java | 35 + .../invocation/CallableReferenceObjectFactory.java | 63 + .../invocation/CallbackInterfaceInterceptor.java | 57 + .../sca/core/invocation/CallbackReferenceImpl.java | 271 + .../invocation/CallbackReferenceObjectFactory.java | 48 + .../core/invocation/CallbackWireObjectFactory.java | 47 + .../sca/core/invocation/CglibProxyFactory.java | 151 + .../DefaultProxyFactoryExtensionPoint.java | 74 + .../core/invocation/ExtensibleProxyFactory.java | 113 + .../core/invocation/ExtensibleWireProcessor.java | 44 + .../sca/core/invocation/InvocationChainImpl.java | 189 + .../invocation/JDKCallbackInvocationHandler.java | 110 + .../sca/core/invocation/JDKInvocationHandler.java | 516 + .../sca/core/invocation/JDKProxyFactory.java | 103 + .../sca/core/invocation/MessageFactoryImpl.java | 36 + .../tuscany/sca/core/invocation/MessageImpl.java | 104 + .../invocation/NoMethodForOperationException.java | 43 + .../core/invocation/NonBlockingInterceptor.java | 190 + .../tuscany/sca/core/invocation/PhaseManager.java | 247 + .../tuscany/sca/core/invocation/PhaseSorter.java | 236 + .../core/invocation/ProxyCreationException.java | 48 + .../tuscany/sca/core/invocation/ProxyFactory.java | 87 + .../invocation/ProxyFactoryExtensionPoint.java | 53 + .../sca/core/invocation/RuntimeWireInvoker.java | 245 + .../core/invocation/TargetInvocationException.java | 45 + .../sca/core/invocation/ThreadMessageContext.java | 72 + .../sca/core/invocation/WireObjectFactory.java | 54 + .../sca/core/scope/AbstractScopeContainer.java | 200 + .../sca/core/scope/CompositeScopeContainer.java | 77 + .../core/scope/CompositeScopeContainerFactory.java | 37 + .../core/scope/ConversationalScopeContainer.java | 288 + .../scope/ConversationalScopeContainerFactory.java | 44 + .../sca/core/scope/HttpSessionScopeContainer.java | 83 + .../scope/HttpSessionScopeContainerFactory.java | 41 + .../sca/core/scope/RequestScopeContainer.java | 86 + .../core/scope/RequestScopeContainerFactory.java | 37 + .../org/apache/tuscany/sca/core/scope/Scope.java | 66 + .../tuscany/sca/core/scope/ScopeContainer.java | 159 + .../sca/core/scope/ScopeContainerFactory.java | 32 + .../tuscany/sca/core/scope/ScopeRegistry.java | 43 + .../tuscany/sca/core/scope/ScopeRegistryImpl.java | 62 + .../core/scope/ScopedImplementationProvider.java | 65 + .../sca/core/scope/ScopedRuntimeComponent.java | 40 + .../sca/core/scope/StatelessScopeContainer.java | 55 + .../core/scope/StatelessScopeContainerFactory.java | 37 + .../sca/core/scope/TargetDestructionException.java | 44 + .../core/scope/TargetInitializationException.java | 44 + .../sca/core/scope/TargetNotFoundException.java | 44 + .../sca/core/scope/TargetResolutionException.java | 44 + .../apache/tuscany/sca/core/store/MemoryStore.java | 195 + .../apache/tuscany/sca/core/work/Jsr237Work.java | 65 + .../tuscany/sca/core/work/Jsr237WorkScheduler.java | 192 + .../sca/core/work/ThreadPoolWorkManager.java | 235 + .../tuscany/sca/core/work/WorkEventImpl.java | 76 + .../apache/tuscany/sca/core/work/WorkItemImpl.java | 169 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...scany.sca.core.conversation.ConversationManager | 18 + ....sca.core.invocation.ProxyFactoryExtensionPoint | 18 + ...rg.apache.tuscany.sca.invocation.MessageFactory | 18 + .../org.apache.tuscany.sca.work.WorkScheduler | 18 + .../DefaultExtensionPointRegistryTestCase.java | 52 + .../sca/core/event/BaseEventPublisherTestCase.java | 98 + .../tuscany/sca/core/event/EventTestCase.java | 69 + .../sca/core/invocation/PhaseManagerTestCase.java | 51 + .../sca/core/invocation/PhaseSorterTestCase.java | 63 + .../core/scope/AbstractScopeContainerTestCase.java | 69 + .../sca/core/store/MemoryStoreTestCase.java | 165 + .../wire/CallbackInterfaceInterceptorTestCase.java | 62 + .../sca/core/wire/InvocationChainImplTestCase.java | 93 + .../core/wire/NonBlockingInterceptorTestCase.java | 74 + .../apache/tuscany/sca/core/work/FailingWork.java | 50 + .../sca/core/work/JSR237MyFailingRunnable.java | 42 + .../tuscany/sca/core/work/JSR237MyRunnable.java | 71 + .../sca/core/work/JSR237MyRunnerListener.java | 154 + .../sca/core/work/Jsr237WorkSchedulerTestCase.java | 240 + .../tuscany/sca/core/work/TestWorkListener.java | 156 + .../core/work/ThreadPoolWorkManagerTestCase.java | 243 + .../tuscany/sca/core/work/TimeDelayWork.java | 87 + .../apache/tuscany/sca/scope/ScopeTestCase.java | 61 + .../org.apache.tuscany.sca.invocation.PhaseTest | 22 + .../java/sca-node/modules/data-api/DISCLAIMER | 8 + .../java/sca-node/modules/data-api/LICENSE | 205 + .../java/sca-node/modules/data-api/NOTICE | 6 + .../java/sca-node/modules/data-api/pom.xml | 58 + .../tuscany/sca/data/collection/Collection.java | 78 + .../apache/tuscany/sca/data/collection/Entry.java | 85 + .../apache/tuscany/sca/data/collection/Item.java | 159 + .../sca/data/collection/ItemCollection.java | 30 + .../sca/data/collection/LocalItemCollection.java | 28 + .../sca/data/collection/NotFoundException.java | 45 + .../implementation/data/collection/Collection.java | 31 + .../sca/implementation/data/collection/Entry.java | 29 + .../sca/implementation/data/collection/Item.java | 30 + .../data/collection/ItemCollection.java | 31 + .../data/collection/LocalItemCollection.java | 29 + .../data/collection/NotFoundException.java | 30 + .../sca-node/modules/data-engine-helper/DISCLAIMER | 8 + .../sca-node/modules/data-engine-helper/LICENSE | 205 + .../sca-node/modules/data-engine-helper/NOTICE | 6 + .../sca-node/modules/data-engine-helper/pom.xml | 142 + .../engine/ConnectionInfoArtifactProcessor.java | 197 + .../tuscany/sca/data/engine/DataAccessEngine.java | 286 + .../sca/data/engine/DataAccessEngineManager.java | 141 + .../data/engine/MissingConfigFileException.java | 44 + .../sca/data/engine/config/ConnectionInfo.java | 47 + .../data/engine/config/ConnectionProperties.java | 78 + ...ataengine-helper-validation-messages.properties | 21 + .../sca-node/modules/databinding-axiom/DISCLAIMER | 8 + .../sca-node/modules/databinding-axiom/LICENSE | 205 + .../java/sca-node/modules/databinding-axiom/NOTICE | 6 + .../sca-node/modules/databinding-axiom/pom.xml | 109 + .../sca/databinding/axiom/AxiomDataBinding.java | 63 + .../tuscany/sca/databinding/axiom/AxiomHelper.java | 142 + .../sca/databinding/axiom/Exception2OMElement.java | 95 + .../axiom/Externalizable2OMElement.java | 77 + .../sca/databinding/axiom/OMElement2Exception.java | 79 + .../axiom/OMElement2Externalizable.java | 69 + .../sca/databinding/axiom/OMElement2Object.java | 50 + .../sca/databinding/axiom/OMElement2String.java | 64 + .../axiom/OMElement2XMLStreamReader.java | 66 + .../databinding/axiom/OMElementWrapperHandler.java | 251 + .../sca/databinding/axiom/Object2OMElement.java | 63 + .../sca/databinding/axiom/String2OMElement.java | 64 + .../axiom/XMLStreamReader2OMElement.java | 70 + .../org.apache.tuscany.sca.databinding.DataBinding | 20 + ....apache.tuscany.sca.databinding.PullTransformer | 30 + .../sca/databinding/axiom/OMElementTestCase.java | 129 + .../databinding-axiom/src/test/resources/ipo.xml | 51 + .../databinding-axiom/src/test/resources/ipo.xsd | 137 + .../src/test/resources/order.wsdl | 76 + .../modules/databinding-fastinfoset/DISCLAIMER | 8 + .../modules/databinding-fastinfoset/LICENSE | 202 + .../modules/databinding-fastinfoset/NOTICE | 14 + .../modules/databinding-fastinfoset/pom.xml | 87 + .../databinding/fastinfoset/FastInfoset2Node.java | 69 + .../databinding/fastinfoset/FastInfoset2SAX.java | 70 + .../fastinfoset/FastInfoset2XMLStreamReader.java | 66 + .../databinding/fastinfoset/Node2FastInfoset.java | 70 + .../fastinfoset/XMLInputStream2FastInfoset.java | 88 + .../fastinfoset/XMLStreamReader2FastInfoset.java | 74 + ....apache.tuscany.sca.databinding.PullTransformer | 22 + ....apache.tuscany.sca.databinding.PushTransformer | 22 + .../FastInfosetTransformerTestCase.java | 127 + .../src/test/resources/ipo.xsd | 136 + .../modules/databinding-jaxb-axiom/DISCLAIMER | 8 + .../modules/databinding-jaxb-axiom/LICENSE | 205 + .../sca-node/modules/databinding-jaxb-axiom/NOTICE | 6 + .../modules/databinding-jaxb-axiom/pom.xml | 185 + .../sca/databinding/jaxb/axiom/AxiomHelper.java | 140 + .../sca/databinding/jaxb/axiom/JAXB2OMElement.java | 78 + .../sca/databinding/jaxb/axiom/JAXBDataSource.java | 124 + .../sca/databinding/jaxb/axiom/OMElement2JAXB.java | 85 + .../jaxb/axiom/ext/JAXBCustomBuilder.java | 110 + .../databinding/jaxb/axiom/ext/JAXBDSContext.java | 189 + .../jaxb/axiom/ext/JAXBDataSourceExt.java | 147 + .../jaxb/axiom/ext/SourceDataSource.java | 125 + .../jaxb/axiom/ext/XMLStreamWriterWithOS.java | 246 + .../jaxb/axiom/ext/XMLStringDataSource.java | 88 + ....apache.tuscany.sca.databinding.PullTransformer | 26 + .../databinding/jaxb/axiom/JAXB2OMTestCase.java | 109 + .../jaxb/axiom/OMElement2JAXBTestCase.java | 71 + .../src/test/resources/ipo.xsd | 136 + .../sca-node/modules/databinding-jaxb/DISCLAIMER | 8 + .../java/sca-node/modules/databinding-jaxb/LICENSE | 205 + .../java/sca-node/modules/databinding-jaxb/NOTICE | 6 + .../java/sca-node/modules/databinding-jaxb/pom.xml | 191 + .../databinding/jaxb/BeanXMLStreamReaderImpl.java | 313 + .../sca/databinding/jaxb/DataConverter.java | 378 + .../jaxb/DefaultXMLAdapterExtensionPoint.java | 60 + .../tuscany/sca/databinding/jaxb/JAXB2Node.java | 75 + .../tuscany/sca/databinding/jaxb/JAXB2SAX.java | 69 + .../tuscany/sca/databinding/jaxb/JAXB2String.java | 77 + .../sca/databinding/jaxb/JAXB2XMLStreamReader.java | 84 + .../sca/databinding/jaxb/JAXBContextCache.java | 288 + .../sca/databinding/jaxb/JAXBContextHelper.java | 429 + .../sca/databinding/jaxb/JAXBDataBinding.java | 132 + .../databinding/jaxb/JAXBPropertyDescriptor.java | 301 + .../sca/databinding/jaxb/JAXBTypeHelper.java | 236 + .../sca/databinding/jaxb/JAXBWrapperException.java | 56 + .../sca/databinding/jaxb/JAXBWrapperHandler.java | 151 + .../sca/databinding/jaxb/JAXBWrapperHelper.java | 166 + .../tuscany/sca/databinding/jaxb/Node2JAXB.java | 73 + .../tuscany/sca/databinding/jaxb/Reader2JAXB.java | 74 + .../tuscany/sca/databinding/jaxb/String2JAXB.java | 80 + .../databinding/jaxb/XMLAdapterExtensionPoint.java | 52 + .../sca/databinding/jaxb/XMLRootElementUtil.java | 286 + .../sca/databinding/jaxb/XMLStreamReader2JAXB.java | 77 + .../org.apache.tuscany.sca.databinding.DataBinding | 19 + ....apache.tuscany.sca.databinding.PullTransformer | 32 + ...y.sca.databinding.jaxb.XMLAdapterExtensionPoint | 17 + .../java/com/example/stock/StockQuoteOffer.java | 45 + .../databinding/jaxb/JAXBContextCacheTestCase.java | 123 + .../databinding/jaxb/JAXBDataBindingTestCase.java | 130 + .../databinding/jaxb/JAXBReflectionTestCase.java | 94 + .../tuscany/databinding/jaxb/JAXBTestCase.java | 175 + .../jaxb/JAXBWrapperHandlerTestCase.java | 90 + .../apache/tuscany/databinding/jaxb/MyBean.java | 162 + .../tuscany/databinding/jaxb/MyInterface.java | 29 + .../tuscany/databinding/jaxb/MyInterfaceImpl.java | 67 + .../apache/tuscany/databinding/jaxb/MySubBean.java | 35 + .../tuscany/databinding/jaxb/POJOTestCase.java | 250 + .../databinding-jaxb/src/test/resources/ipo.xsd | 136 + .../sca-node/modules/databinding-job/DISCLAIMER | 8 + .../java/sca-node/modules/databinding-job/LICENSE | 205 + .../java/sca-node/modules/databinding-job/NOTICE | 6 + .../java/sca-node/modules/databinding-job/pom.xml | 123 + .../apache/tuscany/sca/databinding/job/Job.java | 32 + .../tuscany/sca/databinding/job/Job2OMElement.java | 84 + .../sca/databinding/job/JobDataBinding.java | 45 + .../tuscany/sca/databinding/job/JobDataMap.java | 71 + .../tuscany/sca/databinding/job/JobDataSource.java | 53 + .../sca/databinding/job/JobExceptionHandler.java | 42 + .../sca/databinding/job/JobExecutionContext.java | 45 + .../tuscany/sca/databinding/job/OMElement2Job.java | 79 + .../tuscany/sca/databinding/job/RemoteJob.java | 35 + .../org.apache.tuscany.sca.databinding.DataBinding | 20 + ....apache.tuscany.sca.databinding.PullTransformer | 18 + .../databinding-job/src/test/resources/ipo.xml | 51 + .../databinding-job/src/test/resources/ipo.xsd | 155 + .../databinding-job/src/test/resources/order.wsdl | 76 + .../sca-node/modules/databinding-json/DISCLAIMER | 8 + .../java/sca-node/modules/databinding-json/LICENSE | 202 + .../java/sca-node/modules/databinding-json/NOTICE | 6 + .../java/sca-node/modules/databinding-json/pom.xml | 126 + .../sca/databinding/json/JSON2JavaBean.java | 73 + .../tuscany/sca/databinding/json/JSON2String.java | 61 + .../sca/databinding/json/JSON2XMLStreamReader.java | 65 + .../sca/databinding/json/JSONDataBinding.java | 74 + .../tuscany/sca/databinding/json/JSONHelper.java | 91 + .../sca/databinding/json/JavaBean2JSON.java | 82 + .../sca/databinding/json/JavaBean2JSONObject.java | 139 + .../tuscany/sca/databinding/json/String2JSON.java | 64 + .../sca/databinding/json/XMLStreamReader2JSON.java | 77 + .../sca/databinding/json/axiom/JSON2OMElement.java | 94 + .../json/axiom/JSONBadgerfishDataSource.java | 57 + .../sca/databinding/json/axiom/JSONDataSource.java | 176 + .../org.apache.tuscany.sca.databinding.DataBinding | 19 + ....apache.tuscany.sca.databinding.PullTransformer | 29 + .../databinding/json/JSONTransformerTestCase.java | 128 + .../databinding/json/JavaBean2JSONTestCase.java | 170 + .../tuscany/sca/databinding/json/MyBean.java | 158 + .../tuscany/sca/databinding/json/MyInterface.java | 29 + .../sca/databinding/json/MyInterfaceImpl.java | 67 + .../tuscany/sca/databinding/json/POJOTestCase.java | 87 + .../databinding-json/src/test/resources/ipo.xsd | 136 + .../sca-node/modules/databinding-saxon/DISCLAIMER | 8 + .../sca-node/modules/databinding-saxon/LICENSE | 202 + .../java/sca-node/modules/databinding-saxon/NOTICE | 6 + .../sca-node/modules/databinding-saxon/pom.xml | 113 + .../saxon/DataObject2NodeInfoTransformer.java | 99 + .../saxon/Node2NodeInfoTransformer.java | 73 + .../saxon/NodeInfo2DataObjectTransformer.java | 91 + .../saxon/NodeInfo2NodeTransformer.java | 71 + .../databinding/saxon/Object2ValueTransformer.java | 65 + .../databinding/saxon/SaxonDataBindingHelper.java | 41 + .../databinding/saxon/SaxonNodeDataBinding.java | 54 + .../databinding/saxon/SaxonValueDataBinding.java | 53 + .../saxon/SimpleType2ValueTransformer.java | 87 + .../databinding/saxon/Value2ObjectTransformer.java | 66 + .../saxon/Value2SimpleTypeTransformer.java | 65 + .../org.apache.tuscany.sca.databinding.DataBinding | 20 + ....apache.tuscany.sca.databinding.PullTransformer | 26 + .../modules/databinding-sdo-axiom/DISCLAIMER | 8 + .../sca-node/modules/databinding-sdo-axiom/LICENSE | 205 + .../sca-node/modules/databinding-sdo-axiom/NOTICE | 6 + .../sca-node/modules/databinding-sdo-axiom/pom.xml | 170 + .../sca/databinding/sdo2om/AxiomHelper.java | 142 + .../databinding/sdo2om/DataObject2OMElement.java | 86 + .../sca/databinding/sdo2om/SDODataSource.java | 89 + .../databinding/sdo2om/XMLDocument2OMElement.java | 65 + ....apache.tuscany.sca.databinding.PullTransformer | 20 + .../sdo2om/DataObject2OMElementTestCase.java | 78 + .../sdo2om/SDOTransformerTestCaseBase.java | 82 + .../sdo2om/XMLDocument2OMElementTestCase.java | 63 + .../src/test/resources/ipo.xsd | 136 + .../src/test/resources/stock.xsd | 33 + .../sca-node/modules/databinding-sdo/DISCLAIMER | 8 + .../java/sca-node/modules/databinding-sdo/LICENSE | 205 + .../java/sca-node/modules/databinding-sdo/NOTICE | 6 + .../java/sca-node/modules/databinding-sdo/pom.xml | 133 + .../sca/databinding/sdo/DataObject2Node.java | 73 + .../sca/databinding/sdo/DataObject2String.java | 64 + .../sdo/DataObject2XMLStreamReader.java | 82 + .../tuscany/sca/databinding/sdo/ImportSDO.java | 78 + .../sca/databinding/sdo/ImportSDOProcessor.java | 212 + .../sca/databinding/sdo/Node2DataObject.java | 69 + .../sca/databinding/sdo/SDOContextHelper.java | 208 + .../sca/databinding/sdo/SDODataBinding.java | 153 + .../sca/databinding/sdo/SDOSimpleTypeMapper.java | 68 + .../tuscany/sca/databinding/sdo/SDOTypeHelper.java | 222 + .../sca/databinding/sdo/SDOWrapperHandler.java | 177 + .../sca/databinding/sdo/String2DataObject.java | 61 + .../sca/databinding/sdo/XMLDocument2String.java | 65 + .../sdo/XMLDocument2XMLStreamReader.java | 69 + .../sdo/XMLStreamReader2DataObject.java | 72 + .../sdo/XMLStreamReader2XMLDocument.java | 66 + ...ca.contribution.processor.StAXArtifactProcessor | 18 + .../org.apache.tuscany.sca.databinding.DataBinding | 19 + ....apache.tuscany.sca.databinding.PullTransformer | 27 + .../databinding-sdo-validation-messages.properties | 23 + .../sdo/fault/InvalidSymbolFault_Exception.java | 70 + .../databinding/sdo/DataObject2NodeTestCase.java | 60 + .../databinding/sdo/DataObject2StringTestCase.java | 65 + .../sdo/DataObject2XMLStreamReaderTestCase.java | 75 + .../sdo/ImportSDOProcessorTestCase.java | 89 + .../databinding/sdo/SDOContextHelperTestCase.java | 55 + .../databinding/sdo/SDODataBindingTestCase.java | 114 + .../sdo/SDOTransformerTestCaseBase.java | 82 + .../databinding/sdo/SDOWrapperHandlerTestCase.java | 83 + .../sca/databinding/sdo/TestModelResolver.java | 63 + .../sdo/XMLDocument2XMLStreamReaderTestCase.java | 62 + .../databinding-sdo/src/test/resources/ipo.xsd | 136 + .../src/test/resources/model/sca-core.xsd | 233 + .../resources/model/sca-implementation-mock.xsd | 43 + .../databinding-sdo/src/test/resources/stock.xsd | 33 + .../databinding-sdo/src/test/resources/wrapper.xml | 27 + .../databinding-sdo/src/test/resources/wrapper.xsd | 38 + .../modules/databinding-xmlbeans/DISCLAIMER | 8 + .../sca-node/modules/databinding-xmlbeans/LICENSE | 202 + .../sca-node/modules/databinding-xmlbeans/NOTICE | 6 + .../sca-node/modules/databinding-xmlbeans/pom.xml | 125 + .../sca/databinding/xmlbeans/Node2XmlObject.java | 61 + .../databinding/xmlbeans/XMLBeansDataBinding.java | 45 + .../xmlbeans/XMLStreamReader2XmlObject.java | 62 + .../sca/databinding/xmlbeans/XmlObject2Node.java | 60 + .../xmlbeans/XmlObject2XMLStreamReader.java | 55 + .../org.apache.tuscany.sca.databinding.DataBinding | 19 + ....apache.tuscany.sca.databinding.PullTransformer | 22 + .../databinding/xmlbeans/XmlObjectTestCase.java | 105 + .../src/test/resources/ipo.xsd | 136 + .../src/test/resources/ipo.xsdconfig | 21 + .../modules/databinding-xstream/DISCLAIMER | 8 + .../sca-node/modules/databinding-xstream/LICENSE | 205 + .../sca-node/modules/databinding-xstream/NOTICE | 6 + .../sca-node/modules/databinding-xstream/pom.xml | 115 + .../sca/databinding/xstream/MetaObject.java | 37 + .../sca/databinding/xstream/MetaObjectImpl.java | 95 + .../sca/databinding/xstream/Node2XObject.java | 69 + .../sca/databinding/xstream/OMElement2XObject.java | 76 + .../tuscany/sca/databinding/xstream/Utils.java | 79 + .../tuscany/sca/databinding/xstream/XObject.java | 28 + .../sca/databinding/xstream/XObject2Node.java | 69 + .../sca/databinding/xstream/XObject2OMElement.java | 106 + .../databinding/xstream/XObjectDataBinding.java | 38 + .../org.apache.tuscany.sca.databinding.DataBinding | 20 + ....apache.tuscany.sca.databinding.PullTransformer | 18 + .../databinding-xstream/src/test/resources/ipo.xml | 48 + .../databinding-xstream/src/test/resources/ipo.xsd | 132 + .../src/test/resources/order.wsdl | 76 + .../java/sca-node/modules/databinding/DISCLAIMER | 8 + .../java/sca-node/modules/databinding/LICENSE | 244 + .../java/sca-node/modules/databinding/NOTICE | 6 + .../java/sca-node/modules/databinding/pom.xml | 102 + .../tuscany/sca/databinding/DataBinding.java | 104 + .../sca/databinding/DataBindingExtensionPoint.java | 74 + .../apache/tuscany/sca/databinding/DataPipe.java | 46 + .../sca/databinding/DataPipeTransformer.java | 29 + .../DefaultDataBindingExtensionPoint.java | 268 + .../DefaultTransformerExtensionPoint.java | 303 + .../apache/tuscany/sca/databinding/Mediator.java | 68 + .../tuscany/sca/databinding/PullTransformer.java | 38 + .../tuscany/sca/databinding/PushTransformer.java | 36 + .../tuscany/sca/databinding/SimpleTypeMapper.java | 46 + .../sca/databinding/TransformationContext.java | 95 + .../sca/databinding/TransformationException.java | 65 + .../tuscany/sca/databinding/Transformer.java | 51 + .../sca/databinding/TransformerExtensionPoint.java | 81 + .../tuscany/sca/databinding/WrapperHandler.java | 78 + .../tuscany/sca/databinding/XMLTypeHelper.java | 68 + .../sca/databinding/annotation/DataBinding.java | 56 + .../sca/databinding/annotation/DataType.java | 43 + .../externalizable/ExternalizableDataBinding.java | 40 + .../sca/databinding/impl/BaseDataBinding.java | 133 + .../sca/databinding/impl/BaseTransformer.java | 52 + .../tuscany/sca/databinding/impl/DOMHelper.java | 163 + .../sca/databinding/impl/DirectedGraph.java | 452 + .../databinding/impl/Group2GroupTransformer.java | 94 + .../sca/databinding/impl/GroupDataBinding.java | 103 + .../impl/Java2SimpleTypeTransformer.java | 70 + .../tuscany/sca/databinding/impl/MediatorImpl.java | 182 + .../sca/databinding/impl/PipedTransformer.java | 70 + .../impl/SimpleType2JavaTransformer.java | 89 + .../sca/databinding/impl/SimpleTypeMapperImpl.java | 401 + .../impl/TransformationContextImpl.java | 113 + .../sca/databinding/impl/XSDDataTypeConverter.java | 945 ++ .../javabeans/DOMNode2JavaBeanTransformer.java | 97 + .../javabeans/Java2XMLMapperException.java | 69 + .../javabeans/JavaBean2DOMNodeTransformer.java | 79 + .../JavaBean2XMLStreamReaderTransformer.java | 68 + .../javabeans/JavaBean2XMLTransformer.java | 262 + .../javabeans/JavaBeansDataBinding.java | 139 + .../javabeans/JavaExceptionDataBinding.java | 35 + .../javabeans/SimpleJavaDataBinding.java | 79 + .../javabeans/XML2JavaBeanTransformer.java | 329 + .../javabeans/XML2JavaMapperException.java | 76 + .../sca/databinding/util/DataTypeHelper.java | 165 + .../tuscany/sca/databinding/util/LRUCache.java | 87 + .../databinding/xml/BeanXMLStreamReaderImpl.java | 285 + .../sca/databinding/xml/DOMDataBinding.java | 72 + .../sca/databinding/xml/DOMWrapperHandler.java | 141 + .../sca/databinding/xml/DOMXMLStreamReader.java | 36 + .../sca/databinding/xml/DOMXmlNodeImpl.java | 156 + .../xml/DelegatingNamespaceContext.java | 310 + .../sca/databinding/xml/InputSource2Node.java | 67 + .../sca/databinding/xml/InputSource2SAX.java | 65 + .../sca/databinding/xml/InputStream2Node.java | 69 + .../sca/databinding/xml/InputStream2SAX.java | 64 + .../xml/NameValueArrayStreamReader.java | 403 + .../databinding/xml/NameValuePairStreamReader.java | 347 + .../tuscany/sca/databinding/xml/NamedProperty.java | 59 + .../databinding/xml/NilElementStreamReader.java | 279 + .../sca/databinding/xml/Node2OutputStream.java | 68 + .../sca/databinding/xml/Node2SimpleJavaType.java | 45 + .../databinding/xml/Node2SourceTransformer.java | 61 + .../tuscany/sca/databinding/xml/Node2String.java | 62 + .../tuscany/sca/databinding/xml/Node2Writer.java | 67 + .../sca/databinding/xml/Node2XMLStreamReader.java | 64 + .../tuscany/sca/databinding/xml/Reader2Node.java | 67 + .../tuscany/sca/databinding/xml/Reader2SAX.java | 60 + .../tuscany/sca/databinding/xml/SAX2DOM.java | 246 + .../tuscany/sca/databinding/xml/SAX2DOMPipe.java | 81 + .../sca/databinding/xml/SimpleJavaType2Node.java | 71 + .../sca/databinding/xml/SimpleXmlNodeImpl.java | 112 + .../databinding/xml/Source2NodeTransformer.java | 69 + .../databinding/xml/Source2ResultTransformer.java | 63 + .../databinding/xml/Source2StringTransformer.java | 68 + .../sca/databinding/xml/StAX2SAXAdapter.java | 256 + .../sca/databinding/xml/StAXDataBinding.java | 54 + .../tuscany/sca/databinding/xml/StAXHelper.java | 86 + .../sca/databinding/xml/StreamDataPipe.java | 65 + .../tuscany/sca/databinding/xml/String2Node.java | 60 + .../tuscany/sca/databinding/xml/String2SAX.java | 61 + .../databinding/xml/String2SourceTransformer.java | 62 + .../databinding/xml/String2XMLStreamReader.java | 55 + .../databinding/xml/WrappingXMLStreamReader.java | 97 + .../sca/databinding/xml/Writer2ReaderDataPipe.java | 63 + .../databinding/xml/XMLDocumentStreamReader.java | 482 + .../databinding/xml/XMLFragmentStreamReader.java | 53 + .../xml/XMLFragmentStreamReaderImpl.java | 857 ++ .../sca/databinding/xml/XMLGroupDataBinding.java | 57 + .../sca/databinding/xml/XMLStreamReader2Node.java | 75 + .../sca/databinding/xml/XMLStreamReader2SAX.java | 70 + .../databinding/xml/XMLStreamReader2String.java | 57 + .../sca/databinding/xml/XMLStreamSerializer.java | 287 + .../tuscany/sca/databinding/xml/XMLStreamable.java | 37 + .../sca/databinding/xml/XMLStringDataBinding.java | 51 + .../tuscany/sca/databinding/xml/XmlNode.java | 69 + .../sca/databinding/xml/XmlNodeIterator.java | 354 + .../databinding/xml/XmlTreeStreamReaderImpl.java | 531 + .../org.apache.tuscany.sca.databinding.DataBinding | 25 + ...scany.sca.databinding.DataBindingExtensionPoint | 18 + ....apache.tuscany.sca.databinding.PullTransformer | 40 + ....apache.tuscany.sca.databinding.PushTransformer | 26 + ...scany.sca.databinding.TransformerExtensionPoint | 18 + .../databinding/extension/DOMHelperTestCase.java | 58 + .../extension/DataBindingExtensionTestCase.java | 86 + .../SimpleTypeMapperExtensionTestCase.java | 122 + .../extension/TransformerExtensionTestCase.java | 77 + .../extension/XSDDataTypeConverterTestCase.java | 64 + .../impl/DataBindingRegistryImplTestCase.java | 103 + .../sca/databinding/impl/DataBindingTestCase.java | 49 + .../databinding/impl/DirectedGraphTestCase.java | 125 + .../sca/databinding/impl/MediatorImplTestCase.java | 122 + .../impl/TransformerRegistryImplTestCase.java | 109 + .../impl/XMLDocumentStreamReaderTestCase.java | 57 + .../xml/BeanXMLStreamReaderTestCase.java | 192 + .../sca/databinding/xml/DOM2StAXTestCase.java | 108 + .../sca/databinding/xml/DataPipeTestCase.java | 93 + .../xml/JavaBean2XMLStreamReaderTestCase.java | 144 + .../sca/databinding/xml/Node2StringTestCase.java | 39 + .../xml/PushTransformationTestCase.java | 86 + .../sca/databinding/xml/StAXHelperTestCase.java | 55 + .../databinding/xml/TraxTransformerTestCase.java | 101 + .../xml/XmlTreeStreamReaderTestCase.java | 198 + .../apache/tuscany/sca/databinding/impl/ipo.xsd | 136 + .../apache/tuscany/sca/databinding/impl/order.wsdl | 76 + .../org/apache/tuscany/sca/databinding/xml/foo.xml | 22 + .../sca-node/modules/definitions-xml/DISCLAIMER | 8 + .../java/sca-node/modules/definitions-xml/LICENSE | 205 + .../java/sca-node/modules/definitions-xml/NOTICE | 6 + .../java/sca-node/modules/definitions-xml/pom.xml | 82 + .../xml/SCADefinitionsDocumentProcessor.java | 197 + .../definitions/xml/SCADefinitionsProcessor.java | 225 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...sca.contribution.processor.URLArtifactProcessor | 19 + .../definitions-xml-validation-messages.properties | 22 + .../org/apache/tuscany/sca/definitions/Policy.java | 33 + .../sca/definitions/ReadDocumentTestCase.java | 190 + .../sca/definitions/TestPolicyProcessor.java | 75 + .../tuscany/sca/definitions/test_definitions.xml | 254 + .../java/sca-node/modules/definitions/DISCLAIMER | 8 + .../java/sca-node/modules/definitions/LICENSE | 205 + .../java/sca-node/modules/definitions/NOTICE | 6 + .../java/sca-node/modules/definitions/pom.xml | 70 + .../tuscany/sca/definitions/SCADefinitions.java | 75 + .../sca/definitions/SCADefinitionsBuilder.java | 34 + .../SCADefinitionsBuilderException.java | 43 + .../sca/definitions/SCADefinitionsBuilderImpl.java | 309 + .../sca/definitions/impl/SCADefinitionsImpl.java | 66 + .../sca/definitions/util/SCADefinitionsUtil.java | 86 + .../java/sca-node/modules/domain-api/DISCLAIMER | 8 + .../java/sca-node/modules/domain-api/LICENSE | 205 + .../java/sca-node/modules/domain-api/NOTICE | 6 + .../java/sca-node/modules/domain-api/pom.xml | 62 + .../apache/tuscany/sca/domain/DomainException.java | 53 + .../org/apache/tuscany/sca/domain/SCADomain.java | 207 + .../tuscany/sca/domain/SCADomainFactory.java | 77 + .../java/sca-node/modules/domain-impl/DISCLAIMER | 8 + .../java/sca-node/modules/domain-impl/LICENSE | 205 + .../java/sca-node/modules/domain-impl/NOTICE | 6 + .../java/sca-node/modules/domain-impl/pom.xml | 164 + .../sca/domain/impl/SCADomainFactoryImpl.java | 52 + .../tuscany/sca/domain/impl/SCADomainImpl.java | 1293 ++ .../tuscany/sca/domain/impl/SCADummyNodeImpl.java | 80 + .../domain/launch/SCADomainControllerLauncher.java | 68 + .../management/impl/ContributionInfoImpl.java | 89 + .../sca/domain/management/impl/DomainInfoImpl.java | 93 + .../sca/domain/management/impl/NodeInfoImpl.java | 93 + .../impl/SCADomainManagerServiceImpl.java | 227 + .../sca/domain/model/impl/CompositeModelImpl.java | 75 + .../domain/model/impl/ContributionModelImpl.java | 110 + .../domain/model/impl/DomainModelFactoryImpl.java | 80 + .../sca/domain/model/impl/DomainModelImpl.java | 115 + .../sca/domain/model/impl/NodeModelImpl.java | 143 + .../sca/domain/model/impl/ServiceModelImpl.java | 89 + .../src/main/resources/domain.composite | 52 + .../src/main/resources/webroot/binding-jsonrpc.js | 492 + .../src/main/resources/webroot/domain.png | Bin 0 -> 718 bytes .../src/main/resources/webroot/index.html | 139 + .../src/main/resources/webroot/node.png | Bin 0 -> 296 bytes .../src/main/resources/webroot/style.css | 176 + .../src/test/java/calculator/AddService.java | 33 + .../src/test/java/calculator/AddServiceImpl.java | 33 + .../test/java/calculator/CalculatorService.java | 37 + .../java/calculator/CalculatorServiceImpl.java | 76 + .../src/test/java/calculator/DivideService.java | 30 + .../test/java/calculator/DivideServiceImpl.java | 32 + .../src/test/java/calculator/MultiplyService.java | 30 + .../test/java/calculator/MultiplyServiceImpl.java | 32 + .../src/test/java/calculator/SubtractService.java | 33 + .../test/java/calculator/SubtractServiceImpl.java | 33 + .../sca/domain/impl/DomainImplTestCaseOFF.java | 133 + .../sca/domain/impl/TestCallableReferenceImpl.java | 84 + .../domain/impl/TestNodeManagerServiceImpl.java | 68 + .../src/test/resources/nodeA/Calculator.composite | 41 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../src/test/resources/nodeB/Calculator.composite | 29 + .../sca-node/modules/domain-manager/DISCLAIMER | 8 + .../java/sca-node/modules/domain-manager/LICENSE | 205 + .../java/sca-node/modules/domain-manager/NOTICE | 6 + .../java/sca-node/modules/domain-manager/pom.xml | 189 + .../impl/CompositeConfigurationCollectionImpl.java | 127 + .../impl/CompositeConfigurationServiceImpl.java | 436 + .../impl/CompositeGeneratorServiceImpl.java | 255 + .../manager/impl/ContributionCollectionImpl.java | 656 + .../manager/impl/ContributionServiceImpl.java | 77 + .../impl/DeployableCompositeCollectionImpl.java | 403 + .../impl/DeployableCompositeServiceImpl.java | 128 + .../impl/DeployedCompositeCollectionImpl.java | 439 + .../manager/impl/DomainManagerConfiguration.java | 53 + .../impl/DomainManagerConfigurationImpl.java | 85 + .../sca/domain/manager/impl/DomainManagerUtil.java | 284 + .../domain/manager/impl/FileCollectionImpl.java | 136 + .../sca/domain/manager/impl/FileServiceImpl.java | 153 + .../manager/impl/NodeConfigurationServiceImpl.java | 96 + .../impl/NodeProcessCollectionFacadeImpl.java | 251 + .../domain/manager/impl/QuickStartServiceImpl.java | 236 + .../launcher/DomainManagerLauncherBootstrap.java | 92 + .../src/main/resources/DomainManager.composite | 246 + .../domain-manager/src/main/resources/cloud.html | 362 + .../src/main/resources/composite.html | 257 + .../domain-manager/src/main/resources/files.html | 114 + .../domain-manager/src/main/resources/home.html | 59 + .../src/main/resources/icons/feed-icon.png | Bin 0 -> 818 bytes .../domain-manager/src/main/resources/manager.css | 99 + .../domain-manager/src/main/resources/utils.js | 197 + .../src/main/resources/workspace.html | 206 + .../domain/manager/impl/DomainManagerTestCase.java | 117 + .../assets/META-INF/sca-contribution.xml | 27 + .../store/META-INF/sca-contribution.xml | 25 + .../src/test/resources/workspace.xml | 21 + .../java/sca-node/modules/domain/DISCLAIMER | 8 + .../sebastien/java/sca-node/modules/domain/LICENSE | 205 + .../sebastien/java/sca-node/modules/domain/NOTICE | 6 + .../sebastien/java/sca-node/modules/domain/pom.xml | 94 + .../sca/domain/management/ContributionInfo.java | 67 + .../tuscany/sca/domain/management/DomainInfo.java | 66 + .../tuscany/sca/domain/management/NodeInfo.java | 66 + .../management/SCADomainManagerInitService.java | 56 + .../domain/management/SCADomainManagerService.java | 47 + .../tuscany/sca/domain/model/CompositeModel.java | 63 + .../sca/domain/model/ContributionModel.java | 80 + .../tuscany/sca/domain/model/DomainModel.java | 82 + .../sca/domain/model/DomainModelFactory.java | 64 + .../apache/tuscany/sca/domain/model/NodeModel.java | 95 + .../tuscany/sca/domain/model/ServiceModel.java | 72 + .../sca/domain/spi/SCADomainAPIService.java | 165 + .../sca/domain/spi/SCADomainEventService.java | 151 + .../tuscany/sca/domain/spi/SCADomainSPI.java | 46 + .../java/sca-node/modules/endpoint/DISCLAIMER | 8 + .../java/sca-node/modules/endpoint/LICENSE | 205 + .../java/sca-node/modules/endpoint/NOTICE | 6 + .../java/sca-node/modules/endpoint/pom.xml | 122 + .../endpoint/impl/EndpointResolverFactoryImpl.java | 49 + .../sca/endpoint/impl/EndpointResolverImpl.java | 106 + ...ny.sca.endpointresolver.EndpointResolverFactory | 19 + .../apache/tuscany/sca/binding/sca/definitions.xml | 26 + .../src/test/java/calculator/AddService.java | 28 + .../src/test/java/calculator/AddServiceImpl.java | 35 + .../test/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 70 + .../src/test/java/calculator/DivideService.java | 28 + .../test/java/calculator/DivideServiceImpl.java | 35 + .../src/test/java/calculator/MultiplyService.java | 28 + .../test/java/calculator/MultiplyServiceImpl.java | 35 + .../src/test/java/calculator/SubtractService.java | 28 + .../test/java/calculator/SubtractServiceImpl.java | 35 + .../tuscany/sca/binding/sca/EndpointTestCase.java | 212 + .../src/test/resources/Calculator.composite | 52 + .../java/sca-node/modules/extensibility/DISCLAIMER | 8 + .../java/sca-node/modules/extensibility/LICENSE | 205 + .../java/sca-node/modules/extensibility/NOTICE | 5 + .../java/sca-node/modules/extensibility/pom.xml | 50 + .../sca/core/DefaultExtensionPointRegistry.java | 184 + .../core/DefaultModuleActivatorExtensionPoint.java | 92 + .../sca/core/DefaultUtilityExtensionPoint.java | 184 + .../tuscany/sca/core/ExtensionPointRegistry.java | 56 + .../apache/tuscany/sca/core/ModuleActivator.java | 60 + .../sca/core/ModuleActivatorExtensionPoint.java | 53 + .../tuscany/sca/core/UtilityExtensionPoint.java | 54 + .../sca/extensibility/ServiceDeclaration.java | 136 + .../sca/extensibility/ServiceDiscovery.java | 310 + ....tuscany.sca.core.ModuleActivatorExtensionPoint | 18 + ...g.apache.tuscany.sca.core.UtilityExtensionPoint | 18 + .../sca-node/modules/extension-helper/DISCLAIMER | 8 + .../java/sca-node/modules/extension-helper/LICENSE | 205 + .../java/sca-node/modules/extension-helper/NOTICE | 6 + .../java/sca-node/modules/extension-helper/pom.xml | 95 + .../sca/extension/helper/BindingActivator.java | 69 + .../sca/extension/helper/ComponentLifecycle.java | 32 + .../extension/helper/ImplementationActivator.java | 64 + .../sca/extension/helper/InvokerFactory.java | 34 + .../helper/impl/BindingSCDLProcessor.java | 194 + .../extension/helper/impl/BindingsActivator.java | 262 + .../sca/extension/helper/impl/DiscoveryUtils.java | 113 + .../impl/ImplementationImplementationProvider.java | 99 + .../helper/impl/ImplementationsActivator.java | 138 + .../sca/extension/helper/impl/PojoBinding.java | 40 + .../extension/helper/impl/PojoImplementation.java | 58 + .../sca/extension/helper/impl/SCDLProcessor.java | 248 + .../extension/helper/utils/AbstractBinding.java | 71 + .../helper/utils/AbstractImplementation.java | 153 + .../utils/AbstractStAXArtifactProcessor.java | 132 + .../utils/DefaultPropertyValueObjectFactory.java | 231 + .../helper/utils/DynamicImplementation.java | 96 + .../helper/utils/PropertyValueObjectFactory.java | 33 + .../sca/extension/helper/utils/ResourceHelper.java | 67 + .../org.apache.tuscany.sca.core.ModuleActivator | 20 + .../java/sca-node/modules/host-ejb/DISCLAIMER | 8 + .../java/sca-node/modules/host-ejb/LICENSE | 205 + .../java/sca-node/modules/host-ejb/NOTICE | 6 + .../java/sca-node/modules/host-ejb/pom.xml | 57 + .../sca/host/ejb/DefaultEJBHostExtensionPoint.java | 45 + .../org/apache/tuscany/sca/host/ejb/EJBHost.java | 62 + .../sca/host/ejb/EJBHostExtensionPoint.java | 51 + .../sca/host/ejb/EJBRegistrationException.java | 44 + .../tuscany/sca/host/ejb/EJBSessionBean.java | 45 + .../tuscany/sca/host/ejb/ExtensibleEJBHost.java | 69 + ...ache.tuscany.sca.host.ejb.EJBHostExtensionPoint | 18 + .../java/sca-node/modules/host-embedded/DISCLAIMER | 8 + .../java/sca-node/modules/host-embedded/LICENSE | 205 + .../java/sca-node/modules/host-embedded/NOTICE | 6 + .../java/sca-node/modules/host-embedded/pom.xml | 127 + .../tuscany/sca/host/embedded/SCADomain.java | 284 + .../tuscany/sca/host/embedded/SCADomainBean.java | 125 + .../sca/host/embedded/SCATestCaseRunner.java | 292 + .../host/embedded/impl/ComponentManagerImpl.java | 120 + .../sca/host/embedded/impl/DefaultSCADomain.java | 703 ++ .../sca/host/embedded/impl/EmbeddedSCADomain.java | 234 + .../host/embedded/impl/HotUpdatableSCADomain.java | 389 + .../sca/host/embedded/impl/ReallySmallRuntime.java | 379 + .../embedded/impl/ReallySmallRuntimeBuilder.java | 267 + .../embedded/management/ComponentListener.java | 34 + .../host/embedded/management/ComponentManager.java | 48 + .../sca/host/embedded/SCADomainBeanTestCase.java | 57 + .../sca/host/embedded/SCADomainTestCase.java | 56 + .../embedded/impl/DefaultSCADomainTestCase.java | 63 + .../embedded/impl/EmbeddedSCADomainTestCase.java | 189 + .../sca/host/embedded/impl/TestModelResolver.java | 104 + .../DefaultTestImplementationFactory.java | 47 + .../test/extension/TestImplementation.java | 44 + .../test/extension/TestImplementationFactory.java | 37 + .../host/embedded/test/extension/TestService.java | 30 + .../extension/impl/TestImplementationImpl.java | 117 + .../impl/TestImplementationProcessor.java | 96 + .../test/extension/module/TestModuleActivator.java | 65 + .../provider/TestImplementationProvider.java | 64 + .../TestImplementationProviderFactory.java | 47 + .../test/extension/provider/TestInvoker.java | 52 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../src/test/resources/test.composite | 30 + .../host-embedded/src/test/resources/test.txt | 16 + .../java/sca-node/modules/host-http/DISCLAIMER | 8 + .../java/sca-node/modules/host-http/LICENSE | 205 + .../java/sca-node/modules/host-http/NOTICE | 6 + .../java/sca-node/modules/host-http/pom.xml | 65 + .../sca/host/http/DefaultResourceServlet.java | 86 + .../http/DefaultServletHostExtensionPoint.java | 45 + .../sca/host/http/ExtensibleServletHost.java | 123 + .../apache/tuscany/sca/host/http/ServletHost.java | 111 + .../sca/host/http/ServletHostExtensionPoint.java | 51 + .../sca/host/http/ServletMappingException.java | 44 + ...tuscany.sca.host.http.ServletHostExtensionPoint | 18 + .../java/sca-node/modules/host-jetty/DISCLAIMER | 8 + .../java/sca-node/modules/host-jetty/LICENSE | 205 + .../java/sca-node/modules/host-jetty/NOTICE | 6 + .../java/sca-node/modules/host-jetty/pom.xml | 76 + .../sca/http/jetty/JettyDefaultServlet.java | 90 + .../apache/tuscany/sca/http/jetty/JettyLogger.java | 87 + .../apache/tuscany/sca/http/jetty/JettyServer.java | 462 + .../jetty/module/JettyRuntimeModuleActivator.java | 77 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../sca/http/jetty/JettyServerTestCase.java | 282 + .../src/test/resources/content/test.html | 21 + .../java/sca-node/modules/host-openejb/DISCLAIMER | 8 + .../java/sca-node/modules/host-openejb/LICENSE | 205 + .../java/sca-node/modules/host-openejb/NOTICE | 6 + .../java/sca-node/modules/host-openejb/pom.xml | 82 + .../openejb/OpenEJBRuntimeModuleActivator.java | 52 + .../tuscany/sca/host/openejb/OpenEJBServer.java | 127 + .../org.apache.tuscany.sca.core.ModuleActivator | 19 + .../sca/host/openejb/OpenEJBServerTestCase.java | 86 + .../java/sca-node/modules/host-osgi/DISCLAIMER | 8 + .../java/sca-node/modules/host-osgi/LICENSE | 251 + .../java/sca-node/modules/host-osgi/NOTICE | 17 + .../java/sca-node/modules/host-osgi/pom.xml | 76 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../java/sca-node/modules/host-rmi/DISCLAIMER | 8 + .../java/sca-node/modules/host-rmi/LICENSE | 205 + .../java/sca-node/modules/host-rmi/NOTICE | 6 + .../java/sca-node/modules/host-rmi/pom.xml | 57 + .../tuscany/sca/host/rmi/DefaultRMIHost.java | 127 + .../sca/host/rmi/DefaultRMIHostExtensionPoint.java | 49 + .../tuscany/sca/host/rmi/ExtensibleRMIHost.java | 73 + .../org/apache/tuscany/sca/host/rmi/RMIHost.java | 90 + .../tuscany/sca/host/rmi/RMIHostException.java | 45 + .../sca/host/rmi/RMIHostExtensionPoint.java | 51 + .../sca/host/rmi/RMIHostRuntimeException.java | 46 + ...ache.tuscany.sca.host.rmi.RMIHostExtensionPoint | 18 + .../tuscany/sca/host/rmi/RMIHostImplTestCase.java | 90 + .../java/sca-node/modules/host-tomcat/DISCLAIMER | 8 + .../java/sca-node/modules/host-tomcat/LICENSE | 205 + .../java/sca-node/modules/host-tomcat/NOTICE | 6 + .../java/sca-node/modules/host-tomcat/pom.xml | 87 + .../tuscany/sca/http/tomcat/ServletWrapper.java | 58 + .../sca/http/tomcat/TomcatDefaultServlet.java | 114 + .../tuscany/sca/http/tomcat/TomcatServer.java | 621 + .../module/TomcatRuntimeModuleActivator.java | 69 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../sca/http/tomcat/TomcatServerTestCase.java | 313 + .../src/test/resources/content/test.html | 21 + .../sca-node/modules/host-webapp-junit/DISCLAIMER | 8 + .../sca-node/modules/host-webapp-junit/LICENSE | 205 + .../java/sca-node/modules/host-webapp-junit/NOTICE | 6 + .../sca-node/modules/host-webapp-junit/pom.xml | 67 + .../sca/host/webapp/junit/JUnitServletFilter.java | 355 + .../sca/host/webapp/junit/XMLFormatter.java | 286 + .../java/sca-node/modules/host-webapp/DISCLAIMER | 8 + .../java/sca-node/modules/host-webapp/LICENSE | 205 + .../java/sca-node/modules/host-webapp/NOTICE | 6 + .../java/sca-node/modules/host-webapp/pom.xml | 85 + .../sca/host/webapp/HotUpdateContextListener.java | 57 + .../tuscany/sca/host/webapp/SCADomainHelper.java | 72 + .../sca/host/webapp/TuscanyContextListener.java | 73 + .../tuscany/sca/host/webapp/TuscanyServlet.java | 67 + .../sca/host/webapp/TuscanyServletFilter.java | 103 + .../sca/host/webapp/WebAppModuleActivator.java | 66 + .../sca/host/webapp/WebAppRequestDispatcher.java | 111 + .../tuscany/sca/host/webapp/WebAppServletHost.java | 331 + .../tuscany/sca/host/webapp/WebSCADomain.java | 53 + .../tuscany/sca/host/webapp/jsp/ReferenceTEI.java | 44 + .../tuscany/sca/host/webapp/jsp/ReferenceTag.java | 107 + .../src/main/resources/META-INF/sca.tld | 59 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../modules/implementation-bpel-ode/DISCLAIMER | 8 + .../modules/implementation-bpel-ode/LICENSE | 251 + .../modules/implementation-bpel-ode/NOTICE | 17 + .../modules/implementation-bpel-ode/pom.xml | 419 + .../implementation/bpel/ode/BPELODEDeployFile.java | 208 + .../implementation/bpel/ode/EmbeddedODEServer.java | 270 + .../implementation/bpel/ode/GeronimoTxFactory.java | 48 + .../implementation/bpel/ode/ODEBindingContext.java | 61 + .../sca/implementation/bpel/ode/ODEDeployment.java | 43 + .../bpel/ode/ODEDeploymentException.java | 41 + .../bpel/ode/ODEExternalService.java | 285 + .../bpel/ode/ODEInitializationException.java | 41 + .../bpel/ode/ODEMessageExchangeContext.java | 39 + .../bpel/ode/ODEShutdownException.java | 41 + .../sca/implementation/bpel/ode/TuscanyEPR.java | 54 + .../sca/implementation/bpel/ode/TuscanyPRC.java | 71 + .../bpel/ode/TuscanyProcessConfImpl.java | 435 + .../bpel/provider/BPELImplementationProvider.java | 132 + .../BPELImplementationProviderFactory.java | 69 + .../implementation/bpel/provider/BPELInvoker.java | 251 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../bpel/EmbeddedODEServerTestCase.java | 148 + .../src/test/resources/helloworld/deploy.xml | 30 + .../src/test/resources/helloworld/greetings.wsdl | 87 + .../src/test/resources/helloworld/helloworld.bpel | 66 + .../src/test/resources/helloworld/helloworld.wsdl | 82 + .../src/test/resources/log4j.properties | 36 + .../modules/implementation-bpel/DISCLAIMER | 8 + .../sca-node/modules/implementation-bpel/LICENSE | 251 + .../sca-node/modules/implementation-bpel/NOTICE | 17 + .../sca-node/modules/implementation-bpel/pom.xml | 98 + .../sca/implementation/bpel/BPELFactory.java | 41 + .../implementation/bpel/BPELImplementation.java | 66 + .../implementation/bpel/BPELProcessDefinition.java | 114 + .../implementation/bpel/DefaultBPELFactory.java | 53 + .../bpel/impl/BPELDocumentProcessor.java | 524 + .../bpel/impl/BPELImplementationImpl.java | 144 + .../bpel/impl/BPELImplementationProcessor.java | 538 + .../bpel/impl/BPELProcessDefinitionImpl.java | 162 + .../bpel/impl/BPELProcessException.java | 42 + .../implementation/bpel/xml/BPELImportElement.java | 67 + .../bpel/xml/BPELPartnerLinkElement.java | 128 + .../bpel/xml/BPELPartnerLinkTypeElement.java | 113 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...sca.contribution.processor.URLArtifactProcessor | 19 + ...che.tuscany.sca.implementation.bpel.BPELFactory | 18 + .../impl-bpel-validation-messages.properties | 34 + .../bpel/BPELDocumentProcessorTestCase.java | 59 + .../bpel/BPELImplementationProcessorTestCase.java | 117 + .../src/test/resources/helloworld/helloworld.bpel | 66 + .../src/test/resources/helloworld/helloworld.wsdl | 82 + .../sca-node/modules/implementation-das/DISCLAIMER | 8 + .../sca-node/modules/implementation-das/LICENSE | 205 + .../sca-node/modules/implementation-das/NOTICE | 6 + .../sca-node/modules/implementation-das/README | 78 + .../sca-node/modules/implementation-das/build.xml | 51 + .../modules/implementation-das/company.sql | 28 + .../sca-node/modules/implementation-das/pom.xml | 187 + .../tuscany/sca/implementation/das/Constants.java | 33 + .../apache/tuscany/sca/implementation/das/DAS.java | 49 + .../sca/implementation/das/DASImplementation.java | 146 + .../das/DASImplementationFactory.java | 36 + .../das/DASImplementationProcessor.java | 271 + .../das/DefaultDASImplementationFactory.java | 46 + .../implementation/das/annotations/Command.java | 36 + .../das/provider/DASImplementationProvider.java | 75 + .../provider/DASImplementationProviderFactory.java | 47 + .../implementation/das/provider/DASInvoker.java | 87 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../impl-das-validation-messages.properties | 23 + .../das/DASImplementationProcessorTestCase.java | 179 + .../sca/implementation/das/DASTestCase.java | 73 + .../implementation/das/company/CompanyService.java | 33 + .../das/company/CompanyServiceTestCase.java | 62 + .../src/test/resources/company.componentType | 29 + .../src/test/resources/company.composite | 35 + .../src/test/resources/company.xml | 45 + .../src/test/resources/das.composite | 35 + .../modules/implementation-data-xml/DISCLAIMER | 8 + .../modules/implementation-data-xml/LICENSE | 205 + .../modules/implementation-data-xml/NOTICE | 6 + .../modules/implementation-data-xml/README | 78 + .../modules/implementation-data-xml/build.xml | 51 + .../modules/implementation-data-xml/company.sql | 28 + .../modules/implementation-data-xml/pom.xml | 209 + .../tuscany/sca/implementation/data/DATA.java | 64 + .../sca/implementation/data/DATACollection.java | 28 + .../implementation/data/DATAImplementation.java | 161 + .../data/DATAImplementationFactory.java | 44 + .../data/DATAImplementationProcessor.java | 132 + .../sca/implementation/data/jdbc/JDBCHelper.java | 215 + .../data/jdbc/JDBCResultSetStreamReader.java | 53 + .../data/jdbc/ResultSetXmlNodeImpl.java | 244 + .../data/provider/DATAImplementationProvider.java | 98 + .../DATAImplementationProviderFactory.java | 47 + .../implementation/data/provider/DATAInvoker.java | 583 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../data/DATACollectionTestCaseFIXME.java | 118 + .../data/DATAImplementationProcessorTestCase.java | 133 + .../sca/implementation/data/DATATestCase.java | 133 + .../data/companyFeed/CompanyFeed.java | 62 + .../data/companyFeed/CompanyFeedTestCaseFIXME.java | 51 + .../src/test/resources/data-feed.composite | 50 + .../src/test/resources/data.composite | 36 + .../src/test/resources/insert.xml | 9 + .../src/test/resources/update.xml | 7 + .../sca-node/modules/implementation-ejb/DISCLAIMER | 8 + .../sca-node/modules/implementation-ejb/LICENSE | 205 + .../sca-node/modules/implementation-ejb/NOTICE | 6 + .../sca-node/modules/implementation-ejb/pom.xml | 81 + .../sca/implementation/ejb/EJBImplementation.java | 44 + .../ejb/EJBImplementationFactory.java | 36 + .../ejb/impl/EJBImplementationFactoryImpl.java | 39 + .../ejb/impl/EJBImplementationImpl.java | 95 + .../ejb/xml/EJBImplementationProcessor.java | 129 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...sca.implementation.ejb.EJBImplementationFactory | 19 + .../sca/implementation/ejb/xml/ReadTestCase.java | 84 + .../sca/implementation/ejb/xml/WriteTestCase.java | 68 + .../sca/implementation/ejb/xml/TestEJB.composite | 29 + .../modules/implementation-java-runtime/DISCLAIMER | 8 + .../modules/implementation-java-runtime/LICENSE | 205 + .../modules/implementation-java-runtime/NOTICE | 6 + .../modules/implementation-java-runtime/pom.xml | 81 + .../java/context/InstanceFactory.java | 43 + .../java/context/InstanceFactoryProvider.java | 49 + .../java/context/ReflectiveInstanceFactory.java | 86 + .../java/context/ReflectiveInstanceWrapper.java | 56 + .../injection/ArrayMultiplicityObjectFactory.java | 54 + .../java/injection/ContextInjector.java | 32 + .../injection/ConversationIDObjectFactory.java | 39 + .../java/injection/FieldInjector.java | 67 + .../java/injection/InjectionRuntimeException.java | 45 + .../implementation/java/injection/Injector.java | 35 + .../java/injection/InvalidAccessorException.java | 43 + .../injection/JavaPropertyValueObjectFactory.java | 325 + .../injection/ListMultiplicityObjectFactory.java | 50 + .../java/injection/MethodInjector.java | 64 + .../injection/RequestContextObjectFactory.java | 55 + .../java/injection/ResourceHost.java | 46 + .../java/injection/ResourceNotFoundException.java | 51 + .../java/injection/ResourceObjectFactory.java | 87 + .../injection/ResourceResolutionException.java | 43 + .../java/invocation/EventInvocationException.java | 47 + .../java/invocation/EventInvoker.java | 34 + .../InvalidConversationSequenceException.java | 46 + .../JavaCallbackRuntimeWireProcessor.java | 106 + .../invocation/JavaComponentContextFactory.java | 40 + .../invocation/JavaComponentContextProvider.java | 404 + .../java/invocation/JavaComponentNameFactory.java | 40 + .../java/invocation/JavaImplementationInvoker.java | 199 + .../invocation/JavaImplementationProvider.java | 205 + .../JavaImplementationProviderFactory.java | 77 + .../invocation/JavaInstanceFactoryProvider.java | 183 + .../JavaPolicyHandlingRuntimeWireProcessor.java | 126 + .../java/invocation/MethodEventInvoker.java | 56 + .../NoConversationalContractException.java | 34 + .../java/invocation/PolicyHandlingInterceptor.java | 74 + .../java/module/JavaRuntimeModuleActivator.java | 104 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../java/context/MultiplicityTestCase.java | 34 + .../context/ReflectiveInstanceWrapperTestCase.java | 84 + .../CallbackWireObjectFactoryTestCase.java | 54 + .../java/injection/FieldInjectorTestCase.java | 49 + .../JavaPropertyValueObjectFactoryTestCase.java | 449 + .../java/injection/MethodEventInvokerTestCase.java | 76 + .../java/injection/MethodInjectorTestCase.java | 80 + .../RequestContextObjectFactoryTestCase.java | 33 + .../injection/ResourceObjectFactoryTestCase.java | 89 + .../java/injection/SingletonObjectFactory.java | 39 + .../injection/SingletonObjectFactoryTestCase.java | 33 + .../java/injection/TestObjectFactory.java | 120 + .../java/injection/TestObjectFactoryTestCase.java | 77 + .../sca/implementation/java/util/Bean1.java | 50 + .../sca/implementation/java/util/Bean2.java | 51 + .../sca/implementation/java/util/Entry.java | 32 + .../java/util/JavaIntrospectionHelperTestCase.java | 185 + .../sca/implementation/java/util/SuperBean.java | 48 + .../modules/implementation-java-xml/DISCLAIMER | 8 + .../modules/implementation-java-xml/LICENSE | 205 + .../modules/implementation-java-xml/NOTICE | 6 + .../modules/implementation-java-xml/pom.xml | 112 + .../java/xml/JavaImplementationConstants.java | 36 + .../java/xml/JavaImplementationProcessor.java | 315 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../impl-javaxml-validation-messages.properties | 23 + .../src/test/java/calculator/AddService.java | 30 + .../src/test/java/calculator/AddServiceImpl.java | 37 + .../test/java/calculator/CalculatorService.java | 36 + .../java/calculator/CalculatorServiceImpl.java | 73 + .../src/test/java/calculator/DivideService.java | 30 + .../test/java/calculator/DivideServiceImpl.java | 35 + .../src/test/java/calculator/MultiplyService.java | 30 + .../test/java/calculator/MultiplyServiceImpl.java | 35 + .../src/test/java/calculator/SubtractService.java | 30 + .../test/java/calculator/SubtractServiceImpl.java | 35 + .../sca/implementation/java/xml/ReadTestCase.java | 224 + .../implementation/java/xml/TestModelResolver.java | 88 + .../sca/implementation/java/xml/WriteTestCase.java | 64 + .../implementation/java/xml/Calculator.composite | 66 + .../sca/implementation/java/xml/definitions.xml | 100 + .../java/xml/definitions_with_policysets.xml | 133 + .../modules/implementation-java/DISCLAIMER | 8 + .../sca-node/modules/implementation-java/LICENSE | 205 + .../sca-node/modules/implementation-java/NOTICE | 6 + .../sca-node/modules/implementation-java/pom.xml | 69 + .../java/BaseJavaImplementation.java | 59 + .../java/DefaultJavaImplementationFactory.java | 33 + .../java/IntrospectionException.java | 60 + .../implementation/java/JavaImplementation.java | 198 + .../java/JavaImplementationFactory.java | 75 + .../java/impl/BaseJavaImplementationImpl.java | 89 + .../java/impl/JavaClassIntrospectorImpl.java | 141 + .../java/impl/JavaConstructorImpl.java | 53 + .../implementation/java/impl/JavaElementImpl.java | 224 + .../java/impl/JavaImplementationActivator.java | 86 + .../java/impl/JavaImplementationFactoryImpl.java | 70 + .../java/impl/JavaImplementationImpl.java | 168 + .../java/impl/JavaParameterImpl.java | 35 + .../implementation/java/impl/JavaResourceImpl.java | 85 + .../implementation/java/impl/JavaScopeImpl.java | 66 + .../java/introspect/JavaClassVisitor.java | 126 + .../introspect/impl/AbstractPropertyProcessor.java | 192 + .../impl/AllowsPassByReferenceProcessor.java | 51 + .../impl/AmbiguousConstructorException.java | 40 + .../java/introspect/impl/BaseJavaClassVisitor.java | 64 + .../introspect/impl/ComponentNameProcessor.java | 80 + .../java/introspect/impl/ConstructorProcessor.java | 83 + .../java/introspect/impl/ContextProcessor.java | 82 + .../introspect/impl/ConversationIDProcessor.java | 70 + .../introspect/impl/ConversationProcessor.java | 132 + .../java/introspect/impl/DestroyProcessor.java | 61 + .../impl/DuplicateConstructorException.java | 41 + .../impl/DuplicateDestructorException.java | 35 + .../introspect/impl/DuplicateInitException.java | 35 + .../impl/DuplicatePropertyException.java | 34 + .../impl/DuplicateReferenceException.java | 35 + .../impl/DuplicateResourceException.java | 36 + .../java/introspect/impl/EagerInitProcessor.java | 57 + .../introspect/impl/HeuristicPojoProcessor.java | 607 + .../impl/IllegalCallbackReferenceException.java | 40 + .../introspect/impl/IllegalContextException.java | 40 + .../impl/IllegalDestructorException.java | 40 + .../java/introspect/impl/IllegalInitException.java | 40 + .../introspect/impl/IllegalPropertyException.java | 40 + .../introspect/impl/IllegalReferenceException.java | 40 + .../introspect/impl/IllegalResourceException.java | 40 + .../impl/IllegalServiceDefinitionException.java | 35 + .../java/introspect/impl/InitProcessor.java | 61 + .../impl/InvalidConstructorException.java | 36 + .../impl/InvalidConversationalImplementation.java | 39 + .../introspect/impl/InvalidPropertyException.java | 35 + .../introspect/impl/InvalidReferenceException.java | 42 + .../introspect/impl/InvalidResourceException.java | 40 + .../java/introspect/impl/InvalidServiceType.java | 48 + .../introspect/impl/JavaIntrospectionHelper.java | 577 + .../introspect/impl/NoConstructorException.java | 37 + .../java/introspect/impl/PolicyProcessor.java | 292 + .../java/introspect/impl/PropertyProcessor.java | 46 + .../java/introspect/impl/ReferenceProcessor.java | 208 + .../java/introspect/impl/Resource.java | 49 + .../java/introspect/impl/ResourceProcessor.java | 137 + .../java/introspect/impl/ScopeProcessor.java | 61 + .../java/introspect/impl/ServiceProcessor.java | 179 + .../impl/ServiceTypeNotFoundException.java | 35 + .../impl/UnknownContextTypeException.java | 33 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + ...a.implementation.java.JavaImplementationFactory | 18 + .../introspect/impl/AbstractProcessorTest.java | 76 + .../impl/AbstractPropertyProcessorTestCase.java | 169 + .../AllowsPassByReferenceProcessorTestCase.java | 71 + .../impl/ConstructorProcessorTestCase.java | 192 + .../impl/ConstructorPropertyTestCase.java | 157 + .../impl/ConstructorReferenceTestCase.java | 167 + .../impl/ConstructorResourceTestCase.java | 152 + .../introspect/impl/ContextProcessorTestCase.java | 201 + .../impl/ConversationIDProcessorTestCase.java | 94 + .../impl/ConversationProcessorTestCase.java | 144 + .../introspect/impl/ConvertTimeMillisTestCase.java | 117 + .../introspect/impl/DestroyProcessorTestCase.java | 129 + .../impl/EagerInitProcessorTestCase.java | 59 + .../impl/HeuristicAndPropertyTestCase.java | 71 + .../impl/HeuristicConstructorTestCase.java | 310 + .../impl/HeuristicPojoProcessorTestCase.java | 535 + .../HeutisticExtensibleConstructorTestCase.java | 148 + .../introspect/impl/InitProcessorTestCase.java | 145 + .../impl/JavaClassIntrospectorImplTestCase.java | 95 + .../java/introspect/impl/ModelHelper.java | 99 + .../introspect/impl/PolicyProcessorTestCase.java | 418 + .../introspect/impl/PropertyProcessorTestCase.java | 212 + .../impl/ReferenceProcessorTestCase.java | 221 + .../introspect/impl/ResourceProcessorTestCase.java | 119 + .../introspect/impl/ScopeProcessorTestCase.java | 113 + .../introspect/impl/ServiceCallbackTestCase.java | 183 + .../introspect/impl/ServiceProcessorTestCase.java | 143 + .../modules/implementation-node-runtime/DISCLAIMER | 8 + .../modules/implementation-node-runtime/LICENSE | 205 + .../modules/implementation-node-runtime/NOTICE | 6 + .../modules/implementation-node-runtime/pom.xml | 138 + .../NodeImplementationDaemonBootstrap.java | 84 + .../NodeImplementationLauncherBootstrap.java | 138 + .../launcher/NodeImplementationLauncherUtil.java | 51 + .../node/launcher/NodeProcessCollectionImpl.java | 341 + .../node/launcher/PingServiceImpl.java | 61 + .../node/provider/NodeImplementationInvoker.java | 44 + .../node/provider/NodeImplementationProvider.java | 62 + .../NodeImplementationProviderFactory.java | 49 + .../node/webapp/NodeWebAppRequestDispatcher.java | 119 + .../node/webapp/NodeWebAppServletHost.java | 392 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../src/main/resources/NodeDaemon.composite | 39 + .../node/NodeImplementationTestCase.java | 47 + .../src/test/resources/TestComposite.composite | 29 + .../src/test/resources/TestNode.composite | 30 + .../modules/implementation-node/DISCLAIMER | 8 + .../sca-node/modules/implementation-node/LICENSE | 205 + .../sca-node/modules/implementation-node/NOTICE | 6 + .../sca-node/modules/implementation-node/pom.xml | 86 + .../node/ConfiguredNodeImplementation.java | 54 + .../implementation/node/NodeImplementation.java | 45 + .../node/NodeImplementationFactory.java | 42 + .../builder/impl/NodeCompositeBuilderImpl.java | 91 + .../impl/ConfiguredNodeImplementationImpl.java | 104 + .../node/impl/NodeImplementationFactoryImpl.java | 44 + .../node/impl/NodeImplementationImpl.java | 97 + .../xml/ConfiguredNodeImplementationProcessor.java | 196 + .../node/xml/NodeImplementationProcessor.java | 119 + ...ca.contribution.processor.StAXArtifactProcessor | 20 + ...a.implementation.node.NodeImplementationFactory | 19 + .../builder/impl/CalculateBindingURITestCase.java | 587 + .../sca/implementation/node/xml/ReadTestCase.java | 81 + .../sca/implementation/node/xml/WriteTestCase.java | 65 + .../node/xml/TestComposite.composite | 29 + .../sca/implementation/node/xml/TestNode.composite | 64 + .../modules/implementation-notification/DISCLAIMER | 8 + .../modules/implementation-notification/LICENSE | 205 + .../modules/implementation-notification/NOTICE | 6 + .../modules/implementation-notification/pom.xml | 110 + .../DefaultNotificationImplementationFactory.java | 33 + .../notification/ImmutableMessage.java | 97 + .../notification/NotificationComponentInvoker.java | 112 + .../NotificationImplementationFactory.java | 27 + .../NotificationImplementationImpl.java | 96 + .../NotificationImplementationProcessor.java | 99 + .../NotificationImplementationProvider.java | 67 + .../NotificationImplementationProviderFactory.java | 38 + .../notification/NotificationModuleActivator.java | 49 + .../org.apache.tuscany.sca.core.ModuleActivator | 19 + .../NotificationComponentTestCase.java | 136 + .../NotificationImplementationLoaderTestCase.java | 56 + ...afficAdvisoryNotificationTestCase.componentType | 30 + .../modules/implementation-openjpa/DISCLAIMER | 8 + .../modules/implementation-openjpa/LICENSE | 205 + .../sca-node/modules/implementation-openjpa/NOTICE | 6 + .../sca-node/modules/implementation-openjpa/README | 33 + .../modules/implementation-openjpa/pom.xml | 132 + .../implementation/openjpa/JPAImplementation.java | 36 + .../openjpa/JPAImplementationFactory.java | 24 + .../openjpa/JPAImplementationProcessor.java | 99 + .../openjpa/PersistenceUnitInfoImplProcessor.java | 109 + .../openjpa/TuscanyBrokerFactory.java | 100 + .../implementation/openjpa/TuscanyBrokerImpl.java | 37 + .../openjpa/TuscanyJDBCConfigurationImpl.java | 59 + .../openjpa/TuscanyManagerRuntime.java | 51 + .../openjpa/TuscanyStoreManager.java | 49 + .../openjpa/impl/JPAImplementationFactoryImpl.java | 39 + .../openjpa/impl/JPAImplementationImpl.java | 119 + .../provider/JPAImplementationProvider.java | 101 + .../provider/JPAImplementationProviderFactory.java | 45 + .../openjpa/provider/JPAInvoker.java | 63 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...ementation.openjpa.OpenJpaImplementationFactory | 18 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../implementation/openjpa/ImplJpaTestCase.java | 69 + .../src/test/java/sample/Abc.java | 34 + .../src/test/java/sample/Message.java | 72 + .../src/test/java/sample/MyObject.java | 33 + .../src/test/resources/openjpa.composite | 44 + .../modules/implementation-openjpa/test/db.lck | Bin 0 -> 38 bytes .../implementation-openjpa/test/log/log.ctrl | Bin 0 -> 48 bytes .../implementation-openjpa/test/log/log1.dat | Bin 0 -> 1048576 bytes .../implementation-openjpa/test/log/logmirror.ctrl | Bin 0 -> 48 bytes .../implementation-openjpa/test/seg0/c10.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c101.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c111.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c121.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c130.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c141.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c150.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c161.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c171.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c180.dat | Bin 0 -> 24576 bytes .../implementation-openjpa/test/seg0/c191.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1a1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1b1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1c0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1d1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1e0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c1f1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c20.dat | Bin 0 -> 20480 bytes .../implementation-openjpa/test/seg0/c200.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c211.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c221.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c230.dat | Bin 0 -> 118784 bytes .../implementation-openjpa/test/seg0/c241.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c251.dat | Bin 0 -> 12288 bytes .../implementation-openjpa/test/seg0/c260.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c271.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c281.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c290.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2a1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2b1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2c1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2d0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2e1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c2f0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c300.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c31.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c311.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c320.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c331.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c41.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c51.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c60.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c71.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c81.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/c90.dat | Bin 0 -> 20480 bytes .../implementation-openjpa/test/seg0/ca1.dat | Bin 0 -> 20480 bytes .../implementation-openjpa/test/seg0/cb1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/cc0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/cd1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/ce1.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/seg0/cf0.dat | Bin 0 -> 8192 bytes .../implementation-openjpa/test/service.properties | 22 + .../modules/implementation-osgi/DISCLAIMER | 8 + .../sca-node/modules/implementation-osgi/LICENSE | 203 + .../sca-node/modules/implementation-osgi/NOTICE | 6 + .../sca-node/modules/implementation-osgi/pom.xml | 164 + .../osgi/OSGiImplementationInterface.java | 45 + .../osgi/context/OSGiAnnotations.java | 325 + .../osgi/context/OSGiPropertyInjector.java | 293 + .../context/OSGiPropertyValueObjectFactory.java | 226 + .../invocation/OSGiImplementationProvider.java | 1249 ++ .../OSGiImplementationProviderFactory.java | 111 + .../osgi/invocation/OSGiInstanceWrapper.java | 299 + .../osgi/invocation/OSGiRemotableInvoker.java | 139 + .../osgi/invocation/OSGiTargetInvoker.java | 199 + .../osgi/xml/OSGiImplementation.java | 168 + .../osgi/xml/OSGiImplementationProcessor.java | 549 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../impl-osgi-validation-messages.properties | 25 + .../osgi/invocation/OSGiPropertyTestCase.java | 49 + .../osgi/invocation/OSGiTestCase.java | 74 + .../implementation/osgi/test/OSGiTestBundles.java | 111 + .../sca/implementation/osgi/test/OSGiTestImpl.java | 51 + .../osgi/test/OSGiTestInterface.java | 32 + .../osgi/test/OSGiTestWithPropertyImpl.java | 66 + .../osgi/xml/OSGiReadImplTestCase.java | 131 + .../implementation/osgi/xml/TestModelResolver.java | 105 + .../test/resources/OSGiTestService.componentType | 28 + .../src/test/resources/osgiproptest.composite | 37 + .../src/test/resources/osgitest.composite | 36 + .../implementation-resource-runtime/DISCLAIMER | 8 + .../implementation-resource-runtime/LICENSE | 205 + .../modules/implementation-resource-runtime/NOTICE | 6 + .../implementation-resource-runtime/pom.xml | 86 + .../resource/provider/GetResourceInvoker.java | 67 + .../provider/ResourceImplementationProvider.java | 75 + .../ResourceImplementationProviderFactory.java | 47 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../resource/ResourceImplementationTestCase.java | 77 + .../src/test/resources/content/test.html | 21 + .../src/test/resources/resource.composite | 30 + .../modules/implementation-resource/DISCLAIMER | 8 + .../modules/implementation-resource/LICENSE | 205 + .../modules/implementation-resource/NOTICE | 6 + .../modules/implementation-resource/pom.xml | 79 + .../sca/implementation/resource/Resource.java | 34 + .../resource/ResourceImplementation.java | 57 + .../resource/ResourceImplementationFactory.java | 35 + .../impl/ResourceImplementationFactoryImpl.java | 47 + .../resource/impl/ResourceImplementationImpl.java | 130 + .../impl/ResourceImplementationProcessor.java | 167 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...entation.resource.ResourceImplementationFactory | 19 + .../impl-resource-validation-messages.properties | 23 + .../modules/implementation-script/DISCLAIMER | 8 + .../sca-node/modules/implementation-script/LICENSE | 251 + .../sca-node/modules/implementation-script/NOTICE | 12 + .../sca-node/modules/implementation-script/pom.xml | 193 + .../script/ScriptImplementation.java | 99 + .../script/ScriptImplementationActivator.java | 49 + .../sca/implementation/script/ScriptInvoker.java | 84 + .../script/ScriptInvokerFactory.java | 173 + .../script/engines/TuscanyJRubyScriptEngine.java | 500 + ...ny.sca.extension.helper.ImplementationActivator | 18 + .../script/itests/AbstractSCATestCase.java | 54 + .../itests/dynamic/AbstractHelloWorldTestCase.java | 38 + .../script/itests/dynamic/HelloWorld.java | 31 + .../dynamic/JavaScriptDynamicRefTestCase.java | 29 + .../dynamic/JavaScriptHelloWorldTestCase.java | 34 + .../helloworld/AbstractHelloWorldTestCase.java | 38 + .../helloworld/GroovyHelloWorldTestCase.java | 29 + .../script/itests/helloworld/HelloWorld.java | 30 + .../script/itests/helloworld/HelloWorldProxy.java | 37 + .../itests/helloworld/JRubyHelloWorldTestCase.java | 29 + .../JavaScripInlineHelloWorldTestCase.java | 29 + .../helloworld/JavaScriptHelloWorldTestCase.java | 29 + .../helloworld/JythonHelloWorldTestCase.java | 29 + .../properties/AbstractHelloWorldTestCase.java | 38 + .../properties/GroovyHelloWorldTestCase.java | 29 + .../script/itests/properties/HelloWorld.java | 30 + .../script/itests/properties/HelloWorldProxy.java | 37 + .../itests/properties/JRubyHelloWorldTestCase.java | 28 + .../properties/JavaScriptHelloWorldTestCase.java | 29 + .../properties/JythonHelloWorldTestCase.java | 29 + .../itests/references/GroovyReferenceTestCase.java | 29 + .../script/itests/references/HelloWorldTarget.java | 34 + .../itests/references/JRubyReferenceTestCase.java | 29 + .../references/JavaScriptReferenceTestCase.java | 29 + .../itests/references/JythonReferenceTestCase.java | 29 + .../itests/dynamic/JavaScriptDynamicRef.composite | 35 + .../itests/dynamic/JavaScriptHelloWorld.composite | 30 + .../script/itests/dynamic/helloworld.js | 26 + .../script/itests/dynamic/helloworldProxy.js | 22 + .../itests/helloworld/GroovyHelloWorld.composite | 33 + .../itests/helloworld/JRubyHelloWorld.composite | 33 + .../helloworld/JavaScripInlineHelloWorld.composite | 34 + .../helloworld/JavaScriptHelloWorld.composite | 33 + .../itests/helloworld/JythonHelloWorld.composite | 33 + .../itests/helloworld/helloworld.componentType | 30 + .../script/itests/helloworld/helloworld.groovy | 22 + .../script/itests/helloworld/helloworld.js | 23 + .../script/itests/helloworld/helloworld.py | 20 + .../script/itests/helloworld/helloworld.rb | 21 + .../itests/properties/GroovyHelloWorld.composite | 33 + .../itests/properties/JRubyHelloWorld.composite | 33 + .../properties/JavaScriptHelloWorld.composite | 33 + .../itests/properties/JythonHelloWorld.composite | 33 + .../itests/properties/helloworld.componentType | 32 + .../script/itests/properties/helloworld.groovy | 22 + .../script/itests/properties/helloworld.js | 23 + .../script/itests/properties/helloworld.py | 20 + .../script/itests/properties/helloworld.rb | 21 + .../itests/references/GroovyReference.composite | 38 + .../itests/references/JRubyReference.composite | 38 + .../references/JavaScriptReference.composite | 38 + .../itests/references/JythonReference.composite | 38 + .../itests/references/reference.componentType | 31 + .../script/itests/references/reference.groovy | 22 + .../script/itests/references/reference.js | 22 + .../script/itests/references/reference.py | 20 + .../script/itests/references/reference.rb | 21 + .../modules/implementation-spring/DISCLAIMER | 8 + .../sca-node/modules/implementation-spring/LICENSE | 205 + .../sca-node/modules/implementation-spring/NOTICE | 6 + .../sca-node/modules/implementation-spring/pom.xml | 126 + .../spring/SCAApplicationContext.java | 53 + .../spring/SCANamespaceHandlerResolver.java | 53 + .../spring/SCAParentApplicationContext.java | 263 + .../implementation/spring/ScaNamespaceHandler.java | 38 + .../spring/ScaPropertyBeanDefinitionParser.java | 35 + .../spring/ScaReferenceBeanDefinitionParser.java | 36 + .../spring/ScaServiceBeanDefinitionParser.java | 36 + .../spring/SpringBeanNotFoundException.java | 39 + .../spring/SpringImplementation.java | 149 + .../spring/SpringImplementationProcessor.java | 227 + .../spring/SpringImplementationProvider.java | 87 + .../SpringImplementationProviderFactory.java | 78 + .../spring/SpringInvocationException.java | 40 + .../sca/implementation/spring/SpringInvoker.java | 127 + .../spring/SpringOperationNotFoundException.java | 40 + .../spring/SpringPropertyValueObjectFactory.java | 45 + .../spring/xml/SpringBeanElement.java | 58 + .../spring/xml/SpringBeanIntrospector.java | 141 + .../spring/xml/SpringPropertyElement.java | 45 + .../spring/xml/SpringSCAPropertyElement.java | 44 + .../spring/xml/SpringSCAReferenceElement.java | 46 + .../spring/xml/SpringSCAServiceElement.java | 52 + .../spring/xml/SpringXMLComponentTypeLoader.java | 562 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../src/main/resources/META-INF/spring.handlers | 3 + .../src/main/resources/META-INF/spring.schemas | 1 + .../impl-spring-validation-messages.properties | 23 + .../org/springframework/sca/xml/spring-sca.xsd | 99 + .../spring/itests/AbstractSCATestCase.java | 55 + .../helloworld/AbstractHelloWorldTestCase.java | 42 + .../spring/itests/helloworld/HelloWorld.java | 35 + .../spring/itests/helloworld/HelloWorldImpl.java | 38 + .../spring/itests/helloworld/HelloWorldProxy.java | 42 + .../SpringExplicitHelloWorldTestCase.java | 34 + .../SpringExplicitReferenceTestCase.java | 39 + .../helloworld/SpringHelloWorldTestCase.java | 32 + .../SpringImplicitReferenceTestCase.java | 42 + .../helloworld/SpringSCAPropertyTestCase.java | 39 + .../spring/itests/mock/TestBean.java | 31 + .../spring/itests/mock/TestBeanImpl.java | 42 + .../spring/itests/mock/TestHelloWorldBean.java | 39 + .../spring/itests/mock/TestReference.java | 27 + .../spring/itests/mock/TestReferenceBean.java | 57 + .../spring/itests/mock/TestSCAPropertyBean.java | 55 + .../sca/SpringExplicitHelloWorld-context.xml | 39 + .../sca/SpringExplicitReference-context.xml | 33 + .../META-INF/sca/SpringHelloWorld-context.xml | 31 + .../sca/SpringImplicitReference-context.xml | 34 + .../META-INF/sca/SpringSCAProperty-context.xml | 34 + .../META-INF/sca/testReferenceContext.xml | 33 + .../resources/META-INF/sca/testServiceContext.xml | 31 + .../helloworld/SpringExplicitHelloWorld.composite | 33 + .../helloworld/SpringExplicitReference.composite | 32 + .../itests/helloworld/SpringHelloWorld.composite | 32 + .../helloworld/SpringImplicitReference.composite | 39 + .../itests/helloworld/SpringSCAProperty.composite | 39 + .../src/test/resources/test.xml | 27 + .../sca-node/modules/implementation-web/DISCLAIMER | 8 + .../sca-node/modules/implementation-web/LICENSE | 203 + .../sca-node/modules/implementation-web/NOTICE | 6 + .../sca-node/modules/implementation-web/pom.xml | 103 + .../web/ComponentContextServlet.java | 97 + .../implementation/web/ContextScriptProcessor.java | 29 + .../web/ContextScriptProcessorExtensionPoint.java | 27 + ...efaultContextScriptProcessorExtensionPoint.java | 29 + .../sca/implementation/web/WebImplementation.java | 36 + .../web/WebImplementationActivator.java | 67 + .../sca/implementation/web/WebSingleton.java | 73 + .../implementation/web/taglib/ReferenceTEI.java | 42 + .../implementation/web/taglib/ReferenceTag.java | 103 + .../src/main/resources/META-INF/sca.tld | 59 + ...ny.sca.extension.helper.ImplementationActivator | 18 + ...tation.web.ContextScriptProcessorExtensionPoint | 19 + .../implementation-widget-runtime/DISCLAIMER | 8 + .../modules/implementation-widget-runtime/LICENSE | 205 + .../modules/implementation-widget-runtime/NOTICE | 6 + .../modules/implementation-widget-runtime/pom.xml | 122 + .../provider/WidgetImplementationInvoker.java | 240 + .../provider/WidgetImplementationProvider.java | 67 + .../WidgetImplementationProviderFactory.java | 47 + .../widget/provider/WidgetProxyHelper.java | 51 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../src/main/resources/binding-atom.js | 137 + .../src/main/resources/binding-http.js | 105 + .../src/main/resources/binding-jsonrpc.js | 492 + .../widget/WidgetImplementationTestCase.java | 48 + .../src/test/java/store/Catalog.java | 32 + .../src/test/java/store/CatalogImpl.java | 47 + .../src/test/java/store/ShoppingCartImpl.java | 124 + .../src/test/resources/content/store.html | 123 + .../src/test/resources/widget.composite | 54 + .../modules/implementation-widget/DISCLAIMER | 8 + .../sca-node/modules/implementation-widget/LICENSE | 205 + .../sca-node/modules/implementation-widget/NOTICE | 6 + .../sca-node/modules/implementation-widget/pom.xml | 79 + .../tuscany/sca/implementation/widget/Widget.java | 34 + .../widget/WidgetImplementation.java | 129 + .../widget/WidgetImplementationFactory.java | 45 + .../widget/WidgetImplementationIntrospector.java | 143 + .../widget/WidgetImplementationProcessor.java | 176 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...plementation.widget.WidgetImplementationFactory | 19 + .../impl-widget-validation-messages.properties | 23 + .../modules/implementation-xquery/DISCLAIMER | 8 + .../sca-node/modules/implementation-xquery/LICENSE | 202 + .../sca-node/modules/implementation-xquery/NOTICE | 6 + .../sca-node/modules/implementation-xquery/pom.xml | 105 + .../xquery/XQueryImplementation.java | 75 + .../xquery/XQueryImplementationFactory.java | 32 + .../xquery/XQueryImplementationProvider.java | 166 + .../XQueryImplementationProviderFactory.java | 54 + .../xquery/XQueryInvokationException.java | 33 + .../sca/implementation/xquery/XQueryInvoker.java | 302 + .../impl/XQueryImplementationFactoryImpl.java | 35 + .../xquery/impl/XQueryImplementationImpl.java | 102 + .../xquery/xml/XQueryImplementationProcessor.java | 159 + .../xquery/xml/XQueryIntrospector.java | 307 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../impl-xquery-validation-messages.properties | 22 + .../modules/interface-java-jaxws/DISCLAIMER | 8 + .../sca-node/modules/interface-java-jaxws/LICENSE | 205 + .../sca-node/modules/interface-java-jaxws/NOTICE | 6 + .../sca-node/modules/interface-java-jaxws/pom.xml | 263 + .../interfacedef/java/jaxws/BaseBeanGenerator.java | 359 + .../java/jaxws/CodeGenerationHelper.java | 265 + .../java/jaxws/FaultBeanGenerator.java | 147 + .../java/jaxws/GeneratedClassLoader.java | 69 + .../java/jaxws/GeneratedDataTypeImpl.java | 142 + .../java/jaxws/JAXWSFaultExceptionMapper.java | 366 + .../java/jaxws/JAXWSJavaInterfaceProcessor.java | 366 + .../java/jaxws/WrapperBeanGenerator.java | 170 + .../tuscany/sca/interfacedef/java/jaxws/Bean.java | 27 + .../tuscany/sca/interfacedef/java/jaxws/Bean1.java | 40 + .../tuscany/sca/interfacedef/java/jaxws/Bean2.java | 40 + .../java/jaxws/FaultBeanGeneratorTestCase.java | 62 + .../jaxws/JAXWSJavaInterfaceProcessorTestCase.java | 99 + .../java/jaxws/JavaReflectionHelperTestCase.java | 48 + .../sca/interfacedef/java/jaxws/MyException.java | 62 + .../sca/interfacedef/java/jaxws/MyServiceImpl.java | 52 + .../interfacedef/java/jaxws/TestGenericClass.java | 40 + .../sca/interfacedef/java/jaxws/TestInterface.java | 55 + .../java/jaxws/WrapperBeanGeneratorTestCase.java | 79 + .../src/test/resources/wsdl/Stock.wsdl | 142 + .../test/resources/wsdl/StockExceptionTest.wsdl | 149 + .../sca-node/modules/interface-java-xml/DISCLAIMER | 8 + .../sca-node/modules/interface-java-xml/LICENSE | 205 + .../sca-node/modules/interface-java-xml/NOTICE | 6 + .../sca-node/modules/interface-java-xml/pom.xml | 83 + .../sca/interfacedef/java/xml/JavaConstants.java | 37 + .../java/xml/JavaInterfaceProcessor.java | 193 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...nterface-javaxml-validation-messages.properties | 22 + .../sca/interfacedef/java/xml/ReadTestCase.java | 100 + .../sca/interfacedef/java/xml/WriteTestCase.java | 83 + .../sca/interfacedef/java/xml/Calculator.composite | 53 + .../java/xml/CalculatorComponent.constrainingType | 34 + .../java/xml/CalculatorImpl.componentType | 31 + .../sca-node/modules/interface-java/DISCLAIMER | 8 + .../java/sca-node/modules/interface-java/LICENSE | 205 + .../java/sca-node/modules/interface-java/NOTICE | 6 + .../java/sca-node/modules/interface-java/pom.xml | 82 + .../java/DefaultJavaInterfaceFactory.java | 99 + .../sca/interfacedef/java/JavaInterface.java | 87 + .../interfacedef/java/JavaInterfaceContract.java | 32 + .../interfacedef/java/JavaInterfaceFactory.java | 82 + .../sca/interfacedef/java/JavaOperation.java | 57 + .../java/impl/JavaInterfaceContractImpl.java | 39 + .../java/impl/JavaInterfaceFactoryImpl.java | 73 + .../interfacedef/java/impl/JavaInterfaceImpl.java | 111 + .../java/impl/JavaInterfaceIntrospectorImpl.java | 258 + .../interfacedef/java/impl/JavaInterfaceUtil.java | 167 + .../interfacedef/java/impl/JavaOperationImpl.java | 82 + .../java/impl/PolicyJavaInterfaceVisitor.java | 159 + .../java/introspect/JavaInterfaceVisitor.java | 39 + ...cany.sca.interfacedef.java.JavaInterfaceFactory | 18 + ...avaInterfaceUtilDuplicateRemotableTestCase.java | 308 + .../java/impl/JavaInterfaceUtilTestCase.java | 121 + .../impl/ConversationalIntrospectionTestCase.java | 98 + ...JavaInterfaceProcessorRegistryImplTestCase.java | 107 + .../impl/PolicyProcessorTestCase.java | 108 + .../modules/interface-wsdl-java2wsdl/DISCLAIMER | 8 + .../modules/interface-wsdl-java2wsdl/LICENSE | 205 + .../modules/interface-wsdl-java2wsdl/NOTICE | 6 + .../modules/interface-wsdl-java2wsdl/pom.xml | 126 + .../interface2wsdl/Interface2WSDLGenerator.java | 672 + .../interface2wsdl/WSDLDefinitionGenerator.java | 304 + .../wsdl/java2wsdl/Java2WSDLHelper.java | 602 + .../sca/interfacedef/wsdl/TestException.java | 47 + .../tuscany/sca/interfacedef/wsdl/TestFault.java | 46 + .../sca/interfacedef/wsdl/TestFaultBean.java | 54 + .../sca/interfacedef/wsdl/TestJavaClass.java | 30 + .../sca/interfacedef/wsdl/TestJavaInterface.java | 57 + .../interface2wsdl/Java2WSDLGeneratorTestCase.java | 67 + .../wsdl/java2wsdl/Java2WSDLHelperTestCase.java | 105 + .../sca-node/modules/interface-wsdl-xml/DISCLAIMER | 8 + .../sca-node/modules/interface-wsdl-xml/LICENSE | 205 + .../sca-node/modules/interface-wsdl-xml/NOTICE | 6 + .../sca-node/modules/interface-wsdl-xml/pom.xml | 95 + .../wsdl/xml/BPELExtensionHandler.java | 132 + .../wsdl/xml/BPELPartnerLinkTypeExt.java | 79 + .../sca/interfacedef/wsdl/xml/WSDLConstants.java | 40 + .../wsdl/xml/WSDLDocumentProcessor.java | 230 + .../wsdl/xml/WSDLInterfaceProcessor.java | 251 + .../interfacedef/wsdl/xml/WSDLModelResolver.java | 449 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...sca.contribution.processor.URLArtifactProcessor | 19 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + ...nterface-wsdlxml-validation-messages.properties | 24 + .../interfacedef/wsdl/AbstractWSDLTestCase.java | 68 + .../WSDLInterfaceIntrospectorTestCase.java | 83 + .../WSDLOperationIntrospectorTestCase.java | 117 + ...licyAnnotatedInterfaceIntrospectorTestCase.java | 87 + .../introspect/WrapperStyleOperationTestCase.java | 70 + .../sca/interfacedef/wsdl/xml/ReadTestCase.java | 97 + .../wsdl/xml/WSDLDocumentProcessorTestCase.java | 84 + .../sca/interfacedef/wsdl/xml/WSDLTestCase.java | 104 + .../sca/interfacedef/wsdl/xml/WriteTestCase.java | 83 + .../wsdl/xml/XMLDocumentHelperTestCase.java | 52 + .../sca/interfacedef/wsdl/xml/Calculator.composite | 55 + .../wsdl/xml/CalculatorComponent.constrainingType | 36 + .../wsdl/xml/CalculatorImpl.componentType | 33 + .../tuscany/sca/interfacedef/wsdl/xml/example.wsdl | 26 + .../interfacedef/wsdl/xml/invalid-stockquote.wsdl | 58 + .../tuscany/sca/interfacedef/wsdl/xml/ipo.xsd | 136 + .../sca/interfacedef/wsdl/xml/stockquote.wsdl | 58 + .../tuscany/sca/interfacedef/wsdl/xml/test1.wsdl | 45 + .../tuscany/sca/interfacedef/wsdl/xml/test1.xsd | 33 + .../tuscany/sca/interfacedef/wsdl/xml/test2.wsdl | 63 + .../wsdl/xml/unwrapped-stockquote.wsdl | 76 + .../test/resources/policy/stockquote_policy.wsdl | 62 + .../test/resources/wsdl/helloworld-interface.wsdl | 67 + .../test/resources/wsdl/helloworld-service.wsdl | 49 + .../src/test/resources/xsd/greeting.xsd | 29 + .../src/test/resources/xsd/helloworld.xsd | 22 + .../src/test/resources/xsd/name.xsd | 29 + .../sca-node/modules/interface-wsdl/DISCLAIMER | 8 + .../java/sca-node/modules/interface-wsdl/LICENSE | 205 + .../java/sca-node/modules/interface-wsdl/NOTICE | 6 + .../java/sca-node/modules/interface-wsdl/pom.xml | 103 + .../sca/interfacedef/wsdl/DefaultWSDLFactory.java | 35 + .../sca/interfacedef/wsdl/WSDLDefinition.java | 140 + .../tuscany/sca/interfacedef/wsdl/WSDLFactory.java | 70 + .../sca/interfacedef/wsdl/WSDLInterface.java | 67 + .../interfacedef/wsdl/WSDLInterfaceContract.java | 43 + .../tuscany/sca/interfacedef/wsdl/WSDLObject.java | 53 + .../sca/interfacedef/wsdl/WSDLOperation.java | 40 + .../wsdl/impl/InvalidWSDLException.java | 35 + .../interfacedef/wsdl/impl/WSDLDefinitionImpl.java | 289 + .../interfacedef/wsdl/impl/WSDLFactoryImpl.java | 75 + .../wsdl/impl/WSDLInterfaceContractImpl.java | 47 + .../interfacedef/wsdl/impl/WSDLInterfaceImpl.java | 99 + .../wsdl/impl/WSDLInterfaceIntrospectorImpl.java | 141 + .../sca/interfacedef/wsdl/impl/WSDLObjectImpl.java | 60 + .../interfacedef/wsdl/impl/WSDLOperationImpl.java | 80 + .../wsdl/impl/WSDLOperationIntrospectorImpl.java | 602 + ...pache.tuscany.sca.interfacedef.wsdl.WSDLFactory | 18 + .../java/sca-node/modules/interface/DISCLAIMER | 8 + .../java/sca-node/modules/interface/LICENSE | 205 + .../java/sca-node/modules/interface/NOTICE | 6 + .../java/sca-node/modules/interface/pom.xml | 57 + .../sca/interfacedef/ConversationSequence.java | 29 + .../apache/tuscany/sca/interfacedef/DataType.java | 119 + .../sca/interfacedef/FaultExceptionMapper.java | 62 + .../IncompatibleInterfaceContractException.java | 69 + .../apache/tuscany/sca/interfacedef/Interface.java | 95 + .../sca/interfacedef/InterfaceContract.java | 81 + .../sca/interfacedef/InterfaceContractMapper.java | 115 + .../sca/interfacedef/InvalidCallbackException.java | 34 + .../interfacedef/InvalidInterfaceException.java | 41 + .../interfacedef/InvalidOperationException.java | 42 + .../apache/tuscany/sca/interfacedef/Operation.java | 203 + .../interfacedef/OverloadedOperationException.java | 45 + .../sca/interfacedef/impl/DataTypeImpl.java | 219 + .../interfacedef/impl/InterfaceContractImpl.java | 128 + .../impl/InterfaceContractMapperImpl.java | 303 + .../sca/interfacedef/impl/InterfaceImpl.java | 296 + .../sca/interfacedef/impl/OperationImpl.java | 339 + .../tuscany/sca/interfacedef/util/ElementInfo.java | 114 + .../sca/interfacedef/util/FaultException.java | 82 + .../sca/interfacedef/util/JavaXMLMapper.java | 137 + .../tuscany/sca/interfacedef/util/TypeInfo.java | 100 + .../tuscany/sca/interfacedef/util/WrapperInfo.java | 190 + .../tuscany/sca/interfacedef/util/XMLType.java | 152 + ...uscany.sca.interfacedef.InterfaceContractMapper | 18 + .../impl/ContractCompatibilityTestCase.java | 380 + .../impl/InterfaceContractTestCase.java | 69 + .../sca-node/modules/monitor-logging/DISCLAIMER | 8 + .../java/sca-node/modules/monitor-logging/LICENSE | 205 + .../java/sca-node/modules/monitor-logging/NOTICE | 6 + .../java/sca-node/modules/monitor-logging/pom.xml | 68 + .../monitor/impl/DefaultLoggingMonitorImpl.java | 103 + .../sca/monitor/impl/MonitorFactoryImpl.java | 41 + .../org.apache.tuscany.sca.monitor.MonitorFactory | 18 + .../tuscany/sca/monitor/MonitorTestCase.java | 94 + .../tuscany-monitor-test-messages.properties | 24 + .../tuscany-monitor-test-messages_it.properties | 24 + .../java/sca-node/modules/monitor/DISCLAIMER | 8 + .../java/sca-node/modules/monitor/LICENSE | 205 + .../sebastien/java/sca-node/modules/monitor/NOTICE | 6 + .../java/sca-node/modules/monitor/pom.xml | 57 + .../org/apache/tuscany/sca/monitor/Monitor.java | 44 + .../apache/tuscany/sca/monitor/MonitorFactory.java | 35 + .../org/apache/tuscany/sca/monitor/Problem.java | 49 + .../monitor/impl/DefaultMonitorFactoryImpl.java | 41 + .../sca/monitor/impl/DefaultMonitorImpl.java | 102 + .../java/sca-node/modules/node-api/DISCLAIMER | 8 + .../java/sca-node/modules/node-api/LICENSE | 205 + .../java/sca-node/modules/node-api/NOTICE | 6 + .../java/sca-node/modules/node-api/pom.xml | 70 + .../org/apache/tuscany/sca/node/NodeException.java | 53 + .../apache/tuscany/sca/node/SCADomainAccess.java | 71 + .../apache/tuscany/sca/node/SCADomainFinder.java | 78 + .../java/org/apache/tuscany/sca/node/SCANode.java | 97 + .../apache/tuscany/sca/node/SCANodeFactory.java | 161 + .../tuscany/sca/node/util/SCAContributionUtil.java | 111 + .../java/sca-node/modules/node-impl/DISCLAIMER | 8 + .../java/sca-node/modules/node-impl/LICENSE | 205 + .../java/sca-node/modules/node-impl/NOTICE | 6 + .../java/sca-node/modules/node-impl/pom.xml | 158 + .../tuscany/sca/node/impl/ComponentInfoImpl.java | 51 + .../sca/node/impl/ComponentManagerServiceImpl.java | 115 + .../node/impl/SCADomainAPIServiceProxyImpl.java | 103 + .../node/impl/SCADomainEventServiceProxyImpl.java | 117 + .../tuscany/sca/node/impl/SCADomainFinderImpl.java | 70 + .../tuscany/sca/node/impl/SCADomainProxyImpl.java | 625 + .../tuscany/sca/node/impl/SCANodeFactoryImpl.java | 101 + .../apache/tuscany/sca/node/impl/SCANodeImpl.java | 936 ++ .../apache/tuscany/sca/node/impl/SCANodeUtil.java | 311 + .../tuscany/sca/node/launch/SCANodeLauncher.java | 79 + .../management/impl/SCANodeManagerServiceImpl.java | 122 + .../node-impl/src/main/resources/node.composite | 79 + .../src/main/resources/webroot/index.html | 87 + .../node-impl/src/main/resources/webroot/node.png | Bin 0 -> 296 bytes .../node-impl/src/main/resources/webroot/style.css | 176 + .../src/test/java/calculator/AddService.java | 33 + .../src/test/java/calculator/AddServiceImpl.java | 33 + .../test/java/calculator/AddServiceUpdateImpl.java | 33 + .../test/java/calculator/CalculatorService.java | 40 + .../java/calculator/CalculatorServiceImpl.java | 76 + .../src/test/java/calculator/DivideService.java | 30 + .../test/java/calculator/DivideServiceImpl.java | 32 + .../src/test/java/calculator/MultiplyService.java | 30 + .../test/java/calculator/MultiplyServiceImpl.java | 32 + .../src/test/java/calculator/SubtractService.java | 33 + .../test/java/calculator/SubtractServiceImpl.java | 33 + .../sca/node/impl/DomainDrivenTestCaseOFF.java | 124 + .../sca/node/impl/NodeDrivenTestCaseOFF.java | 162 + .../sca/node/impl/NodeMemoryTestCaseOFF.java | 81 + .../sca/node/impl/StandaloneNodeTestCaseOFF.java | 205 + .../calculatordependent/Calculator.composite | 33 + .../META-INF/sca-contribution.xml | 24 + .../calculatorprimary/Calculator.composite | 47 + .../META-INF/sca-contribution.xml | 25 + .../src/test/resources/nodeA/Calculator.composite | 44 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../META-INF/sca-deployables/Calculator.composite | 45 + .../META-INF/sca-deployables/Calculator.composite | 32 + .../META-INF/sca-deployables/Calculator.composite | 49 + .../java/sca-node/modules/node/DISCLAIMER | 8 + .../sebastien/java/sca-node/modules/node/LICENSE | 205 + .../sebastien/java/sca-node/modules/node/NOTICE | 6 + .../sebastien/java/sca-node/modules/node/pom.xml | 99 + .../node/management/SCANodeManagerInitService.java | 40 + .../sca/node/management/SCANodeManagerService.java | 90 + .../apache/tuscany/sca/node/spi/ComponentInfo.java | 57 + .../tuscany/sca/node/spi/ComponentListener.java | 47 + .../tuscany/sca/node/spi/ComponentManager.java | 85 + .../sca/node/spi/ComponentManagerService.java | 51 + .../apache/tuscany/sca/node/spi/NodeFactory.java | 46 + .../tuscany/sca/node/spi/NodeFactoryImpl.java | 56 + .../tuscany/sca/node/spi/SCADomainProxySPI.java | 48 + .../apache/tuscany/sca/node/spi/SCANodeSPI.java | 46 + .../java/sca-node/modules/node2-api/DISCLAIMER | 8 + .../java/sca-node/modules/node2-api/LICENSE | 205 + .../java/sca-node/modules/node2-api/NOTICE | 6 + .../java/sca-node/modules/node2-api/pom.xml | 60 + .../org/apache/tuscany/sca/node/SCAClient.java | 71 + .../java/org/apache/tuscany/sca/node/SCANode2.java | 42 + .../apache/tuscany/sca/node/SCANode2Factory.java | 122 + .../java/sca-node/modules/node2-impl/DISCLAIMER | 8 + .../java/sca-node/modules/node2-impl/LICENSE | 205 + .../java/sca-node/modules/node2-impl/NOTICE | 6 + .../java/sca-node/modules/node2-impl/pom.xml | 93 + .../tuscany/sca/node/impl/NodeFactoryImpl.java | 49 + .../org/apache/tuscany/sca/node/impl/NodeImpl.java | 538 + .../modules/node2-launcher-webapp/DISCLAIMER | 8 + .../sca-node/modules/node2-launcher-webapp/LICENSE | 205 + .../sca-node/modules/node2-launcher-webapp/NOTICE | 6 + .../sca-node/modules/node2-launcher-webapp/pom.xml | 62 + .../src/main/webapp/META-INF/sca-contribution.xml | 21 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/index.jsp | 27 + .../sca-node/modules/node2-launcher/DISCLAIMER | 8 + .../java/sca-node/modules/node2-launcher/LICENSE | 205 + .../java/sca-node/modules/node2-launcher/NOTICE | 6 + .../java/sca-node/modules/node2-launcher/pom.xml | 72 + .../sca/node/launcher/DomainManagerLauncher.java | 103 + .../sca/node/launcher/LauncherException.java | 55 + .../sca/node/launcher/NodeDaemonLauncher.java | 93 + .../tuscany/sca/node/launcher/NodeLauncher.java | 147 + .../sca/node/launcher/NodeLauncherUtil.java | 528 + .../apache/tuscany/sca/node/launcher/NodeMain.java | 44 + .../sca/node/launcher/NodeServletFilter.java | 128 + .../java/sca-node/modules/osgi-runtime/DISCLAIMER | 8 + .../java/sca-node/modules/osgi-runtime/LICENSE | 203 + .../java/sca-node/modules/osgi-runtime/NOTICE | 6 + .../java/sca-node/modules/osgi-runtime/pom.xml | 79 + .../tuscany/sca/osgi/runtime/EquinoxRuntime.java | 117 + .../tuscany/sca/osgi/runtime/FelixRuntime.java | 252 + .../sca/osgi/runtime/KnopflerfishRuntime.java | 167 + .../sca/osgi/runtime/OSGiBundleActivator.java | 240 + .../tuscany/sca/osgi/runtime/OSGiRuntime.java | 275 + .../osgi/runtime/OSGiRuntimeModuleActivator.java | 47 + .../org.apache.tuscany.sca.core.ModuleActivator | 36 + .../sca/osgi/runtime/OSGiRuntimeTestCase.java | 78 + .../sca-node/modules/policy-logging/DISCLAIMER | 8 + .../java/sca-node/modules/policy-logging/LICENSE | 205 + .../java/sca-node/modules/policy-logging/NOTICE | 6 + .../java/sca-node/modules/policy-logging/pom.xml | 77 + .../logging/LoggingPolicyDefinitionsProvider.java | 67 + .../JDKLoggingImplementationPolicyProvider.java | 90 + .../sca/policy/logging/jdk/JDKLoggingPolicy.java | 84 + .../logging/jdk/JDKLoggingPolicyInterceptor.java | 130 + .../logging/jdk/JDKLoggingPolicyProcessor.java | 137 + .../jdk/JDKLoggingPolicyProviderFactory.java | 75 + .../jdk/JDKLoggingReferencePolicyProvider.java | 89 + .../jdk/JDKLoggingServicePolicyProvider.java | 87 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 + ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 + .../tuscany/sca/policy/logging/definitions.xml | 32 + .../sca/policy/logging/jdk/PolicyReadTestCase.java | 91 + .../sca/policy/logging/jdk/mock_policies.xml | 23 + .../modules/policy-security-jsr250/DISCLAIMER | 8 + .../modules/policy-security-jsr250/LICENSE | 205 + .../sca-node/modules/policy-security-jsr250/NOTICE | 6 + .../modules/policy-security-jsr250/pom.xml | 83 + .../implementation/java/impl/JSR250Activator.java | 51 + .../introspect/impl/JSR250PolicyProcessor.java | 178 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + .../impl/PolicyProcessorTestCaseFIXME.java | 418 + .../sca-node/modules/policy-security-ws/DISCLAIMER | 8 + .../sca-node/modules/policy-security-ws/LICENSE | 205 + .../sca-node/modules/policy-security-ws/NOTICE | 6 + .../sca-node/modules/policy-security-ws/pom.xml | 133 + .../policy/security/ws/Axis2ConfigParamPolicy.java | 54 + .../security/ws/Axis2ConfigParamPolicyHandler.java | 79 + .../ws/Axis2ConfigParamPolicyProcessor.java | 157 + .../ws/Axis2ConfigParamPolicyProviderFactory.java | 99 + .../security/ws/WSSecurityPolicyHandler.java | 71 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ....tuscany.sca.definitions.SCADefinitionsProvider | 19 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 25 + ...ache.tuscany.sca.provider.PolicyProviderFactory | 18 + .../sca/policy/security/ws/PolicyReadTestCase.java | 59 + .../sca/policy/security/ws/mock_policies.xml | 36 + .../sca-node/modules/policy-security/DISCLAIMER | 8 + .../java/sca-node/modules/policy-security/LICENSE | 205 + .../java/sca-node/modules/policy-security/NOTICE | 6 + .../java/sca-node/modules/policy-security/pom.xml | 70 + .../policy/authorization/AuthorizationPolicy.java | 83 + .../AuthorizationPolicyProcessor.java | 152 + .../policy/identity/SecurityIdentityPolicy.java | 75 + .../identity/SecurityIdentityPolicyProcessor.java | 133 + .../SecurityPolicyDefinitionsProvider.java | 86 + ...AuthenticationImplementationPolicyProvider.java | 90 + .../jaas/JaasAuthenticationInterceptor.java | 76 + .../security/jaas/JaasAuthenticationPolicy.java | 73 + .../jaas/JaasAuthenticationPolicyHandler.java | 72 + .../jaas/JaasAuthenticationPolicyProcessor.java | 151 + .../JaasAuthenticationPolicyProviderFactory.java | 72 + ...ca.contribution.processor.StAXArtifactProcessor | 25 + ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 + ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 + .../tuscany/sca/policy/security/definitions.xml | 55 + .../sca/policy/security/tuscany_definitions.xml | 26 + .../policy-security-validation-messages.properties | 22 + .../policy/security/PolicyProcessorTestCase.java | 88 + .../policy/security/mock_policy_definitions.xml | 78 + .../sca-node/modules/policy-transaction/DISCLAIMER | 8 + .../sca-node/modules/policy-transaction/LICENSE | 205 + .../sca-node/modules/policy-transaction/NOTICE | 6 + .../sca-node/modules/policy-transaction/pom.xml | 127 + .../transaction/IncompatibleIntentException.java | 44 + .../TransactionImplementationPolicyProvider.java | 61 + .../sca/policy/transaction/TransactionIntent.java | 28 + .../policy/transaction/TransactionInterceptor.java | 122 + .../transaction/TransactionManagerHelper.java | 243 + .../transaction/TransactionManagerWrapper.java | 90 + .../transaction/TransactionModuleActivator.java | 84 + .../sca/policy/transaction/TransactionPolicy.java | 46 + .../TransactionPolicyDefinitionsProvider.java | 71 + .../policy/transaction/TransactionPolicyImpl.java | 59 + .../transaction/TransactionPolicyProcessor.java | 96 + .../TransactionPolicyProviderFactory.java | 92 + .../TransactionReferencePolicyProvider.java | 61 + .../TransactionServicePolicyProvider.java | 61 + .../policy/transaction/TransactionalAction.java | 31 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../org.apache.tuscany.sca.core.ModuleActivator | 18 + ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 + ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 + .../src/main/resources/log4j.properties | 29 + .../tuscany/sca/policy/transaction/definitions.xml | 66 + .../sca/policy/transaction/tuscany_definitions.xml | 54 + .../sca/policy/transaction/PolicyReadTestCase.java | 54 + .../TransactionManagerHelperTestCase.java | 194 + .../java/sca-node/modules/policy-xml-ws/DISCLAIMER | 8 + .../java/sca-node/modules/policy-xml-ws/LICENSE | 205 + .../java/sca-node/modules/policy-xml-ws/NOTICE | 6 + .../java/sca-node/modules/policy-xml-ws/pom.xml | 145 + .../sca/policy/xml/ws/WSPolicyProcessor.java | 162 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../tuscany/sca/policy/xml/TestModelResolver.java | 63 + .../sca/policy/xml/TestPolicyProcessor.java | 74 + .../sca/policy/xml/WSPolicyProcessorTestCase.java | 111 + .../tuscany/sca/policy/xml/test_definitions.xml | 106 + .../java/sca-node/modules/policy-xml/DISCLAIMER | 8 + .../java/sca-node/modules/policy-xml/LICENSE | 205 + .../java/sca-node/modules/policy-xml/NOTICE | 6 + .../java/sca-node/modules/policy-xml/pom.xml | 139 + .../sca/policy/xml/BindingTypeProcessor.java | 68 + .../policy/xml/ImplementationTypeProcessor.java | 68 + .../policy/xml/IntentAttachPointTypeProcessor.java | 248 + .../tuscany/sca/policy/xml/PolicyConstants.java | 75 + .../sca/policy/xml/PolicyIntentProcessor.java | 380 + .../tuscany/sca/policy/xml/PolicySetProcessor.java | 461 + .../sca/policy/xml/ProfileIntentProcessor.java | 45 + .../sca/policy/xml/QualifiedIntentProcessor.java | 45 + .../sca/policy/xml/SimpleIntentProcessor.java | 45 + ...ca.contribution.processor.StAXArtifactProcessor | 24 + .../policy-xml-validation-messages.properties | 36 + .../sca/policy/xml/ReadDocumentTestCase.java | 235 + .../sca/policy/xml/TestPolicyProcessor.java | 74 + .../tuscany/sca/policy/xml/test_definitions.xml | 254 + .../java/sca-node/modules/policy/DISCLAIMER | 8 + .../sebastien/java/sca-node/modules/policy/LICENSE | 205 + .../sebastien/java/sca-node/modules/policy/NOTICE | 5 + .../sebastien/java/sca-node/modules/policy/pom.xml | 58 + .../DefaultIntentAttachPointTypeFactory.java | 29 + .../tuscany/sca/policy/DefaultPolicyFactory.java | 30 + .../java/org/apache/tuscany/sca/policy/Intent.java | 116 + .../tuscany/sca/policy/IntentAttachPoint.java | 52 + .../tuscany/sca/policy/IntentAttachPointType.java | 71 + .../sca/policy/IntentAttachPointTypeFactory.java | 43 + .../org/apache/tuscany/sca/policy/IntentMap.java | 89 + .../java/org/apache/tuscany/sca/policy/Policy.java | 33 + .../apache/tuscany/sca/policy/PolicyContext.java | 38 + .../apache/tuscany/sca/policy/PolicyFactory.java | 69 + .../org/apache/tuscany/sca/policy/PolicySet.java | 155 + .../tuscany/sca/policy/PolicySetAttachPoint.java | 48 + .../tuscany/sca/policy/PolicySetReference.java | 43 + .../apache/tuscany/sca/policy/ProfileIntent.java | 36 + .../apache/tuscany/sca/policy/QualifiedIntent.java | 41 + .../tuscany/sca/policy/impl/BindingTypeImpl.java | 89 + .../sca/policy/impl/ImplementationTypeImpl.java | 88 + .../impl/IntentAttachPointTypeFactoryImpl.java | 39 + .../apache/tuscany/sca/policy/impl/IntentImpl.java | 151 + .../tuscany/sca/policy/impl/IntentMapImpl.java | 73 + .../tuscany/sca/policy/impl/PolicyContextImpl.java | 93 + .../tuscany/sca/policy/impl/PolicyFactoryImpl.java | 60 + .../tuscany/sca/policy/impl/PolicySetImpl.java | 149 + .../sca/policy/impl/PolicySetReferenceImpl.java | 48 + .../tuscany/sca/policy/impl/ProfileIntentImpl.java | 39 + .../sca/policy/impl/QualifiedIntentImpl.java | 50 + .../sca/policy/util/PolicyComputationUtils.java | 429 + .../tuscany/sca/policy/util/PolicyHandler.java | 38 + .../util/PolicyHandlerDefinitionsLoader.java | 92 + .../sca/policy/util/PolicyHandlerTuple.java | 76 + .../sca/policy/util/PolicyHandlerUtils.java | 75 + .../sca/policy/util/PolicyValidationException.java | 38 + .../sca/policy/util/PolicyValidationUtils.java | 111 + ...tuscany.sca.policy.IntentAttachPointTypeFactory | 18 + .../org.apache.tuscany.sca.policy.PolicyFactory | 18 + .../tuscany/sca/policy/PolicyFactoryTestCase.java | 50 + sandbox/sebastien/java/sca-node/modules/pom.xml | 213 + .../sca-node/modules/runtime-standalone/DISCLAIMER | 8 + .../sca-node/modules/runtime-standalone/LICENSE | 205 + .../sca-node/modules/runtime-standalone/NOTICE | 6 + .../sca-node/modules/runtime-standalone/pom.xml | 77 + .../sca/runtime/standalone/StandaloneLauncher.java | 78 + .../sca/runtime/standalone/LauncherTestCase.java | 54 + .../test/resources/repo/bla/helloworld-ws-js.jar | Bin 0 -> 4723 bytes .../src/test/resources/repo/tuscany.properties | 5 + .../sca-node/modules/runtime-tomcat/DISCLAIMER | 8 + .../java/sca-node/modules/runtime-tomcat/LICENSE | 205 + .../java/sca-node/modules/runtime-tomcat/NOTICE | 6 + .../java/sca-node/modules/runtime-tomcat/pom.xml | 98 + .../tomcat/EndpointResolverFactoryImpl.java | 49 + .../sca/runtime/tomcat/EndpointResolverImpl.java | 136 + .../tuscany/sca/runtime/tomcat/TuscanyContext.java | 270 + .../sca/runtime/tomcat/TuscanyContextListener.java | 69 + .../tuscany/sca/runtime/tomcat/TuscanyHost.java | 154 + .../tuscany/sca/runtime/tomcat/TuscanyServlet.java | 65 + .../tuscany/sca/runtime/tomcat/TuscanyWrapper.java | 49 + ...ny.sca.endpointresolver.EndpointResolverFactory | 19 + .../src/test/resources/content/test.html | 21 + .../java/sca-node/modules/runtime-war/DISCLAIMER | 8 + .../java/sca-node/modules/runtime-war/LICENSE | 205 + .../java/sca-node/modules/runtime-war/NOTICE | 6 + .../java/sca-node/modules/runtime-war/pom.xml | 56 + .../java/sca-node/modules/runtime/DISCLAIMER | 8 + .../java/sca-node/modules/runtime/LICENSE | 205 + .../sebastien/java/sca-node/modules/runtime/NOTICE | 6 + .../java/sca-node/modules/runtime/pom.xml | 396 + .../org/apache/tuscany/sca/runtime/Launcher.java | 424 + .../java/sca-node/modules/sca-api/DISCLAIMER | 8 + .../java/sca-node/modules/sca-api/LICENSE | 205 + .../sebastien/java/sca-node/modules/sca-api/NOTICE | 6 + .../java/sca-node/modules/sca-api/pom.xml | 54 + .../main/java/org/osoa/sca/CallableReference.java | 65 + .../main/java/org/osoa/sca/ComponentContext.java | 109 + .../src/main/java/org/osoa/sca/Constants.java | 34 + .../src/main/java/org/osoa/sca/Conversation.java | 41 + .../org/osoa/sca/ConversationEndedException.java | 67 + .../osoa/sca/NoRegisteredCallbackException.java | 68 + .../src/main/java/org/osoa/sca/RequestContext.java | 66 + .../main/java/org/osoa/sca/ServiceReference.java | 65 + .../java/org/osoa/sca/ServiceRuntimeException.java | 69 + .../org/osoa/sca/ServiceUnavailableException.java | 65 + .../sca/annotations/AllowsPassByReference.java | 39 + .../org/osoa/sca/annotations/Authentication.java | 69 + .../java/org/osoa/sca/annotations/Callback.java | 50 + .../org/osoa/sca/annotations/ComponentName.java | 36 + .../org/osoa/sca/annotations/Confidentiality.java | 69 + .../java/org/osoa/sca/annotations/Constructor.java | 36 + .../java/org/osoa/sca/annotations/Context.java | 39 + .../sca/annotations/ConversationAttributes.java | 57 + .../org/osoa/sca/annotations/ConversationID.java | 36 + .../org/osoa/sca/annotations/Conversational.java | 38 + .../java/org/osoa/sca/annotations/Destroy.java | 36 + .../java/org/osoa/sca/annotations/EagerInit.java | 36 + .../org/osoa/sca/annotations/EndsConversation.java | 35 + .../main/java/org/osoa/sca/annotations/Init.java | 37 + .../java/org/osoa/sca/annotations/Integrity.java | 69 + .../main/java/org/osoa/sca/annotations/Intent.java | 59 + .../main/java/org/osoa/sca/annotations/OneWay.java | 36 + .../java/org/osoa/sca/annotations/PolicySets.java | 46 + .../java/org/osoa/sca/annotations/Property.java | 52 + .../java/org/osoa/sca/annotations/Qualifier.java | 36 + .../java/org/osoa/sca/annotations/Reference.java | 51 + .../java/org/osoa/sca/annotations/Remotable.java | 37 + .../java/org/osoa/sca/annotations/Requires.java | 57 + .../main/java/org/osoa/sca/annotations/Scope.java | 49 + .../java/org/osoa/sca/annotations/Service.java | 48 + .../sca-node/modules/workspace-impl/DISCLAIMER | 8 + .../java/sca-node/modules/workspace-impl/LICENSE | 205 + .../java/sca-node/modules/workspace-impl/NOTICE | 6 + .../java/sca-node/modules/workspace-impl/pom.xml | 83 + .../impl/ContributionDependencyBuilderImpl.java | 145 + .../impl/ContributionContentProcessor.java | 230 + .../processor/impl/ContributionInfoProcessor.java | 225 + .../scanner/impl/DirectoryContributionScanner.java | 107 + .../scanner/impl/JarContributionScanner.java | 121 + ...sca.contribution.processor.URLArtifactProcessor | 20 + .../workspace-validation-messages.properties | 22 + .../workspace-validation-messages_it.properties | 21 + .../ContributionDependencyBuilderTestCase.java | 100 + .../java/sca-node/modules/workspace-xml/DISCLAIMER | 8 + .../java/sca-node/modules/workspace-xml/LICENSE | 205 + .../java/sca-node/modules/workspace-xml/NOTICE | 6 + .../java/sca-node/modules/workspace-xml/pom.xml | 64 + .../workspace/xml/WorkspaceDocumentProcessor.java | 131 + .../sca/workspace/xml/WorkspaceProcessor.java | 167 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + .../workspace-xml-validation-messages.properties | 22 + .../ContributionWorkspaceProcessorTestCase.java | 89 + .../java/sca-node/modules/workspace/DISCLAIMER | 8 + .../java/sca-node/modules/workspace/LICENSE | 205 + .../java/sca-node/modules/workspace/NOTICE | 6 + .../java/sca-node/modules/workspace/pom.xml | 64 + .../sca/workspace/DefaultWorkspaceFactory.java | 32 + .../apache/tuscany/sca/workspace/Workspace.java | 39 + .../tuscany/sca/workspace/WorkspaceFactory.java | 36 + .../builder/ContributionDependencyBuilder.java | 42 + .../sca/workspace/impl/WorkspaceFactoryImpl.java | 40 + .../tuscany/sca/workspace/impl/WorkspaceImpl.java | 142 + ...g.apache.tuscany.sca.workspace.WorkspaceFactory | 18 + .../java/sca-node/modules/xsd-xml/pom.xml | 82 + .../tuscany/sca/xsd/xml/XMLDocumentHelper.java | 186 + .../tuscany/sca/xsd/xml/XSDDocumentProcessor.java | 99 + .../tuscany/sca/xsd/xml/XSDModelResolver.java | 247 + ...sca.contribution.processor.URLArtifactProcessor | 19 + ...tuscany.sca.contribution.resolver.ModelResolver | 18 + .../sca/xsd/xml/XMLDocumentHelperTestCase.java | 49 + .../sca/xsd/xml/XSDDocumentProcessorTestCase.java | 90 + .../xsd-xml/src/test/resources/xsd/greeting.xsd | 29 + .../xsd-xml/src/test/resources/xsd/name.xsd | 29 + .../sebastien/java/sca-node/modules/xsd/pom.xml | 79 + .../apache/tuscany/sca/xsd/DefaultXSDFactory.java | 30 + .../org/apache/tuscany/sca/xsd/XSDFactory.java | 35 + .../org/apache/tuscany/sca/xsd/XSDefinition.java | 117 + .../tuscany/sca/xsd/impl/XSDFactoryImpl.java | 35 + .../tuscany/sca/xsd/impl/XSDefinitionImpl.java | 232 + .../services/org.apache.tuscany.sca.xsd.XSDFactory | 18 + sandbox/sebastien/java/sca-node/pom.xml | 267 + sandbox/sebastien/java/sca-node/samples/README | 306 + .../sca-node/samples/binding-echo-extension/README | 74 + .../samples/binding-echo-extension/build.xml | 51 + .../samples/binding-echo-extension/pom.xml | 78 + .../src/main/java/echo/EchoBinding.java | 29 + .../src/main/java/echo/EchoBindingFactory.java | 33 + .../java/echo/impl/EchoBindingFactoryImpl.java | 34 + .../src/main/java/echo/impl/EchoBindingImpl.java | 104 + .../main/java/echo/impl/EchoBindingProcessor.java | 128 + .../java/echo/provider/EchoBindingInvoker.java | 48 + .../echo/provider/EchoBindingPoliciedInvoker.java | 71 + .../echo/provider/EchoBindingProviderFactory.java | 58 + .../provider/EchoReferenceBindingProvider.java | 71 + .../echo/provider/EchoServiceBindingProvider.java | 78 + .../policy/EchoBindingEncryptionPolicy.java | 41 + .../EchoBindingEncryptionPolicyProcessor.java | 37 + .../echo/provider/policy/EchoBindingPolicy.java | 43 + .../policy/EchoBindingPolicyProcessor.java | 78 + .../provider/policy/EncryptionPolicyHandler.java | 48 + .../echo/provider/policy/EncryptionStrategy.java | 26 + .../java/echo/provider/policy/PolicyHandler.java | 29 + .../provider/policy/ReverseEncryptionStrategy.java | 33 + .../main/java/echo/provider/policy/WSPolicy.java | 43 + .../echo/provider/policy/WSPolicyProcessor.java | 54 + .../src/main/java/echo/server/EchoServer.java | 78 + .../main/java/echo/server/EchoServiceListener.java | 52 + .../META-INF/services/echo.EchoBindingFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 21 + ...any.sca.contribution.processor.ValidationSchema | 19 + ...che.tuscany.sca.provider.BindingProviderFactory | 19 + .../src/main/resources/sample-binding-echo.xsd | 36 + .../src/test/java/echo/Echo.java | 29 + .../src/test/java/echo/EchoComponentImpl.java | 44 + .../src/test/java/echo/EchoReferenceTestCase.java | 50 + .../src/test/java/echo/EchoServiceTestCase.java | 50 + .../src/test/resources/EchoBinding.composite | 43 + .../src/test/resources/definitions.xml | 32 + .../java/sca-node/samples/binding-echo/README | 104 + .../sca-node/samples/binding-echo/binding-echo.png | Bin 0 -> 7846 bytes .../sca-node/samples/binding-echo/binding-echo.svg | 174 + .../java/sca-node/samples/binding-echo/build.xml | 75 + .../java/sca-node/samples/binding-echo/pom.xml | 71 + .../binding-echo/src/main/java/echo/Echo.java | 29 + .../src/main/java/echo/EchoBindingClient.java | 51 + .../src/main/java/echo/EchoComponentImpl.java | 44 + .../src/main/resources/EchoBinding.composite | 40 + .../src/test/java/echo/EchoBindingTestCase.java | 57 + .../samples/binding-notification-broker/README | 110 + .../binding-notification-broker.png | Bin 0 -> 36945 bytes .../samples/binding-notification-broker/build.xml | 75 + .../samples/binding-notification-broker/pom.xml | 103 + .../java/notification/broker/TestCaseProducer.java | 24 + .../java/notification/broker/TrafficAdvisory.java | 30 + .../broker/TrafficAdvisoryConsumer.java | 41 + .../broker/TrafficAdvisoryProducer.java | 36 + .../notification/broker/TrafficAdvisoryServer.java | 72 + .../TrafficAdvisoryNotification.componentType | 34 + .../TrafficAdvisoryNotification.composite | 61 + .../src/main/resources/wsdl/TrafficAdvisory.wsdl | 50 + .../samples/binding-notification-consumer/README | 102 + .../binding-notification-consumer.png | Bin 0 -> 27279 bytes .../binding-notification-consumer/build.xml | 75 + .../samples/binding-notification-consumer/pom.xml | 115 + .../notification/consumer/TrafficAdvisory.java | 30 + .../consumer/TrafficAdvisoryConsumer.java | 41 + .../consumer/TrafficAdvisoryServer.java | 48 + .../TrafficAdvisoryNotification.componentType | 34 + .../TrafficAdvisoryNotification.composite | 53 + .../src/main/resources/wsdl/TrafficAdvisory.wsdl | 50 + .../consumer/TrafficAdvisoryTestCase.java | 61 + .../samples/binding-notification-producer/README | 131 + .../binding-notification-producer.png | Bin 0 -> 21631 bytes .../binding-notification-producer/build.xml | 75 + .../samples/binding-notification-producer/pom.xml | 126 + .../notification/producer/TestCaseProducer.java | 24 + .../notification/producer/TrafficAdvisory.java | 30 + .../producer/TrafficAdvisoryProducer.java | 36 + .../producer/TrafficAdvisoryServer.java | 57 + .../TrafficAdvisoryNotification.componentType | 34 + .../TrafficAdvisoryNotification.composite | 44 + .../src/main/resources/wsdl/TrafficAdvisory.wsdl | 50 + .../producer/TrafficAdvisoryTestCase.java | 78 + .../sca-node/samples/calculator-distributed/README | 438 + .../samples/calculator-distributed/build.xml | 111 + .../calculator-distributed.png | Bin 0 -> 76839 bytes .../calculator-distributed.svg | 383 + .../samples/calculator-distributed/cloud.composite | 26 + .../calculator-distributed/domain.composite | 26 + .../samples/calculator-distributed/pom.xml | 119 + .../src/main/java/calculator/AddService.java | 31 + .../src/main/java/calculator/AddServiceImpl.java | 31 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 74 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 31 + .../main/java/calculator/SubtractServiceImpl.java | 31 + .../src/main/java/node/LaunchCalculatorNodeA.java | 67 + .../src/main/java/node/LaunchCalculatorNodeB.java | 28 + .../src/main/java/node/LaunchCalculatorNodeC.java | 28 + .../src/main/java/node/LaunchDomain.java | 33 + .../src/main/resources/cloud/NodeA.composite | 33 + .../src/main/resources/cloud/NodeB.composite | 33 + .../src/main/resources/cloud/NodeC.composite | 33 + .../src/main/resources/nodeA/Calculator.composite | 41 + .../resources/nodeA/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeB/Calculator.composite | 29 + .../resources/nodeB/META-INF/sca-contribution.xml | 24 + .../src/main/resources/nodeC/Calculator.composite | 29 + .../resources/nodeC/META-INF/sca-contribution.xml | 24 + .../calculator/CalculatorDistributedTestCase.java | 92 + .../samples/calculator-distributed/workspace.xml | 25 + .../calculator-implementation-policies/README | 266 + .../calculator-implementation-policies/build.xml | 72 + .../calculator.png | Bin 0 -> 20552 bytes .../calculator.svg | 329 + .../calculator-implementation-policies/pom.xml | 78 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/AddServiceImpl.java | 35 + .../src/main/java/calculator/CalculatorClient.java | 66 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 70 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 35 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 35 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 35 + .../security/CalculatorCallbackHandler.java | 50 + .../java/calculator/security/JaasLoginModule.java | 178 + .../java/calculator/security/UserPrincipal.java | 66 + .../src/main/resources/Calculator.composite | 61 + .../src/main/resources/CalculatorJass.config | 3 + .../resources/CalculatorLogMessages.properties | 18 + .../src/main/resources/definitions.xml | 40 + .../test/java/calculator/CalculatorTestCase.java | 74 + .../samples/calculator-rmi-reference/README | 138 + .../samples/calculator-rmi-reference/build.xml | 73 + .../calculator-rmi-reference.png | Bin 0 -> 23615 bytes .../calculator-rmi-reference.svg | 412 + .../samples/calculator-rmi-reference/pom.xml | 68 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/CalculatorClient.java | 44 + .../main/java/calculator/CalculatorService.java | 39 + .../java/calculator/CalculatorServiceImpl.java | 68 + .../src/main/java/calculator/DivideService.java | 28 + .../src/main/java/calculator/MultiplyService.java | 28 + .../src/main/java/calculator/SubtractService.java | 28 + .../resources/CalculatorRMIReference.composite | 42 + .../calculator/CalculatorRMIReferenceTestCase.java | 60 + .../java/calculator/CalculatorRMIServiceImpl.java | 52 + .../sca-node/samples/calculator-rmi-service/README | 147 + .../samples/calculator-rmi-service/build.xml | 72 + .../calculator-rmi-service.png | Bin 0 -> 20814 bytes .../calculator-rmi-service.svg | 330 + .../samples/calculator-rmi-service/pom.xml | 68 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/AddServiceImpl.java | 30 + .../src/main/java/calculator/CalculatorClient.java | 40 + .../src/main/java/calculator/CalculatorServer.java | 39 + .../main/java/calculator/CalculatorService.java | 36 + .../java/calculator/CalculatorServiceImpl.java | 68 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../main/resources/CalculatorRMIServer.composite | 53 + .../calculator/CalculatorRMIServerTestCase.java | 53 + .../java/sca-node/samples/calculator-script/README | 105 + .../sca-node/samples/calculator-script/build.xml | 72 + .../calculator-script/calculator-script.png | Bin 0 -> 23064 bytes .../calculator-script/calculator-script.svg | 334 + .../sca-node/samples/calculator-script/pom.xml | 78 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/CalculatorClient.java | 43 + .../main/java/calculator/CalculatorService.java | 34 + .../java/calculator/CalculatorServiceImpl.java | 69 + .../src/main/java/calculator/DivideService.java | 28 + .../src/main/java/calculator/MultiplyService.java | 28 + .../src/main/java/calculator/SubtractService.java | 28 + .../src/main/resources/Calculator.composite | 50 + .../main/resources/calculator/AddServiceImpl.js | 22 + .../resources/calculator/DivideServiceImpl.groovy | 22 + .../resources/calculator/MultiplyServiceImpl.py | 20 + .../resources/calculator/SubtractServiceImpl.rb | 21 + .../test/java/calculator/CalculatorTestCase.java | 52 + .../java/sca-node/samples/calculator-webapp/README | 118 + .../samples/calculator-webapp/calculator-web.png | Bin 0 -> 22916 bytes .../samples/calculator-webapp/calculator-web.svg | 358 + .../sca-node/samples/calculator-webapp/pom.xml | 95 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/AddServiceImpl.java | 30 + .../src/main/java/calculator/CalculatorClient.java | 47 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 69 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../src/main/resources/Calculator.composite | 49 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../calculator-webapp/src/main/webapp/calc.jsp | 47 + .../samples/calculator-ws-secure-webapp/README | 108 + .../calculator-ws-secure-webapp/calculator-web.png | Bin 0 -> 25757 bytes .../calculator-ws-secure-webapp/calculator-web.svg | 455 + .../samples/calculator-ws-secure-webapp/pom.xml | 102 + .../src/main/java/calculator/AddService.java | 31 + .../src/main/java/calculator/AddServiceImpl.java | 35 + .../src/main/java/calculator/CalculatorClient.java | 47 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 69 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 31 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../calculator/security/ClientPWCBHandler.java | 58 + .../calculator/security/ServerPWCBHandler.java | 59 + .../src/main/resources/Calculator.composite | 67 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 21 + .../src/main/resources/calculatorKeys.jks | Bin 0 -> 2706 bytes .../src/main/resources/definitions.xml | 198 + .../src/main/resources/security.properties | 4 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../src/main/webapp/WEB-INF/geronimo-web.xml | 33 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/calc.jsp | 50 + .../sca-node/samples/calculator-ws-webapp/README | 108 + .../calculator-ws-webapp/calculator-web.png | Bin 0 -> 25757 bytes .../calculator-ws-webapp/calculator-web.svg | 455 + .../sca-node/samples/calculator-ws-webapp/pom.xml | 102 + .../src/main/java/calculator/AddService.java | 31 + .../src/main/java/calculator/AddServiceImpl.java | 34 + .../src/main/java/calculator/CalculatorClient.java | 47 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 69 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 30 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 30 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 30 + .../src/main/resources/Calculator.composite | 56 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../src/main/webapp/WEB-INF/geronimo-web.xml | 34 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../calculator-ws-webapp/src/main/webapp/calc.jsp | 50 + .../java/sca-node/samples/calculator/README | 97 + .../java/sca-node/samples/calculator/build.xml | 72 + .../sca-node/samples/calculator/calculator.png | Bin 0 -> 20552 bytes .../sca-node/samples/calculator/calculator.svg | 329 + .../java/sca-node/samples/calculator/pom.xml | 64 + .../src/main/java/calculator/AddService.java | 28 + .../src/main/java/calculator/AddServiceImpl.java | 35 + .../src/main/java/calculator/CalculatorClient.java | 45 + .../main/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 70 + .../src/main/java/calculator/DivideService.java | 28 + .../main/java/calculator/DivideServiceImpl.java | 35 + .../src/main/java/calculator/MultiplyService.java | 28 + .../main/java/calculator/MultiplyServiceImpl.java | 35 + .../src/main/java/calculator/SubtractService.java | 28 + .../main/java/calculator/SubtractServiceImpl.java | 35 + .../src/main/resources/Calculator.composite | 49 + .../test/java/calculator/CalculatorTestCase.java | 51 + .../sca-node/samples/callback-ws-client/README | 311 + .../sca-node/samples/callback-ws-client/build.xml | 73 + .../callback-ws-client/callback-ws-client.png | Bin 0 -> 8812 bytes .../callback-ws-client/callback-ws-client.svg | 204 + .../sca-node/samples/callback-ws-client/pom.xml | 86 + .../src/main/java/myapp/MyClient.java | 29 + .../src/main/java/myapp/MyClientImpl.java | 62 + .../src/main/java/myserver/MyService.java | 34 + .../src/main/java/myserver/MyServiceCallback.java | 30 + .../main/resources/META-INF/sca-contribution.xml | 22 + .../src/main/resources/myapp.composite | 36 + .../test/java/myapp/CallbackClientTestCase.java | 54 + .../sca-node/samples/callback-ws-service/README | 227 + .../sca-node/samples/callback-ws-service/build.xml | 73 + .../callback-ws-service/callback-ws-service.png | Bin 0 -> 8949 bytes .../callback-ws-service/callback-ws-service.svg | 200 + .../sca-node/samples/callback-ws-service/pom.xml | 79 + .../src/main/java/myserver/CallbackServer.java | 49 + .../src/main/java/myserver/MyService.java | 34 + .../src/main/java/myserver/MyServiceCallback.java | 30 + .../src/main/java/myserver/MyServiceImpl.java | 56 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../src/main/resources/callbackws.composite | 35 + .../test/java/myserver/CallbackServerTestCase.java | 53 + .../java/sca-node/samples/chat-webapp/README | 61 + .../sca-node/samples/chat-webapp/chat-webapp.png | Bin 0 -> 6552 bytes .../sca-node/samples/chat-webapp/chat-webapp.svg | 187 + .../java/sca-node/samples/chat-webapp/pom.xml | 97 + .../src/main/java/sample/ChatService.java | 26 + .../src/main/java/sample/ChatServiceImpl.java | 36 + .../chat-webapp/src/main/resources/chat.composite | 40 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../chat-webapp/src/main/webapp/WEB-INF/web.xml | 37 + .../samples/chat-webapp/src/main/webapp/chat.html | 70 + .../java/sca-node/samples/chat2-webapp/README | 61 + .../java/sca-node/samples/chat2-webapp/build.xml | 117 + .../java/sca-node/samples/chat2-webapp/pom.xml | 104 + .../src/main/java/sample/ChatCallback.java | 27 + .../src/main/java/sample/ChatService.java | 32 + .../src/main/java/sample/ChatServiceImpl.java | 36 + .../chat2-webapp/src/main/resources/chat.composite | 40 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../chat2-webapp/src/main/webapp/WEB-INF/web.xml | 37 + .../samples/chat2-webapp/src/main/webapp/chat.html | 73 + .../java/sca-node/samples/databinding-echo/README | 143 + .../sca-node/samples/databinding-echo/build.xml | 75 + .../samples/databinding-echo/databinding-echo.png | Bin 0 -> 23907 bytes .../samples/databinding-echo/databinding-echo.svg | 408 + .../java/sca-node/samples/databinding-echo/pom.xml | 82 + .../src/main/java/dbecho/ComponentAImpl.java | 74 + .../src/main/java/dbecho/ComponentBImpl.java | 59 + .../src/main/java/dbecho/Echo.java | 32 + .../main/java/dbecho/EchoDataBindingClient.java | 45 + .../src/main/java/dbecho/Interface1.java | 32 + .../src/main/java/dbecho/Interface2.java | 36 + .../src/main/resources/EchoDataBinding.composite | 58 + .../src/main/resources/wsdl/echo.wsdl | 63 + .../test/java/dbecho/EchoDataBindingTestCase.java | 49 + .../java/sca-node/samples/domain-management/README | 8 + .../sca-node/samples/domain-management/pom.xml | 247 + .../java/manager/DistributeAndRunComponents.java | 321 + .../main/java/manager/DistributeComponents.java | 281 + .../src/main/java/manager/ListComponents.java | 158 + .../src/main/java/manager/ListDependencies.java | 108 + .../src/main/java/manager/ListDeployables.java | 73 + .../src/main/java/manager/WireComponents.java | 212 + .../src/test/java/services/Cart.java | 28 + .../src/test/java/services/Item.java | 66 + .../test/java/services/ShoppingCartClientImpl.java | 57 + .../src/test/java/services/ShoppingCartImpl.java | 100 + .../src/test/resources/assembly/assets.xml | 38 + .../src/test/resources/assembly/client.xml | 34 + .../src/test/resources/assembly/store.xml | 34 + .../resources/assets/META-INF/sca-contribution.xml | 22 + .../resources/client/META-INF/sca-contribution.xml | 24 + .../src/test/resources/client/client.composite | 35 + .../resources/store/META-INF/sca-contribution.xml | 24 + .../src/test/resources/store/store.composite | 32 + .../java/sca-node/samples/domain-webapp/README | 310 + .../java/sca-node/samples/domain-webapp/build.xml | 296 + .../java/sca-node/samples/domain-webapp/pom.xml | 101 + .../src/main/java/node/DomainServer.java | 54 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../src/main/resources/domain.composite | 54 + .../src/main/resources/webroot/index.html | 354 + .../src/main/resources/webroot/node.png | Bin 0 -> 689 bytes .../src/main/resources/webroot/style.css | 176 + .../sca-node/samples/feed-aggregator-webapp/README | 55 + .../feed-aggregator-webapp.png | Bin 0 -> 23443 bytes .../feed-aggregator-webapp.svg | 382 + .../samples/feed-aggregator-webapp/pom.xml | 108 + .../src/main/java/feed/AggregatorImpl.java | 178 + .../src/main/java/feed/Sort.java | 38 + .../src/main/java/feed/SortImpl.java | 57 + .../src/main/resources/FeedAggregator.composite | 60 + .../src/main/webapp/META-INF/sca-contribution.xml | 26 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/index.html | 32 + .../java/sca-node/samples/feed-aggregator/README | 97 + .../sca-node/samples/feed-aggregator/build.xml | 72 + .../samples/feed-aggregator/feed-aggregator.png | Bin 0 -> 17429 bytes .../samples/feed-aggregator/feed-aggregator.svg | 364 + .../java/sca-node/samples/feed-aggregator/pom.xml | 84 + .../src/main/java/feed/AggregatorImpl.java | 176 + .../src/main/java/feed/SampleServer.java | 52 + .../feed-aggregator/src/main/java/feed/Sort.java | 38 + .../src/main/java/feed/SortImpl.java | 57 + .../src/main/resources/FeedAggregator.composite | 60 + .../sca-node/samples/helloworld-bpel-ws/README | 151 + .../sca-node/samples/helloworld-bpel-ws/build.xml | 95 + .../samples/helloworld-bpel-ws/helloworld-bpel.png | Bin 0 -> 8897 bytes .../samples/helloworld-bpel-ws/helloworld-bpel.svg | 179 + .../sca-node/samples/helloworld-bpel-ws/pom.xml | 205 + .../src/main/java/helloworld/BPELClient.java | 43 + .../src/main/resources/deploy.xml | 31 + .../src/main/resources/helloworld.bpel | 66 + .../src/main/resources/helloworld.componentType | 30 + .../src/main/resources/helloworld.composite | 33 + .../src/main/resources/helloworld.wsdl | 82 + .../src/main/resources/log4j.properties | 35 + .../java/helloworld/BPELHelloWorldTestCase.java | 59 + .../java/sca-node/samples/helloworld-bpel/README | 151 + .../sca-node/samples/helloworld-bpel/build.xml | 95 + .../samples/helloworld-bpel/helloworld-bpel.png | Bin 0 -> 8897 bytes .../samples/helloworld-bpel/helloworld-bpel.svg | 179 + .../java/sca-node/samples/helloworld-bpel/pom.xml | 198 + .../src/main/java/helloworld/BPELClient.java | 43 + .../helloworld-bpel/src/main/resources/deploy.xml | 31 + .../src/main/resources/helloworld.bpel | 66 + .../src/main/resources/helloworld.componentType | 30 + .../src/main/resources/helloworld.composite | 29 + .../src/main/resources/helloworld.wsdl | 82 + .../src/main/resources/log4j.properties | 35 + .../java/helloworld/BPELHelloWorldTestCase.java | 59 + .../sca-node/samples/helloworld-dojo-webapp/README | 104 + .../samples/helloworld-dojo-webapp/build-dojo.xml | 92 + .../samples/helloworld-dojo-webapp/build.xml | 70 + .../helloworld-dojo-webapp/helloworld-jsonrpc.png | Bin 0 -> 9947 bytes .../helloworld-dojo-webapp/helloworld-jsonrpc.svg | 177 + .../samples/helloworld-dojo-webapp/pom.xml | 163 + .../java/helloworldjsonrpc/HelloWorldService.java | 28 + .../helloworldjsonrpc/HelloWorldServiceImpl.java | 38 + .../src/main/resources/jsonrpc.composite | 37 + .../src/main/webapp/HelloWorldJSONRPC.html | 98 + .../src/main/webapp/META-INF/sca-contribution.xml | 26 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/style.css | 22 + .../sca-node/samples/helloworld-jms-webapp/README | 130 + .../sca-node/samples/helloworld-jms-webapp/pom.xml | 69 + .../src/main/java/helloworld/HelloWorldClient.java | 37 + .../main/java/helloworld/HelloWorldService.java | 29 + .../java/helloworld/HelloWorldServiceImpl.java | 34 + .../src/main/webapp/META-INF/context.xml | 29 + .../META-INF/sca-deployables/HelloWorld.composite | 39 + .../src/main/webapp/WEB-INF/web.xml | 66 + .../src/main/webapp/hello.jsp | 44 + .../samples/helloworld-jsonrpc-webapp/README | 90 + .../helloworld-jsonrpc.png | Bin 0 -> 9947 bytes .../helloworld-jsonrpc.svg | 177 + .../samples/helloworld-jsonrpc-webapp/pom.xml | 103 + .../java/helloworldjsonrpc/HelloWorldService.java | 28 + .../helloworldjsonrpc/HelloWorldServiceImpl.java | 36 + .../src/main/resources/jsonrpc.composite | 37 + .../src/main/webapp/HelloWorldJSONRPC.html | 75 + .../src/main/webapp/META-INF/sca-contribution.xml | 26 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../src/main/webapp/style.css | 22 + .../samples/helloworld-reference-jms/README | 127 + .../samples/helloworld-reference-jms/build.xml | 72 + .../helloworld-ws-reference.png | Bin 0 -> 7549 bytes .../helloworld-ws-reference.svg | 150 + .../samples/helloworld-reference-jms/pom.xml | 92 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldJmsClient.java | 41 + .../main/java/helloworld/HelloWorldService.java | 29 + .../helloworld/HelloWorldServiceComponent.java | 42 + .../resources/helloworldjmsreference.composite | 40 + .../main/resources/helloworldjmsservice.composite | 39 + .../src/main/resources/logging.properties | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 92 + .../helloworld/HelloWorldJmsClientTestCase.java | 80 + .../sca-node/samples/helloworld-service-jms/README | 119 + .../samples/helloworld-service-jms/build.xml | 72 + .../helloworld-ws-service.png | Bin 0 -> 6531 bytes .../helloworld-ws-service.svg | 150 + .../samples/helloworld-service-jms/pom.xml | 93 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 47 + .../main/java/helloworld/HelloWorldService.java | 31 + .../src/main/resources/definitions.xml | 66 + .../main/resources/helloworldjmsservice.composite | 40 + .../src/main/resources/wsdl/helloworld.wsdl | 92 + .../helloworld/HelloWorldJmsServerTestCaseOff.java | 60 + .../samples/helloworld-ws-deep-webapp/README | 1 + .../samples/helloworld-ws-deep-webapp/build.xml | 158 + .../samples/helloworld-ws-deep-webapp/pom.xml | 45 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldService.java | 30 + .../sca-deployables/helloworldws.composite | 32 + .../src/main/resources/wsdl/helloworld.wsdl | 79 + .../src/main/webapp/WEB-INF/web.xml | 27 + .../samples/helloworld-ws-reference-jms/README | 127 + .../samples/helloworld-ws-reference-jms/build.xml | 72 + .../helloworld-ws-reference.png | Bin 0 -> 7549 bytes .../helloworld-ws-reference.svg | 150 + .../samples/helloworld-ws-reference-jms/pom.xml | 92 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldJmsClient.java | 38 + .../main/java/helloworld/HelloWorldService.java | 29 + .../helloworld/HelloWorldServiceComponent.java | 42 + .../src/main/resources/helloworldwsjms.composite | 34 + .../main/resources/helloworldwsjmsclient.composite | 45 + .../src/main/resources/logging.properties | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 92 + .../helloworld/HelloWorldJmsClientTestCase.java | 84 + .../samples/helloworld-ws-reference-secure/README | 176 + .../helloworld-ws-reference-secure/build.xml | 72 + .../helloworld-ws-reference-secure.png | Bin 0 -> 7549 bytes .../helloworld-ws-reference-secure.svg | 150 + .../samples/helloworld-ws-reference-secure/pom.xml | 85 + .../main/java/helloworld/ClientPWCBHandler.java | 45 + .../src/main/java/helloworld/HelloWorldClient.java | 42 + .../main/java/helloworld/HelloWorldService.java | 29 + .../helloworld/HelloWorldServiceComponent.java | 42 + ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 21 + .../src/main/resources/definitions.xml | 203 + .../src/main/resources/helloworldKeys.jks | Bin 0 -> 1366 bytes .../main/resources/helloworldwsclient.composite | 58 + .../src/main/resources/logging.properties | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 85 + .../java/helloworld/HelloWorldClientTestCase.java | 74 + .../test/java/helloworld/HelloWorldTestServer.java | 55 + .../samples/helloworld-ws-reference/README | 178 + .../samples/helloworld-ws-reference/build.xml | 72 + .../helloworld-ws-reference.png | Bin 0 -> 7549 bytes .../helloworld-ws-reference.svg | 150 + .../samples/helloworld-ws-reference/pom.xml | 79 + .../src/main/java/helloworld/HelloWorldClient.java | 38 + .../main/java/helloworld/HelloWorldService.java | 29 + .../helloworld/HelloWorldServiceComponent.java | 42 + .../main/resources/helloworldwsclient.composite | 45 + .../src/main/resources/logging.properties | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 92 + .../java/helloworld/HelloWorldClientTestCase.java | 74 + .../test/java/helloworld/HelloWorldTestServer.java | 55 + .../samples/helloworld-ws-sdo-webapp/README | 92 + .../samples/helloworld-ws-sdo-webapp/build.xml | 99 + .../helloworld-ws-sdo-webapp.png | Bin 0 -> 12242 bytes .../helloworld-ws-sdo-webapp.svg | 221 + .../samples/helloworld-ws-sdo-webapp/pom.xml | 200 + .../src/main/java/helloworld/HelloWorld.java | 44 + .../main/java/helloworld/HelloWorldComponent.java | 40 + .../src/main/java/helloworld/HelloWorldImpl.java | 48 + .../src/main/resources/helloworldws.composite | 43 + .../src/main/resources/wsdl/helloworld.wsdl | 111 + .../src/main/resources/wsdl/helloworld.xsd | 30 + .../src/main/webapp/HelloWorld.jsp | 48 + .../src/main/webapp/META-INF/sca-contribution.xml | 24 + .../src/main/webapp/WEB-INF/geronimo-web.xml | 41 + .../src/main/webapp/WEB-INF/web.xml | 46 + .../java/sca-node/samples/helloworld-ws-sdo/README | 214 + .../sca-node/samples/helloworld-ws-sdo/build.xml | 101 + .../helloworld-ws-sdo/helloworld-ws-sdo.png | Bin 0 -> 7549 bytes .../helloworld-ws-sdo/helloworld-ws-sdo.svg | 150 + .../sca-node/samples/helloworld-ws-sdo/pom.xml | 139 + .../src/main/java/helloworld/HelloWorldClient.java | 44 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 46 + .../main/java/helloworld/HelloWorldService.java | 29 + .../helloworld/HelloWorldServiceComponent.java | 42 + .../src/main/resources/helloworldws.composite | 32 + .../main/resources/helloworldwsclient.composite | 33 + .../src/main/resources/logging.properties | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 88 + .../java/helloworld/HelloWorldClientTestCase.java | 69 + .../test/java/helloworld/HelloWorldTestServer.java | 55 + .../samples/helloworld-ws-service-jms/README | 119 + .../samples/helloworld-ws-service-jms/build.xml | 72 + .../helloworld-ws-service.png | Bin 0 -> 6531 bytes .../helloworld-ws-service.svg | 150 + .../samples/helloworld-ws-service-jms/pom.xml | 87 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 60 + .../main/java/helloworld/HelloWorldService.java | 31 + .../src/main/resources/definitions.xml | 66 + .../src/main/resources/helloworldwsjms.composite | 35 + .../main/resources/helloworldwsjmspolicy.composite | 34 + .../src/main/resources/wsdl/helloworld.wsdl | 92 + .../HelloWorldJmsPolicyServerTestCase.java | 68 + .../helloworld/HelloWorldJmsServerTestCase.java | 72 + .../samples/helloworld-ws-service-secure/README | 152 + .../samples/helloworld-ws-service-secure/build.xml | 72 + .../helloworld-ws-service-secure.png | Bin 0 -> 158 bytes .../helloworld-ws-service-secure.svg | 149 + .../samples/helloworld-ws-service-secure/pom.xml | 85 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 46 + .../main/java/helloworld/HelloWorldService.java | 31 + .../main/java/helloworld/ServerPWCBHandler.java | 55 + .../src/main/resources/definitions.xml | 113 + .../src/main/resources/helloworldKeys.jks | Bin 0 -> 1366 bytes .../src/main/resources/helloworldws.composite | 41 + .../src/main/resources/wsdl/helloworld.wsdl | 79 + .../java/helloworld/HelloWorldServerTestCase.java | 62 + .../samples/helloworld-ws-service-webapp/README | 1 + .../samples/helloworld-ws-service-webapp/build.xml | 156 + .../samples/helloworld-ws-service-webapp/pom.xml | 80 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../main/java/helloworld/HelloWorldService.java | 30 + .../src/main/resources/wsdl/helloworld.wsdl | 79 + .../sca-deployables/helloworldws.composite | 32 + .../src/main/webapp/WEB-INF/geronimo-web.xml | 33 + .../src/main/webapp/WEB-INF/web.xml | 45 + .../sca-node/samples/helloworld-ws-service/README | 141 + .../samples/helloworld-ws-service/build.xml | 72 + .../helloworld-ws-service.png | Bin 0 -> 6531 bytes .../helloworld-ws-service.svg | 150 + .../sca-node/samples/helloworld-ws-service/pom.xml | 79 + .../src/main/java/helloworld/HelloWorldImpl.java | 33 + .../src/main/java/helloworld/HelloWorldServer.java | 46 + .../main/java/helloworld/HelloWorldService.java | 31 + .../sca-deployables/helloworldws.composite | 33 + .../src/main/resources/wsdl/helloworld.wsdl | 79 + .../java/helloworld/HelloWorldServerTestCase.java | 62 + .../samples/implementation-composite/README | 116 + .../samples/implementation-composite/build.xml | 72 + .../implementation-composite.png | Bin 0 -> 47415 bytes .../implementation-composite.svg | 658 + .../samples/implementation-composite/pom.xml | 72 + .../src/main/java/composite/CompositeClient.java | 41 + .../src/main/java/composite/Source.java | 24 + .../src/main/java/composite/SourceCallback.java | 24 + .../src/main/java/composite/SourceImpl.java | 55 + .../src/main/java/composite/Target.java | 30 + .../src/main/java/composite/TargetImpl.java | 41 + .../src/main/resources/InnerComposite.composite | 41 + .../src/main/resources/InnerComposite2.composite | 33 + .../main/resources/META-INF/sca-contribution.xml | 25 + .../src/main/resources/OuterComposite.composite | 39 + .../src/test/java/composite/CompositeTestCase.java | 51 + .../samples/implementation-crud-extension/README | 83 + .../implementation-crud-extension/build.xml | 51 + .../samples/implementation-crud-extension/pom.xml | 77 + .../src/main/java/crud/CRUD.java | 54 + .../src/main/java/crud/CRUDImplementation.java | 50 + .../main/java/crud/CRUDImplementationFactory.java | 37 + .../main/java/crud/backend/ResourceManager.java | 90 + .../crud/impl/CRUDImplementationFactoryImpl.java | 47 + .../java/crud/impl/CRUDImplementationImpl.java | 117 + .../crud/provider/CRUDImplementationInvoker.java | 79 + .../crud/provider/CRUDImplementationProvider.java | 75 + .../CRUDImplementationProviderFactory.java | 51 + .../services/crud.CRUDImplementationFactory | 19 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...any.sca.contribution.processor.ValidationSchema | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../main/resources/sample-implementation-crud.xsd | 38 + .../src/test/java/crud/CRUDTestCase.java | 60 + .../src/test/resources/crud.composite | 30 + .../sca-node/samples/implementation-crud/README | 113 + .../sca-node/samples/implementation-crud/build.xml | 75 + .../implementation-crud/implementation-crud.png | Bin 0 -> 4227 bytes .../implementation-crud/implementation-crud.svg | 135 + .../sca-node/samples/implementation-crud/pom.xml | 64 + .../src/main/java/crud/client/CRUDClient.java | 59 + .../src/main/resources/crud.composite | 30 + .../src/test/java/crud/client/CRUDTestCase.java | 61 + .../samples/implementation-notification/README | 93 + .../samples/implementation-notification/build.xml | 72 + .../implementation-notification.png | Bin 0 -> 21543 bytes .../samples/implementation-notification/pom.xml | 75 + .../main/java/notification/TestCaseProducer.java | 24 + .../main/java/notification/TrafficAdvisory.java | 24 + .../java/notification/TrafficAdvisoryClient.java | 45 + .../java/notification/TrafficAdvisoryConsumer.java | 39 + .../java/notification/TrafficAdvisoryProducer.java | 36 + .../TrafficAdvisoryNotification.componentType | 30 + .../TrafficAdvisoryNotification.composite | 50 + .../java/notification/TrafficAdvisoryTestCase.java | 60 + .../TrafficAdvisoryNotification.componentType | 30 + .../TrafficAdvisoryNotification.composite | 50 + .../samples/implementation-pojo-extension/README | 70 + .../implementation-pojo-extension/build.xml | 51 + .../samples/implementation-pojo-extension/pom.xml | 77 + .../src/main/java/pojo/POJOImplementation.java | 65 + .../main/java/pojo/POJOImplementationFactory.java | 36 + .../pojo/impl/POJOImplementationFactoryImpl.java | 36 + .../java/pojo/impl/POJOImplementationImpl.java | 155 + .../pojo/impl/POJOImplementationProcessor.java | 174 + .../pojo/provider/POJOImplementationInvoker.java | 68 + .../pojo/provider/POJOImplementationProvider.java | 106 + .../POJOImplementationProviderFactory.java | 45 + ...ca.contribution.processor.StAXArtifactProcessor | 19 + ...any.sca.contribution.processor.ValidationSchema | 19 + ...cany.sca.provider.ImplementationProviderFactory | 19 + .../services/pojo.POJOImplementationFactory | 19 + .../main/resources/sample-implementation-pojo.xsd | 38 + .../src/test/java/helloworld/HelloWorld.java | 26 + .../src/test/java/helloworld/HelloWorldImpl.java | 37 + .../src/test/java/helloworld/HelloWorldImpl2.java | 37 + .../test/java/helloworld/HelloWorldTestCase.java | 51 + .../helloworld/HelloWorldImpl2.componentType | 26 + .../test/resources/helloworld/helloworld.composite | 33 + .../java/sca-node/samples/loanapplication/pom.xml | 65 + .../main/java/loanapplication/LoanApplication.java | 36 + .../loanapplication/LoanApplicationClient.java | 37 + .../src/main/java/loanapplication/LoanClient.java | 29 + .../main/java/loanapplication/LoanClientImpl.java | 64 + .../src/main/java/loanapplication/LoanService.java | 43 + .../main/java/loanapplication/LoanServiceImpl.java | 63 + .../src/main/resources/loanapplication.composite | 34 + .../loanapplication/LoanApplicationTestCase.java | 83 + .../java/sca-node/samples/osgi-supplychain/README | 161 + .../samples/osgi-supplychain/build-bundles.xml | 32 + .../sca-node/samples/osgi-supplychain/build.xml | 128 + .../samples/osgi-supplychain/osgi-supplychain.png | Bin 0 -> 13558 bytes .../samples/osgi-supplychain/osgi-supplychain.svg | 272 + .../java/sca-node/samples/osgi-supplychain/pom.xml | 187 + .../src/main/java/supplychain/OSGiBundleImpl.java | 121 + .../main/java/supplychain/SupplyChainClient.java | 43 + .../main/java/supplychain/customer/Customer.java | 33 + .../customer/JavaCustomerComponentImpl.java | 50 + .../customer/OSGiCustomerComponentImpl.java | 51 + .../supplychain/customer/OSGiCustomerImpl.java | 47 + .../retailer/JavaRetailerComponentImpl.java | 53 + .../retailer/OSGiRetailerComponentImpl.java | 46 + .../supplychain/retailer/OSGiRetailerImpl.java | 44 + .../main/java/supplychain/retailer/Retailer.java | 28 + .../shipper/JavaShipperComponentImpl.java | 47 + .../shipper/OSGiShipperComponentImpl.java | 45 + .../java/supplychain/shipper/OSGiShipperImpl.java | 42 + .../src/main/java/supplychain/shipper/Shipper.java | 28 + .../warehouse/JavaWarehouseComponentImpl.java | 47 + .../warehouse/OSGiWarehouseComponentImpl.java | 47 + .../supplychain/warehouse/OSGiWarehouseImpl.java | 44 + .../main/java/supplychain/warehouse/Warehouse.java | 28 + .../src/main/resources/Customer.componentType | 28 + .../src/main/resources/DSCustomer.componentType | 28 + .../src/main/resources/DSRetailer.componentType | 28 + .../src/main/resources/DSShipper.componentType | 28 + .../src/main/resources/DSWarehouse.componentType | 28 + .../src/main/resources/Retailer.componentType | 28 + .../src/main/resources/Shipper.componentType | 28 + .../src/main/resources/Warehouse.componentType | 28 + .../src/main/resources/osgi/Customer.mf | 11 + .../src/main/resources/osgi/Retailer.mf | 10 + .../src/main/resources/osgi/Shipper.mf | 10 + .../src/main/resources/osgi/Warehouse.mf | 10 + .../src/main/resources/osgi/ds/Customer.mf | 10 + .../src/main/resources/osgi/ds/Customer.xml | 32 + .../src/main/resources/osgi/ds/Retailer.mf | 11 + .../src/main/resources/osgi/ds/Retailer.xml | 32 + .../src/main/resources/osgi/ds/Shipper.mf | 10 + .../src/main/resources/osgi/ds/Shipper.xml | 33 + .../src/main/resources/osgi/ds/Warehouse.mf | 11 + .../src/main/resources/osgi/ds/Warehouse.xml | 32 + .../src/main/resources/supplychain.composite | 61 + .../src/main/resources/supplychain.ds.composite | 61 + .../supplychain/SupplyChainClientTestCase.java | 60 + sandbox/sebastien/java/sca-node/samples/pom.xml | 101 + .../java/sca-node/samples/quote-xquery/README | 450 + .../java/sca-node/samples/quote-xquery/build.xml | 120 + .../java/sca-node/samples/quote-xquery/pom.xml | 178 + .../java/xquery/quote/AvailQuoteProviderImpl.java | 30 + .../xquery/quote/AvailQuoteProviderNodeInfo.java | 28 + .../xquery/quote/AvailQuoteProviderService.java | 27 + .../xquery/quote/ExternalReferencesQuoteJoin.java | 27 + .../main/java/xquery/quote/PriceQuoteProvider.java | 28 + .../java/xquery/quote/PriceQuoteProviderImpl.java | 27 + .../xquery/quote/PriceQuoteProviderNodeInfo.java | 28 + .../java/xquery/quote/PropertiesQuoteJoin.java | 32 + .../main/java/xquery/quote/QuoteCalculator.java | 26 + .../java/xquery/quote/QuoteCalculatorImpl.java | 38 + .../src/main/java/xquery/quote/QuoteDataUtil.java | 107 + .../src/main/java/xquery/quote/QuoteJoin.java | 34 + .../src/main/java/xquery/quote/QuoteJoinLocal.java | 34 + .../main/java/xquery/quote/QuoteJoinLocalImpl.java | 67 + .../main/java/xquery/quote/XQueryQuoteClient.java | 145 + .../main/java/xquery/quote/XQueryQuoteServer.java | 39 + .../src/main/resources/META-INF/sca/quote_join.xq | 61 + .../META-INF/sca/quote_join_external_references.xq | 69 + .../META-INF/sca/quote_join_properties.xq | 74 + .../src/main/resources/wsdl/AvailQuote.xsd | 39 + .../src/main/resources/wsdl/PriceQuote.xsd | 49 + .../quote-xquery/src/main/resources/wsdl/Quote.xsd | 40 + .../src/main/resources/wsdl/quotejoin.wsdl | 137 + .../src/main/resources/xqueryquotews.composite | 55 + .../main/resources/xqueryquotewsclient.composite | 111 + .../xquery/quote/XQueryQuoteClientTestCase.java | 192 + .../java/xquery/quote/XQueryQuoteTestServer.java | 50 + .../sca-node/samples/simple-bigbank-spring/README | 99 + .../samples/simple-bigbank-spring/build.xml | 72 + .../sca-node/samples/simple-bigbank-spring/pom.xml | 72 + .../simple-bigbank-spring.png | Bin 0 -> 10202 bytes .../simple-bigbank-spring.svg | 200 + .../main/java/bigbank/account/AccountReport.java | 43 + .../main/java/bigbank/account/AccountService.java | 26 + .../java/bigbank/account/AccountServiceImpl.java | 85 + .../src/main/java/bigbank/accountdata/Account.java | 26 + .../bigbank/accountdata/AccountDataService.java | 28 + .../accountdata/AccountDataServiceImpl.java | 54 + .../java/bigbank/accountdata/CheckingAccount.java | 35 + .../java/bigbank/accountdata/SavingsAccount.java | 35 + .../java/bigbank/accountdata/StockAccount.java | 43 + .../main/java/bigbank/client/BigBankClient.java | 43 + .../java/bigbank/stockquote/StockQuoteImpl.java | 36 + .../java/bigbank/stockquote/StockQuoteService.java | 31 + .../src/main/resources/Account-spring-context.xml | 42 + .../src/main/resources/BigBank.composite | 35 + .../src/main/resources/StockQuote.composite | 30 + .../src/test/java/bigbank/BigBankTestCase.java | 50 + .../java/sca-node/samples/simple-bigbank/README | 101 + .../java/sca-node/samples/simple-bigbank/build.xml | 72 + .../java/sca-node/samples/simple-bigbank/pom.xml | 65 + .../samples/simple-bigbank/simple-bigbank.png | Bin 0 -> 10202 bytes .../samples/simple-bigbank/simple-bigbank.svg | 200 + .../main/java/bigbank/account/AccountReport.java | 43 + .../main/java/bigbank/account/AccountService.java | 26 + .../java/bigbank/account/AccountServiceImpl.java | 68 + .../src/main/java/bigbank/accountdata/Account.java | 26 + .../bigbank/accountdata/AccountDataService.java | 28 + .../accountdata/AccountDataServiceImpl.java | 54 + .../java/bigbank/accountdata/CheckingAccount.java | 35 + .../java/bigbank/accountdata/SavingsAccount.java | 35 + .../java/bigbank/accountdata/StockAccount.java | 43 + .../main/java/bigbank/client/BigBankClient.java | 43 + .../java/bigbank/stockquote/StockQuoteImpl.java | 36 + .../java/bigbank/stockquote/StockQuoteService.java | 32 + .../src/main/resources/Account.composite | 38 + .../src/main/resources/BigBank.composite | 35 + .../src/main/resources/StockQuote.composite | 31 + .../src/test/java/bigbank/BigBankTestCase.java | 50 + .../sca-node/samples/simple-callback-ws/README | 144 + .../sca-node/samples/simple-callback-ws/build.xml | 72 + .../sca-node/samples/simple-callback-ws/pom.xml | 79 + .../simple-callback-ws/simple-callback-ws.png | Bin 0 -> 137 bytes .../simple-callback-ws/simple-callback-ws.svg | 150 + .../src/main/java/simplecallback/MyClient.java | 27 + .../src/main/java/simplecallback/MyClientImpl.java | 51 + .../src/main/java/simplecallback/MyService.java | 34 + .../java/simplecallback/MyServiceCallback.java | 30 + .../main/java/simplecallback/MyServiceImpl.java | 54 + .../java/simplecallback/SimpleCallbackClient.java | 38 + .../src/main/resources/simplecallback.composite | 49 + .../src/main/resources/wsdl/simplecallback.wsdl | 109 + .../simplecallback/SimpleCallbackTestCase.java | 53 + .../java/sca-node/samples/simple-callback/README | 97 + .../sca-node/samples/simple-callback/build.xml | 72 + .../java/sca-node/samples/simple-callback/pom.xml | 65 + .../samples/simple-callback/simple-callback.png | Bin 0 -> 137 bytes .../samples/simple-callback/simple-callback.svg | 150 + .../src/main/java/simplecallback/MyClient.java | 27 + .../src/main/java/simplecallback/MyClientImpl.java | 49 + .../src/main/java/simplecallback/MyService.java | 32 + .../java/simplecallback/MyServiceCallback.java | 27 + .../main/java/simplecallback/MyServiceImpl.java | 51 + .../java/simplecallback/SimpleCallbackClient.java | 38 + .../src/main/resources/simplecallback.composite | 34 + .../simplecallback/SimpleCallbackTestCase.java | 51 + .../samples/spi-implementation-pojo/pom.xml | 59 + .../src/main/java/sample/JavaImplementation.java | 35 + .../java/sample/JavaImplementationActivator.java | 37 + .../src/main/java/sample/JavaInvoker.java | 59 + .../src/main/java/sample/JavaInvokerFactory.java | 47 + ....apache.tuscany.sca.spi.ImplementationActivator | 18 + .../src/test/java/helloworld/HelloWorld.java | 26 + .../src/test/java/helloworld/HelloWorldImpl.java | 28 + .../test/java/helloworld/HelloWorldTestCase.java | 35 + .../test/resources/helloworld/helloworld.composite | 28 + .../sebastien/java/sca-node/samples/store/README | 28 + .../java/sca-node/samples/store/build.xml | 79 + .../sebastien/java/sca-node/samples/store/pom.xml | 106 + .../samples/store/src/main/java/launch/Launch.java | 34 + .../samples/store/src/main/java/services/Cart.java | 28 + .../store/src/main/java/services/Catalog.java | 27 + .../src/main/java/services/CurrencyConverter.java | 29 + .../main/java/services/CurrencyConverterImpl.java | 38 + .../src/main/java/services/FruitsCatalogImpl.java | 52 + .../samples/store/src/main/java/services/Item.java | 51 + .../src/main/java/services/ShoppingCartImpl.java | 112 + .../store/src/main/java/services/Total.java | 29 + .../store/src/main/resources/store.composite | 64 + .../store/src/main/resources/uiservices/store.html | 141 + .../java/sca-node/samples/store/store.png | Bin 0 -> 15670 bytes .../java/sca-node/samples/store/store.svg | 304 + .../java/sca-node/samples/supplychain/README | 101 + .../java/sca-node/samples/supplychain/build.xml | 72 + .../java/sca-node/samples/supplychain/pom.xml | 65 + .../src/main/java/supplychain/Customer.java | 33 + .../java/supplychain/CustomerComponentImpl.java | 44 + .../src/main/java/supplychain/Retailer.java | 28 + .../java/supplychain/RetailerComponentImpl.java | 39 + .../src/main/java/supplychain/Shipper.java | 28 + .../java/supplychain/ShipperComponentImpl.java | 39 + .../main/java/supplychain/SupplyChainClient.java | 40 + .../src/main/java/supplychain/Warehouse.java | 28 + .../java/supplychain/WarehouseComponentImpl.java | 39 + .../src/main/resources/supplychain.composite | 45 + .../supplychain/SupplyChainClientTestCase.java | 52 + .../sca-node/samples/supplychain/supplychain.png | Bin 0 -> 3898 bytes .../sca-node/samples/supplychain/supplychain.svg | 228 + .../java/sca-node/samples/web-resource/README | 76 + .../java/sca-node/samples/web-resource/build.xml | 72 + .../java/sca-node/samples/web-resource/pom.xml | 79 + .../src/main/java/web/resource/SampleServer.java | 44 + .../src/main/resources/WebResource.composite | 32 + .../src/main/resources/myContent/index.html | 49 + .../sca-node/samples/web-resource/web-resource.png | Bin 0 -> 8418 bytes .../sca-node/samples/web-resource/web-resource.svg | 197 + .../java/sca-node/samples/zipcode-jaxws/DISCLAIMER | 8 + .../java/sca-node/samples/zipcode-jaxws/LICENSE | 205 + .../java/sca-node/samples/zipcode-jaxws/NOTICE | 6 + .../java/sca-node/samples/zipcode-jaxws/README | 72 + .../java/sca-node/samples/zipcode-jaxws/build.xml | 62 + .../java/sca-node/samples/zipcode-jaxws/pom.xml | 252 + .../java/com/example/uszip/GetInfoByAreaCode.java | 81 + .../example/uszip/GetInfoByAreaCodeResponse.java | 158 + .../main/java/com/example/uszip/GetInfoByCity.java | 81 + .../com/example/uszip/GetInfoByCityResponse.java | 158 + .../java/com/example/uszip/GetInfoByState.java | 81 + .../com/example/uszip/GetInfoByStateResponse.java | 158 + .../main/java/com/example/uszip/GetInfoByZIP.java | 81 + .../com/example/uszip/GetInfoByZIPResponse.java | 158 + .../main/java/com/example/uszip/ObjectFactory.java | 145 + .../src/main/java/com/example/uszip/USZip.java | 89 + .../src/main/java/com/example/uszip/USZipSoap.java | 103 + .../main/java/com/example/uszip/package-info.java | 20 + .../com/example/weather/ArrayOfWeatherData.java | 87 + .../com/example/weather/GetWeatherByPlaceName.java | 81 + .../weather/GetWeatherByPlaceNameResponse.java | 81 + .../com/example/weather/GetWeatherByZipCode.java | 81 + .../weather/GetWeatherByZipCodeResponse.java | 81 + .../java/com/example/weather/ObjectFactory.java | 118 + .../main/java/com/example/weather/WeatherData.java | 219 + .../java/com/example/weather/WeatherForecast.java | 91 + .../com/example/weather/WeatherForecastSoap.java | 73 + .../java/com/example/weather/WeatherForecasts.java | 251 + .../java/com/example/weather/package-info.java | 20 + .../src/main/java/location/LocationClient.java | 55 + .../src/main/java/location/USLocationImpl.java | 56 + .../main/java/weather/WeatherForecastClient.java | 60 + .../src/main/java/weather/WeatherForecastImpl.java | 43 + .../src/main/java/zipcode/ZipCodeClient.java | 36 + .../src/main/java/zipcode/ZipCodeService.java | 30 + .../src/main/java/zipcode/ZipCodeServiceImpl.java | 82 + .../src/main/resources/USLocation.composite | 30 + .../src/main/resources/WeatherForecast.composite | 30 + .../src/main/resources/ZipCode.composite | 33 + .../test/java/zipcode/ZipCodeClientTestCase.java | 51 + .../tools/eclipse/features/feature/.project | 26 + .../tools/eclipse/features/feature/DISCLAIMER | 8 + .../tools/eclipse/features/feature/LICENSE | 205 + .../eclipse/features/feature/META-INF/MANIFEST.MF | 6 + .../sca-node/tools/eclipse/features/feature/NOTICE | 6 + .../eclipse/features/feature/build.properties | 12 + .../tools/eclipse/features/feature/feature.xml | 72 + .../tools/eclipse/features/feature/pom.xml | 57 + .../sca-node/tools/eclipse/plugins/core/.classpath | 56 + .../sca-node/tools/eclipse/plugins/core/.project | 13 + .../sca-node/tools/eclipse/plugins/core/DISCLAIMER | 8 + .../sca-node/tools/eclipse/plugins/core/LICENSE | 205 + .../eclipse/plugins/core/META-INF/MANIFEST.MF | 31 + .../sca-node/tools/eclipse/plugins/core/NOTICE | 12 + .../tools/eclipse/plugins/core/build.properties | 25 + .../plugins/core/exsd/runtimeLibraries.exsd | 109 + .../tools/eclipse/plugins/core/icons/t.gif | Bin 0 -> 877 bytes .../tools/eclipse/plugins/core/icons/tuscany.gif | Bin 0 -> 5603 bytes .../tuscany/sca/core/classpath/ClasspathUtil.java | 170 + .../core/classpath/TuscanyClasspathContainer.java | 154 + .../TuscanyClasspathContainerInitializer.java | 50 + .../core/classpath/TuscanyLibraryEntryPage.java | 69 + .../TuscanyRuntimeClasspathContainer.java | 89 + .../sca/core/launch/DomainManagerLauncherUtil.java | 255 + .../tuscany/sca/core/launch/NodeLauncherUtil.java | 244 + .../launch/TuscanyLaunchConfigurationDelegate.java | 75 + .../launch/TuscanyLaunchConfigurationTabGroup.java | 48 + .../launch/TuscanyLaunchDomainManagerAction.java | 61 + .../sca/core/launch/TuscanyLaunchNodeFilter.java | 29 + .../sca/core/launch/TuscanyLaunchNodeShortcut.java | 88 + .../org/apache/tuscany/sca/core/log/LogUtil.java | 39 + .../core/newwizards/NewComponentTypeWizard.java | 53 + .../newwizards/NewComponentTypeWizardPage.java | 98 + .../sca/core/newwizards/NewCompositeWizard.java | 53 + .../core/newwizards/NewCompositeWizardPage.java | 105 + .../sca-node/tools/eclipse/plugins/core/plugin.xml | 149 + .../sca-node/tools/eclipse/plugins/core/pom.xml | 82 + .../tools/eclipse/plugins/core/xsd/sca-all.xsd | 34 + .../eclipse/plugins/core/xsd/sca-binding-ejb.xsd | 43 + .../eclipse/plugins/core/xsd/sca-binding-jms.xsd | 135 + .../eclipse/plugins/core/xsd/sca-binding-sca.xsd | 23 + .../plugins/core/xsd/sca-binding-webservice.xsd | 26 + .../eclipse/plugins/core/xsd/sca-contribution.xsd | 38 + .../tools/eclipse/plugins/core/xsd/sca-core.xsd | 350 + .../eclipse/plugins/core/xsd/sca-definitions.xsd | 25 + .../plugins/core/xsd/sca-implementation-bpel.xsd | 43 + .../core/xsd/sca-implementation-composite.xsd | 23 + .../plugins/core/xsd/sca-implementation-cpp.xsd | 53 + .../plugins/core/xsd/sca-implementation-ejb.xsd | 25 + .../plugins/core/xsd/sca-implementation-java.xsd | 24 + .../plugins/core/xsd/sca-implementation-spring.xsd | 24 + .../eclipse/plugins/core/xsd/sca-interface-cpp.xsd | 40 + .../plugins/core/xsd/sca-interface-java.xsd | 23 + .../plugins/core/xsd/sca-interface-wsdl.xsd | 23 + .../tools/eclipse/plugins/core/xsd/sca-policy.xsd | 76 + .../tools/eclipse/plugins/core/xsd/sca.xsd | 22 + .../plugins/core/xsd/tuscany-sca-binding-atom.xsd | 41 + .../plugins/core/xsd/tuscany-sca-binding-dwr.xsd | 40 + .../plugins/core/xsd/tuscany-sca-binding-http.xsd | 40 + .../core/xsd/tuscany-sca-binding-jsonrpc.xsd | 40 + .../core/xsd/tuscany-sca-binding-notification.xsd | 42 + .../plugins/core/xsd/tuscany-sca-binding-rmi.xsd | 43 + .../plugins/core/xsd/tuscany-sca-binding-rss.xsd | 41 + .../core/xsd/tuscany-sca-implementation-node.xsd | 43 + .../tuscany-sca-implementation-notification.xsd | 42 + .../core/xsd/tuscany-sca-implementation-osgi.xsd | 43 + .../xsd/tuscany-sca-implementation-resource.xsd | 42 + .../core/xsd/tuscany-sca-implementation-script.xsd | 43 + .../core/xsd/tuscany-sca-implementation-widget.xsd | 42 + .../core/xsd/tuscany-sca-implementation-xquery.xsd | 42 + .../tools/eclipse/plugins/core/xsd/tuscany-sca.xsd | 45 + .../sebastien/java/sca-node/tools/eclipse/pom.xml | 47 + .../tools/eclipse/site/updatesite/.project | 20 + .../tools/eclipse/site/updatesite/DISCLAIMER | 8 + .../sca-node/tools/eclipse/site/updatesite/LICENSE | 205 + .../sca-node/tools/eclipse/site/updatesite/NOTICE | 6 + .../sca-node/tools/eclipse/site/updatesite/pom.xml | 85 + .../tools/eclipse/site/updatesite/site.xml | 36 + .../updatesite/src/main/assembly/updatesite.xml | 59 + .../java/sca-node/tools/java2wsdl/DISCLAIMER | 8 + .../java/sca-node/tools/java2wsdl/LICENSE | 205 + .../sebastien/java/sca-node/tools/java2wsdl/NOTICE | 6 + .../java/sca-node/tools/java2wsdl/pom.xml | 231 + .../java2wsdl/generate/GenerationParameters.java | 423 + .../tools/java2wsdl/generate/Java2WSDL.java | 82 + .../java2wsdl/generate/Java2WSDLGenerator.java | 46 + .../generate/Java2WSDLGeneratorFactory.java | 89 + .../java2wsdl/generate/Java2WSDLGeneratorImpl.java | 238 + .../tools/java2wsdl/generate/SchemaBuilder.java | 608 + .../java2wsdl/generate/TuscanyJava2OMBuilder.java | 429 + .../generate/TuscanyJava2WSDLBuilder.java | 81 + .../generate/TuscanyJava2WSDLConstants.java | 56 + .../generate/TuscanyJava2WSDLOptionsValidator.java | 73 + .../java2wsdl/generate/TuscanySchemaGenerator.java | 348 + .../tools/java2wsdl/generate/TuscanyTypeTable.java | 220 + .../generate/TuscanyWSDLTypesGenerator.java | 370 + .../tools/java2wsdl/generate/WSDLGenEvent.java | 42 + .../tools/java2wsdl/generate/WSDLGenListener.java | 39 + .../tuscany/tools/java2wsdl/util/XMLNameUtil.java | 143 + .../src/main/resources/META-INF/LICENSE.txt | 202 + .../tools/java2wsdl/generate/CustomerValue.java | 41 + .../java2wsdl/generate/CustomerWithAccount.java | 49 + .../tools/java2wsdl/generate/ExampleService.java | 31 + .../generate/TuscanyJava2WSDLTestCase.java | 114 + .../tools/java2wsdl/generate/account/Account.java | 53 + .../java2wsdl/generate/customer/Customer.java | 29 + .../java2wsdl/generate/extra/GoldCustomer.java | 33 + .../java/org/soapinterop/CreditScoreDocLit.java | 24 + .../src/test/resources/AccountService.wsdl | 242 + .../src/test/resources/CreditScoreDocLit.wsdl | 76 + .../java2wsdl/src/test/resources/helloworld.wsdl | 121 + .../java2wsdl/src/test/resources/interopdoc.wsdl | 180 + .../java2wsdl/src/test/resources/sequences.xsd | 100 + .../tools/maven/maven-ant-generator/DISCLAIMER | 8 + .../tools/maven/maven-ant-generator/LICENSE | 205 + .../tools/maven/maven-ant-generator/NOTICE | 6 + .../tools/maven/maven-ant-generator/pom.xml | 64 + .../ant/generator/plugin/AntGeneratorMojo.java | 534 + .../tools/maven/maven-dependency-lister/DISCLAIMER | 8 + .../tools/maven/maven-dependency-lister/LICENSE | 205 + .../tools/maven/maven-dependency-lister/NOTICE | 6 + .../tools/maven/maven-dependency-lister/README | 46 + .../tools/maven/maven-dependency-lister/pom.xml | 71 + .../lister/plugin/DependencyListerMojo.java | 198 + .../tools/maven/maven-incremental-build/DISCLAIMER | 8 + .../tools/maven/maven-incremental-build/LICENSE | 205 + .../tools/maven/maven-incremental-build/NOTICE | 6 + .../tools/maven/maven-incremental-build/pom.xml | 108 + .../build/plugin/IncrementalBuildMojo.java | 415 + .../tools/maven/maven-java2wsdl/DISCLAIMER | 8 + .../sca-node/tools/maven/maven-java2wsdl/LICENSE | 205 + .../sca-node/tools/maven/maven-java2wsdl/NOTICE | 6 + .../sca-node/tools/maven/maven-java2wsdl/pom.xml | 45 + .../java2wsdl/plugin/Java2WSDLGeneratorMojo.java | 153 + .../tools/maven/maven-web-junit/DISCLAIMER | 8 + .../sca-node/tools/maven/maven-web-junit/LICENSE | 205 + .../sca-node/tools/maven/maven-web-junit/NOTICE | 6 + .../sca-node/tools/maven/maven-web-junit/pom.xml | 52 + .../web/junit/plugin/WebJUnitGeneratorMojo.java | 181 + .../tools/sca/web/junit/plugin/WebJUnitMojo.java | 205 + .../tools/maven/maven-wsdl2java/DISCLAIMER | 8 + .../sca-node/tools/maven/maven-wsdl2java/LICENSE | 205 + .../sca-node/tools/maven/maven-wsdl2java/NOTICE | 6 + .../sca-node/tools/maven/maven-wsdl2java/pom.xml | 45 + .../wsdl2java/plugin/WSDL2JavaGeneratorMojo.java | 152 + .../tools/wsdl2java/plugin/WSDLFileOption.java | 92 + .../sebastien/java/sca-node/tools/maven/pom.xml | 59 + sandbox/sebastien/java/sca-node/tools/pom.xml | 48 + .../sca-node/tools/runtime-inspector/DISCLAIMER | 8 + .../java/sca-node/tools/runtime-inspector/LICENSE | 205 + .../java/sca-node/tools/runtime-inspector/NOTICE | 6 + .../java/sca-node/tools/runtime-inspector/pom.xml | 71 + .../sca/tools/inspector/AssemblyInspector.java | 83 + .../sca/tools/inspector/RegistryInspector.java | 67 + .../sca/tools/inspector/RuntimeInspector.java | 285 + .../src/test/java/calculator/AddService.java | 28 + .../src/test/java/calculator/AddServiceImpl.java | 35 + .../src/test/java/calculator/CalculatorClient.java | 45 + .../test/java/calculator/CalculatorService.java | 35 + .../java/calculator/CalculatorServiceImpl.java | 70 + .../src/test/java/calculator/DivideService.java | 28 + .../test/java/calculator/DivideServiceImpl.java | 35 + .../src/test/java/calculator/MultiplyService.java | 28 + .../test/java/calculator/MultiplyServiceImpl.java | 35 + .../src/test/java/calculator/SubtractService.java | 28 + .../test/java/calculator/SubtractServiceImpl.java | 35 + .../tools/inspector/RegistryInspectorTestCase.java | 79 + .../src/test/resources/Calculator.composite | 49 + .../java/sca-node/tools/wsdl2java/DISCLAIMER | 8 + .../java/sca-node/tools/wsdl2java/LICENSE | 205 + .../sebastien/java/sca-node/tools/wsdl2java/NOTICE | 6 + .../java/sca-node/tools/wsdl2java/pom.xml | 270 + .../wsdl2java/generate/JavaInterfaceEmitter.java | 223 + .../wsdl2java/generate/JavaInterfaceGenerator.java | 327 + .../generate/RemotableInterfaceWritter.java | 53 + .../generate/SDODataBindingCodegenExtension.java | 63 + .../generate/SDODataBindingTypeMappingEntry.java | 51 + .../wsdl2java/generate/WSDL2JavaGenerator.java | 529 + .../tuscany/tools/wsdl2java/util/XMLNameUtil.java | 143 + .../src/main/resources/META-INF/LICENSE.txt | 202 + .../main/resources/RemotableInterfaceTemplate.xsl | 130 + .../generate/WSDL2JavaGeneratorTestCase.java | 80 + .../java/org/soapinterop/CreditScoreDocLit.java | 25 + .../src/test/resources/AccountService.wsdl | 242 + .../test/resources/AccountServiceWithFault.wsdl | 475 + .../src/test/resources/CreditScoreDocLit.wsdl | 76 + .../wsdl2java/src/test/resources/helloworld.wsdl | 121 + .../wsdl2java/src/test/resources/interopdoc.wsdl | 180 + .../wsdl2java/src/test/resources/sequences.xsd | 100 + sandbox/sebastien/java/sca-node/tutorial/README | 29 + .../sebastien/java/sca-node/tutorial/Tutorial.pdf | Bin 0 -> 309524 bytes .../tutorial/assets/META-INF/sca-contribution.xml | 27 + .../java/sca-node/tutorial/assets/pom.xml | 89 + .../sca-node/tutorial/assets/services/Cart.java | 28 + .../sca-node/tutorial/assets/services/Catalog.java | 27 + .../assets/services/CurrencyConverter.java | 29 + .../assets/services/CurrencyConverterImpl.java | 38 + .../assets/services/FruitsCatalogImpl.java | 52 + .../sca-node/tutorial/assets/services/Item.java | 66 + .../tutorial/assets/services/ShoppingCartImpl.java | 112 + .../sca-node/tutorial/assets/services/Total.java | 29 + .../assets/services/VegetablesCatalogImpl.java | 42 + .../assets/services/db/ShoppingCartTableImpl.java | 171 + .../sca-node/tutorial/assets/services/db/cart.sql | 27 + .../assets/services/map/FruitsCatalogImpl.java | 56 + .../assets/services/market/MarketCatalogImpl.java | 66 + .../assets/services/merger/MergedCatalogImpl.java | 66 + .../java/sca-node/tutorial/assets/tutorial.html | 37 + .../sca-node/tutorial/assets/uiservices/store.html | 141 + .../java/sca-node/tutorial/catalog-ejb/pom.xml | 110 + .../src/main/java/services/ejb/CatalogEJBHome.java | 28 + .../main/java/services/ejb/CatalogEJBRemote.java | 28 + .../src/main/java/services/ejb/Vegetable.java | 54 + .../ejb/VegetablesCatalogEJBSessionBean.java | 62 + .../src/main/resources/META-INF/ejb-jar.xml | 35 + .../src/main/resources/META-INF/openejb-jar.xml | 78 + .../main/resources/META-INF/sca-contribution.xml | 24 + .../resources/VegetablesCatalogEJB.componentType | 26 + .../src/main/resources/catalog-ejb.composite | 31 + .../test/java/client/CatalogEJBClientTestCase.java | 67 + .../java/org/omg/stub/javax/ejb/_EJBHome_Stub.java | 223 + .../org/omg/stub/javax/ejb/_EJBObject_Stub.java | 252 + .../java/org/omg/stub/javax/ejb/_Handle_Stub.java | 89 + .../org/omg/stub/javax/ejb/_HomeHandle_Stub.java | 89 + .../java/services/ejb/_CatalogEJBHome_Stub.java | 269 + .../java/services/ejb/_CatalogEJBRemote_Stub.java | 292 + .../META-INF/sca-contribution.xml | 25 + .../catalog-mediation/catalog-mediation.composite | 34 + .../sca-node/tutorial/catalog-mediation/pom.xml | 91 + .../mediation/VegetablesCatalogMediationImpl.java | 51 + .../tutorial/catalog-webapp/catalog-web.composite | 43 + .../java/sca-node/tutorial/catalog-webapp/pom.xml | 110 + .../webapp/META-INF/sca-contribution.xml | 24 + .../tutorial/catalog-webapp/webapp/WEB-INF/web.xml | 41 + .../tutorial/catalog-webapp/webapp/catalog.jsp | 52 + .../java/sca-node/tutorial/domain/cloud.composite | 36 + .../tutorial/domain/cloud/CatalogEJBNode.composite | 35 + .../domain/cloud/CatalogMediationNode.composite | 33 + .../domain/cloud/CatalogWebAppNode.composite | 36 + .../tutorial/domain/cloud/CatalogsNode.composite | 33 + .../tutorial/domain/cloud/CurrencyNode.composite | 33 + .../domain/cloud/StoreClientNode.composite | 33 + .../tutorial/domain/cloud/StoreDBNode.composite | 35 + .../tutorial/domain/cloud/StoreEUNode.composite | 36 + .../domain/cloud/StoreMarketNode.composite | 35 + .../domain/cloud/StoreMashupNode.composite | 35 + .../domain/cloud/StoreMergerNode.composite | 35 + .../tutorial/domain/cloud/StoreNode.composite | 35 + .../domain/cloud/StoreSupplierNode.composite | 36 + .../java/sca-node/tutorial/domain/domain.composite | 36 + .../domain/launch/LaunchCatalogMediationNode.java | 28 + .../tutorial/domain/launch/LaunchCatalogsNode.java | 28 + .../tutorial/domain/launch/LaunchCurrencyNode.java | 28 + .../tutorial/domain/launch/LaunchStoreDBNode.java | 28 + .../tutorial/domain/launch/LaunchStoreEUNode.java | 28 + .../domain/launch/LaunchStoreMarketNode.java | 28 + .../domain/launch/LaunchStoreMashupNode.java | 28 + .../domain/launch/LaunchStoreMergerNode.java | 28 + .../tutorial/domain/launch/LaunchStoreNode.java | 28 + .../domain/launch/LaunchStoreSupplierNode.java | 28 + .../domain/launch/LaunchTutorialDomainManager.java | 33 + .../java/sca-node/tutorial/domain/pom.xml | 172 + .../java/sca-node/tutorial/domain/workspace.xml | 35 + sandbox/sebastien/java/sca-node/tutorial/pom.xml | 59 + .../store-client/META-INF/sca-contribution.xml | 23 + .../tutorial/store-client/client/Shopper.java | 29 + .../tutorial/store-client/client/ShopperImpl.java | 63 + .../store-client/launch/LaunchStoreClientNode.java | 43 + .../java/sca-node/tutorial/store-client/pom.xml | 123 + .../tutorial/store-client/services/Cart.java | 28 + .../tutorial/store-client/services/Catalog.java | 27 + .../tutorial/store-client/services/Item.java | 66 + .../tutorial/store-client/services/Total.java | 29 + .../tutorial/store-client/store-client.composite | 38 + .../store-db/META-INF/sca-contribution.xml | 27 + .../java/sca-node/tutorial/store-db/pom.xml | 126 + .../sca-node/tutorial/store-db/store-db.composite | 75 + .../store-eu/META-INF/sca-contribution.xml | 26 + .../java/sca-node/tutorial/store-eu/pom.xml | 111 + .../sca-node/tutorial/store-eu/store-eu.composite | 70 + .../tutorial/store-eu/uiservices/store-eu.html | 142 + .../store-market/META-INF/sca-contribution.xml | 26 + .../java/sca-node/tutorial/store-market/build.xml | 54 + .../java/sca-node/tutorial/store-market/pom.xml | 77 + .../tutorial/store-market/store-market.composite | 68 + .../store-mashup/META-INF/sca-contribution.xml | 25 + .../tutorial/store-mashup/build-openajax.xml | 86 + .../tutorial/store-mashup/gadget/map-gadget.html | 50 + .../tutorial/store-mashup/gadget/store-gadget.html | 148 + .../tutorial/store-mashup/map-gadget.composite | 32 + .../tutorial/store-mashup/mashup/store-mash.html | 70 + .../java/sca-node/tutorial/store-mashup/pom.xml | 136 + .../tutorial/store-mashup/store-gadget.composite | 64 + .../tutorial/store-mashup/store-mashup.composite | 48 + .../store-merger/META-INF/sca-contribution.xml | 26 + .../java/sca-node/tutorial/store-merger/pom.xml | 77 + .../tutorial/store-merger/store-merger.composite | 75 + .../store-supplier/META-INF/sca-contribution.xml | 27 + .../java/sca-node/tutorial/store-supplier/pom.xml | 127 + .../store-supplier/store-supplier.composite | 77 + .../store-test/META-INF/sca-contribution.xml | 27 + .../tutorial/store-test/client/Shopper.java | 29 + .../java/sca-node/tutorial/store-test/pom.xml | 201 + .../store-test/test/StoreSupplierTestCase.java | 89 + .../tutorial/store/META-INF/sca-contribution.xml | 25 + .../sebastien/java/sca-node/tutorial/store/pom.xml | 77 + .../java/sca-node/tutorial/store/store.composite | 64 + .../web-services/META-INF/sca-contribution.xml | 25 + .../tutorial/web-services/catalogs.composite | 43 + .../tutorial/web-services/currency.composite | 32 + .../java/sca-node/tutorial/web-services/pom.xml | 77 + .../cart-amazon/amazon/cart/AmazonCart.java | 44 + .../cart-amazon/amazon/cart/AmazonCart.wsdl | 451 + .../cart-amazon/amazon/cart/AmazonCartImpl.java | 120 + .../www-services/cart-amazon/amazoncart.composite | 33 + .../cart-amazon/launch/LaunchAmazonCart.java | 52 + .../tutorial/www-services/cart-amazon/pom.xml | 215 + .../cart-amazon/test/AmazonCartTestCase.java | 99 + .../www-services/catalog-amazon/cart-amazon/README | 77 + .../catalog-amazon/cart-amazon/build.xml | 74 + .../cart-amazon/lib/AWS2007_05_14.jar | Bin 0 -> 297809 bytes .../catalog-amazon/cart-amazon/shoppingstore.png | Bin 0 -> 382749 bytes .../shoppingstore/server/ShoppingStoreServer.java | 25 + .../shoppingstore/services/cart/CartService.java | 35 + .../services/cart/CartServiceImpl.java | 144 + .../services/proxy/ShoppingStoreService.java | 30 + .../services/proxy/ShoppingStoreServiceImpl.java | 49 + .../src/main/resources/shoppingstore.composite | 20 + .../src/main/resources/wsdl/shoppingstore.wsdl | 3023 +++++ .../tutorial/www-services/catalog-amazon/pom.xml | 95 + .../src/main/java/catalog/CatalogClient.java | 37 + .../src/main/java/catalog/CatalogService.java | 28 + .../java/catalog/amazon/AmazonCatalogService.java | 31 + .../catalog/amazon/AmazonCatalogServiceImpl.java | 94 + .../main/java/catalog/ebay/EBayCatalogService.java | 32 + .../java/catalog/ebay/EBayCatalogServiceImpl.java | 99 + .../java/catalog/util/NamespaceContextImpl.java | 126 + .../src/main/java/catalog/util/XPathHelper.java | 55 + .../src/main/resources/catalog.composite | 55 + .../main/resources/wsdl/AWSECommerceService.wsdl | 3244 +++++ .../src/main/resources/wsdl/ShoppingService.wsdl | 12607 +++++++++++++++++++ .../www-services/catalog-amazon/store-db/pom.xml | 149 + .../src/main/java/launch/LaunchCatalog.java | 34 + .../store-db/src/main/java/services/Catalog.java | 27 + .../src/main/java/services/CatalogImpl.java | 120 + .../src/main/java/services/CurrencyConverter.java | 29 + .../store-db/src/main/java/util/CreateDB.java | 79 + .../resources/store-catalog-database.composite | 31 + .../www-services/catalog-amazon/store-db/store.sql | 37 + .../java/sca-node/tutorial/www-services/pom.xml | 46 + .../java/sca-node/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 | 36 + .../ctypefile/CompomnentTypeFileTestCase.java | 107 + .../sebastien/java/sca-node/vtest/assembly/pom.xml | 68 + .../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 + .../ConversationAttributesAnnotationTestCase.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-node/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 | 51 + .../javaapi/annotations/reference/BService.java | 31 + .../annotations/reference/impl/AServiceImpl.java | 204 + .../reference/impl/AnotherAServiceImpl.java | 129 + .../annotations/reference/impl/BServiceImpl.java | 32 + .../reference/src/main/resources/ab.composite | 54 + .../reference/ReferenceAnnotationTestCase.java | 211 + .../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 | 57 + .../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 | 477 + .../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 | 31 + .../javaapi/apis/componentcontext/CService.java | 29 + .../javaapi/apis/componentcontext/DComponent.java | 26 + .../apis/componentcontext/impl/AComponentImpl.java | 121 + .../apis/componentcontext/impl/BComponentImpl.java | 52 + .../apis/componentcontext/impl/DComponentImpl.java | 32 + .../src/main/resources/ab.composite | 40 + .../componentcontext/ComponentContextTestCase.java | 181 + .../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 + .../sca-node/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 | 131 + .../java/sca-node/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 | 46 + .../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 + .../sca-node/vtest/java-api/conversation/pom.xml | 63 + .../sebastien/java/sca-node/vtest/java-api/pom.xml | 70 + sandbox/sebastien/java/sca-node/vtest/pom.xml | 56 + .../java/sca-node/vtest/processcomments.rb | 179 + .../java/sca-node/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-node/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-node/vtest/wsbinding/pom.xml | 67 + .../java/sca-node/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 | 36 + .../service/src/main/resources/wsdlport.composite | 43 + .../src/main/resources/wsdlservice.composite | 42 + .../vtest/wsbinding/EndpointReferenceTestCase.java | 67 + .../wsbinding/EndpointUriResolutionTestCase.java | 207 + .../sca/vtest/wsbinding/WsdlBindingTestCase.java | 68 + .../sca/vtest/wsbinding/WsdlEndpointTestCase.java | 66 + .../sca/vtest/wsbinding/WsdlPortTestCase.java | 66 + .../sca/vtest/wsbinding/WsdlServiceTestCase.java | 69 + 7273 files changed, 581667 insertions(+) create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.png create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.svg create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build-dojo.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertTypeNonSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsTypeNonSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/ConfigTypeNonSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/SourceTypeNonSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.xsd create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/AlertsSources.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/sources.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/AlertAggregator.html create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/geronimo-web.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/pop.png create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/rss.png create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/service.smd create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/sources.smd create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/style.css create mode 100644 sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/README create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.png create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.svg create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/build-dojo.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountDetails.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountDetails.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/AccountsDataPasswordCallbackHandler.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/BigbankCheckingsAcl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthImplementationPolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountDetails.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/CheckingsAccount.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/SavingsAccount.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/StockAccount.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/AccountJSON.html create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/style.css create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/README create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/demo/CalculatorServer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/README create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/StockQuote.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/security.properties create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/stockQuote.jks create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/README create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.png create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.svg create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/build-dojo.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/feed/AccountFeedImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/client/BigBankClient.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/demo/BigBankServer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/security/BigbankPasswordCallbackHandler.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/stockquote/StockQuoteService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/BigBank.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/bigbank.jks create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/security.properties create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/AccountJSON.html create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/style.css create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/wsdl/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/bigbank/src/test/java/test/BigBankTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build-tomcat.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/client/LaunchClient.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/domain/LaunchDomain.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/org/apache/tuscany/sca/demos/loadbalancer/rule/RoundRobinRule.java create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/resources/client-contribution/helloworldwsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-deployables/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/httpd.conf create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/workers.properties create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/conf/server.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/webapps/balancer/WEB-INF/config/rules.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8086/conf/server.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8087/conf/server.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/README create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheck.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckServer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/CreditCheck.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/wsdl/credit.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/README create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_diagrams.doc create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.jpg create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/mortgage_assembly.png create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage1.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.componentType create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.js create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/wsdl/credit.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/test/java/mortgage/MortgageClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/demos/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNode.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNodeDaemon.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/TestJob.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolDaemon.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolNode.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/workerRules1.drl create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MetaComponentWorker.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MyWorker.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/NullJob.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/ResultJob.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/Trigger.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManager.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManagerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBean.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBeanListener.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolEvent.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManager.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManagerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/Workpool.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/Workpool.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/Workpool.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/Workpool.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/Workpool.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/test/java/workpool/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules.drl create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules1.drl create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules2.drl create mode 100644 sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules3.drl create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/README create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/build.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountData.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockValue.java create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/BigBank.composite create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/accounts.xml create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/customer.xsd create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/stock.xq create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/wsdl/StockQuotes.wsdl create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.png create mode 100644 sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.svg create mode 100644 sandbox/sebastien/java/sca-node/distribution/bundle/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/manifest/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/assembly/bin.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/assembly/src.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/CHANGES create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/README create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/RELEASE_NOTES create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/INSTALL create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/src/BUILDING create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/src/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/release/src/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/distribution/src/main/xsl/srcbuild_paths.xsl create mode 100644 sandbox/sebastien/java/sca-node/distribution/standalone/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/standalone/src/test/resources/repo/tuscany.properties create mode 100644 sandbox/sebastien/java/sca-node/distribution/tomcat/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/assembly/bin.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/src/main/release/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/src/main/release/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/src/main/release/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/src/main/release/README create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/src/main/webapp/web.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/war/war.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar create mode 100644 sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/scaDomainInfo.jsp create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/README create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyLogger.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceByDate.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/SCAComponentService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceInRecursiveTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MySimpleServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/java/org/apache/tuscany/sca/itest/admin/MyTotalServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/Iteration1Composite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/Iteration3Composite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/MySimpleService.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingPongTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPongTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/pong.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/bpel/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/build-was-integration.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Alpha.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/AlphaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Beta.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/BetaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Gamma.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/GammaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/CallableReferenceWsReturnTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/example.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/org/apache/tuscany/sca/itest/callablerefws/CallableReferenceReturnTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Alpha.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/AlphaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Beta.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/BetaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Gamma.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/GammaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceConversationalTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceReturnTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/CompositeA.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/CompositeB.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceConversationalTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceReturnTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiCallBack.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/CallBackApiTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-api/src/test/java/org/apache/tuscany/sca/test/CallBackApiTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicCallBack.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/CallBackBasicTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-basic/src/test/java/org/apache/tuscany/sca/test/CallBackBasicTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeCallBack.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/CallBackCTypeClient.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/test/java/org/apache/tuscany/sca/test/CallBackCTypeTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdCallBack.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/main/resources/CallBackIdClient.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-id/src/test/java/org/apache/tuscany/sca/test/CallBackIdTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl1.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl2.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/resources/CallbackMultiWireTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/test/java/org/apache/tuscany/sca/test/callback/CallbackMultiWireTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorCallBack.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/resources/CallBackSeparateThreadTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/test/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCalbackService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackBadCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackObjectCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/resources/CallBackSetCallbackTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvBadCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvNonSerCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvObjectCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/resources/CallBackSetCallbackConvTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/AddServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/CalculatorServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/DivideServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/MultiplyServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/SubtractServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/component-type/src/test/java/calculator/CalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/build-jar.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/illegal/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/complete-supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-impl-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-interface-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal-customer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal1-supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal2-supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/retailer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/shipper-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/warehouse-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/illegalsupplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/warehouse/JavaWarehouseComponentImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/SupplyChain.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/TuscanyClassloadingTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-classloader/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/Hello.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/HelloImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/hello.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/test/java/org/apache/tuscany/sca/test/contribution/HelloTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/helloworld/HelloWorldImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/ufservices/store.html create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/test/java/org/apache/tuscany/test/contribution/HelloWorldServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/store.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/test/java/org/apache/tuscany/sca/test/contribution/StoreTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-import-export/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/Hello.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/HelloImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionCycleTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionMultipleTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/hello.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/helloworld_one.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/hello.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/helloworld_one.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/helloworld_two.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/ContributionTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/deployables/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/repository/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/BusinessException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/conversational.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/ConversationalServiceStateful.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/conversationalWSDL.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/RequestScopeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatefulTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatelessTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatefulTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatelessTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/Record.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/TestResult.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/AService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Alpha.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/BService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Beta.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/CService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Constants.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/DService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Gamma.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AlphaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BetaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/GammaImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationAge.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationUniqueId.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationId.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationLifetime.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversational.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationIdTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationLifetimeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationUniqueIdTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalAgeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalJ2SETestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/java/org/apache/tuscany/sca/itest/generate/Generate.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/DatabindingTestCase.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/Greeter.wsdl.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterService.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClient.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClientImpl.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceImpl.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/generate.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/wsdl/Dummy.txt create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ImportedSchema.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Interop.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Person.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/datagraph.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoJava.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoModel.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/common/src/test/java/org/apache/tuscany/sca/itest/generate/GenerateTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/config.png create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/config.svg create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/databinding.png create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/databinding.svg create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop.png create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop.svg create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/InteropDatabindingTestCase.java.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/JAXBGreeter.wsdl.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/SDOGreeter.wsdl.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/generate.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/interopgreeter.composite.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean1.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean10.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean11.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean2.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean3.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean31.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsLocalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloLocalServiceSimple.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimple.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimpleClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesLocalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesLocalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsLocalServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloLocalServiceSimpleClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesLocalServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesLocalServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsList.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsListResponse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/generics-service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/helloservice.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/primitivesservice.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/standard-types-service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/DatabindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesDatabindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/generate/generate.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/greeter.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/readme.html create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/sdogen/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/sdogen/src/main/resources/generate/generate.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/databindings/sdogen/src/main/resources/generate/greeter.composite.vm create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/AddServiceUpdateImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionA/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionB/META-INF/sca-deployables/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionC/META-INF/sca-deployables/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionDependent/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionDependent/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionPrimary/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/main/resources/contributionPrimary/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/domain/src/test/java/org/apache/tuscany/sca/itest/domain/ContributionSPIsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExchangeJaxB.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDO.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/InvalidSymbolSDOException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/MarketClosedSDOException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/StockExceptionTest.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/resources/ExceptionTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/resources/intracomposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/resources/wsdl/StockExceptionTest.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/main/resources/xsd/StockExceptionTest.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExceptionTestJAXB.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockExchangeJaxB.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDO.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/StockTraderSDOImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/InvalidSymbolSDOException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/MarketClosedSDOException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/java/org/apache/tuscany/sca/test/exceptions/sdohandgen/StockExceptionTest.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/resources/ExceptionTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/resources/intracomposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/resources/wsdl.sdo/StockExceptionTest.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/resources/wsdl/StockExceptionTest.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/main/resources/xsd/StockExceptionTest.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-cross-binding/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/java/com/example/BusinessException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/java/com/example/ExampleClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/java/com/example/ExampleClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/java/com/example/ExampleService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/java/com/example/ExampleServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/resources/example.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/main/resources/wsdl/ExampleService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions-simple-ws/src/test/java/com/example/ExampleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/Checked.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/ExceptionHandler.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/ExceptionRemoteThrower.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/ExceptionThrower.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/UnChecked.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/ExceptionHandlerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/ExceptionRemoteThrowerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/ExceptionThrowerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/java/org/apache/tuscany/sca/test/exceptions/impl/RemoteExceptionHandlerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/main/resources/ExceptionTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/exceptions/src/test/java/org/apache/tuscany/sca/test/exceptions/ExceptionsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/java/org/apache/tuscany/sca/test/extended/BasicService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/java/org/apache/tuscany/sca/test/extended/MathService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/java/org/apache/tuscany/sca/test/extended/impl/BasicServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/java/org/apache/tuscany/sca/test/extended/impl/MathServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/resources/BasicService.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/main/resources/MathService.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/extended-api/src/test/java/org/apache/tuscany/sca/test/extended/ServiceLocateTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/LocalCallbackInterface.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/LocalClientComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/LocalClientComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/LocalServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/LocalServiceComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/ParameterObject.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/RemoteCallbackInterface.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/RemoteClientComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/RemoteClientComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/RemoteServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/java/org/apache/tuscany/sca/itest/interfaces/RemoteServiceComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/main/resources/InterfacesTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/interfaces/src/test/java/org/apache/tuscany/sca/itest/interfaces/InterfacesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-client/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-client/src/main/java/org/apache/tuscany/test/interop/client/LoopbackInteropDocServiceComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-client/src/main/resources/default.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-client/src/main/resources/wsdl/interopdoc.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-client/src/test/java/org/apache/tuscany/test/interop/client/InteropDocClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-round2-client/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-round2-client/src/main/java/org/apache/tuscany/test/interop/client/InteropTestDocLit.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-round2-client/src/main/resources/default.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-round2-client/src/main/resources/wsdl/interoptestdoclit.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-round2-client/src/test/java/org/apache/tuscany/test/interop/client/InteropTestDocLitTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-service/src/main/java/org/apache/tuscany/test/interop/server/InteropDocServiceComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-service/src/main/resources/wsdl/interopdoc.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-service/src/main/webapp/META-INF/sca/default.scdl create mode 100644 sandbox/sebastien/java/sca-node/itest/interop-soap-service/src/main/webapp/WEB-INF/web.xml create mode 100755 sandbox/sebastien/java/sca-node/itest/interop-soap-service/t.bat create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/CheckedExcpetion.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/ExceptionService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/ExceptionServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/ExceptionServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/OneWayClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/OneWayObjectService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/OneWayObjectServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/OneWayService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/OneWayServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/java/org/apache/tuscany/sca/binding/jms/TestMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/defaults/client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/defaults/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/dynamic/client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/exceptions/client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/exceptions/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/external/client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/external/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/jndi.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/nonSCAclient/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/oneway/OneWayClient.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/oneway/OneWayService.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/simple/client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/simple/mpclient.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/simple/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/main/resources/simple/uriclient.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/DefaultsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/DynamicReplyQTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExternalBrokerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/MessageProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/NonSCAClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/OneWayTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/RPCTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/URIRPCTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/java/org/apache/tuscany/sca/itest/trninq/TrnInqClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/java/org/apache/tuscany/sca/itest/trninq/TrnInqService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/java/org/apache/tuscany/sca/itest/trninq/TrninqInterface.java create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/resources/trnInq.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/resources/wsdl/IFX170_XSD.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/main/resources/wsdl/trninq.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/large-sdo-ws/src/test/java/trninq/TrnInqServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeA/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeB/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeB/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeC/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/main/resources/nodeC/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/test/java/binding/sca/BindingScaEndpointResolverFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/test/java/binding/sca/BindingScaEndpointResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/test/java/calculator/LateReferenceResolutionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/late-reference-resolution/src/test/java/calculator/TestRegistryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/build.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/main/java/org/apache/tuscany/sca/itest/oneway/OneWayClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/main/java/org/apache/tuscany/sca/itest/oneway/OneWayService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/main/java/org/apache/tuscany/sca/itest/oneway/impl/OneWayClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/main/java/org/apache/tuscany/sca/itest/oneway/impl/OneWayServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/main/resources/OneWayContribution/META-INF/sca-deployables/oneWay.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/oneway/src/test/java/org/apache/tuscany/sca/itest/oneway/OneWayTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/src/main/java/org/apache/tuscany/sca/test/opoverload/OverloadASourceTarget.java create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/src/main/java/org/apache/tuscany/sca/test/opoverload/impl/OverloadASource.java create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/src/main/java/org/apache/tuscany/sca/test/opoverload/impl/OverloadATarget.java create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/src/main/resources/OperationOverload.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/operation-overloading/src/test/java/org/apache/tuscany/sca/test/opoverload/impl/OverloadATestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/build-bundles.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/OSGiBundleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/customer/OSGiCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/Customer2V2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/CustomerV2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/RetailerV2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/ShipperV2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/WarehouseV2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/RetailerJar.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/SupplyChain.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes-v2/src/main/resources/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/build-bundles.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/retailer/OSGiRetailerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/shipper/OSGiShipperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/Customer2V1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/CustomerV1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/META-INF/customer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/META-INF/retailer-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/META-INF/shipper-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/META-INF/supplychain-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/META-INF/warehouse-sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/RetailerV1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/ShipperV1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/WarehouseV1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/Customer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/RetailerJar.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/SupplyChain.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/osgi/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-classes/src/main/resources/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/main/java/org/apache/tuscany/sca/contribution/osgi/OSGiTestUtil.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/test/java/org/apache/tuscany/sca/contribution/osgi/test/MixedContributionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/test/java/org/apache/tuscany/sca/contribution/osgi/test/NestedBundleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/test/java/org/apache/tuscany/sca/contribution/osgi/test/OSGiResolverTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/test/java/org/apache/tuscany/sca/contribution/osgi/test/SCAResolverTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/contribution-test/src/test/resources/osgi/felix/felix.config.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-contribution/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/build-bundles.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/client/CallbackCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/client/CallbackClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/client/OSGiCallbackClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/service/CallbackService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/service/JavaCallbackServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/callback/service/OSGiCallbackServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientActivator.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/service/ConversationalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceActivator.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatefulImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatelessImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/Greetings.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/JavaGreetingsComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/JavaHelloWorldComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/OSGiGreetingsImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/OSGiHelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/sdo/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/sdo/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/sdo/client/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/sdo/client/HelloWorldClientComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/stockquote/StockQuote.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/OSGiBundleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiVersionedCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/retailer/RetailerQuery.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseWithQueryComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/java/supplychain/warehouse/WarehouseQuery.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/callback/CallbackClient.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/callback/CallbackService.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/callback/callback-test1.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/callback/callback-test2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/callback/callback-test3.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/conversation/ConversationalClient.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/conversation/ConversationalReferenceClient.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/conversation/ConversationalService.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/conversation/conversation-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/ds/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/ds/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/ds/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/ds/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/ds/factory-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/factory/factory-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/helloworld/Greetings.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/helloworld/HelloWorld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/ds/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/ds/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/ds/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/ds/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/ds/interfaces-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/interfaces/interfaces-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackClient.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackService.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalClient.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalReferenceClient.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalService.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/passbyref/Greetings.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/ManagedStockQuoteFactory.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuote.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuoteFactory.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/sdo/ds/HelloWorldClient.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/sdo/ds/HelloWorldClient.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/sdo/ds/HelloWorldService.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/sdo/ds/HelloWorldService.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Customer1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Customer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Retailer1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Retailer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Shipper1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Shipper2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse1.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse2.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/osgi/ws/HelloWorld.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/passbyref/Greetings.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/passbyref/passbyref-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/StockQuote.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/StockQuoteFactory.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/ds/StockQuote.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/ds/StockQuoteFactory.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/ds/properties-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/ds/properties2-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/properties-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/properties/properties2-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/sdo/ds/HelloWorldClient.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/sdo/ds/HelloWorldService.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/sdo/ds/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/sdo/ds/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/sdo/ds/helloworldsdo.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/ds/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/ds/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/ds/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/ds/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/ds/services-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/services/services-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/stockquote/StockQuote.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Customer1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Customer2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Retailer1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Retailer2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Shipper1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Shipper2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Warehouse1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/Warehouse2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Customer1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Customer2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Retailer1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Retailer2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Shipper1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Shipper2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Warehouse1.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/Warehouse2.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/ds/version-ds-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/version/version-test.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/wiring-ds-test1.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/ds/wiring-ds-test2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/wiring-test1.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/wiring/wiring-test2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/ws/HelloWorld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/ws/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/main/resources/ws/ws-helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/helloworld/sdo/SdoTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/test/OSGiTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/java/util/OSGiTestUtil.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/EquinoxTestRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/OSGiTestRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/util/OSGiRuntimeLoader.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/util/TuscanyLoader.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyNonOSGiTestHarness.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/NonOSGiSamplesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiTuscanyRuntimeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySampleExtensionsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/META-INF/MANIFEST.MF create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/sca-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/build-bundles.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/client/SupplyChainClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/META-INF/SupplyChain.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/META-INF/SupplyChainClient.mf create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/supplychain/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/supplychain/ws/Customer.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/test-bundles/src/main/resources/supplychain/ws/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-3rdparty/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-extensions/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-osgi-installer/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-osgi-installer/src/main/java/org/apache/tuscany/sca/installer/InstallerBundleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/osgi-tuscany/tuscany-spi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/src/main/resources/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security-jsr250/src/test/java/org/apache/tuscany/sca/itest/PolicySecurityJSR250TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/src/main/resources/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/policy-security/src/test/java/org/apache/tuscany/sca/itest/PolicyIdentityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/PolicyQNames.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/policy/TestImplPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/policy/TestRefPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/java/calculator/policy/TestSvcPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/policy/src/test/java/org/apache/tuscany/sca/itest/PoliciedCalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/java/com/example/BusinessException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/java/com/example/ExampleClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/java/com/example/ExampleClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/java/com/example/ExampleService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/java/com/example/ExampleServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/resources/example.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/resources/wsdl/ExampleService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/main/resources/wsdl/ExampleServiceTypes.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/promotion-interface-missmatch/src/test/java/com/example/ExampleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/mysca/test/myservice/impl/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/mysca/test/myservice/impl/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/mysca/test/myservice/impl/MyTotalServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABCDComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ABComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/CDComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/ComplexPropertyBean.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/OverrideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/PropertyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Bar.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo1.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo2.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/org/apache/tuscany/sca/itest/cdi/Foo3.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/test/jaxb/props/ObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/test/jaxb/props/ReturnCodeProperties.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/java/test/jaxb/props/package-info.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/ConstructorPropertyInjection.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/Outer.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/OuterPropertyTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/PropertyTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/customer.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/fileProperty.txt create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/manyValuesFileProperty.txt create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/mySimpleService.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/rcProps.txt create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/main/resources/rcprops.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/test/java/org/apache/tuscany/sca/itest/MyTotalServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/test/java/org/apache/tuscany/sca/itest/OuterPropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/test/java/org/apache/tuscany/sca/itest/PropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/properties/src/test/java/org/apache/tuscany/sca/itest/cdi/ConstructorPropertyInjectionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/java/mysca/test/myservice/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/java/mysca/test/myservice/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/java/mysca/test/myservice/MySimpleTotalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/java/mysca/test/myservice/MySimpleTotalServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/resources/TotalService1Auto.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/resources/TotalService2Auto.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/main/resources/TotalService3Auto.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-multi-level/src/test/java/test/sca/tests/MultiLevelTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/policy/Target.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/policy/TargetClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/policy/TargetServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/recursive/Composer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/recursive/ComposerClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/recursive/ComposerClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/recursive/ComposerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/java/recursive/ComposerServer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/Client.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/Inner.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/Outer.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/bindingoverride/InnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/bindingoverride/OuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/policy/PolicyInnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/policy/PolicyOuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/main/resources/policy/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/test/java/bindingoverride/BindingOverrideTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/test/java/policy/PolicyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/test/java/recursive/ComposerClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive-ws/src/test/java/recursive/ComposerTestServer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/circular/include/DemoClass.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/CompositeClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/Source.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/SourceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/SourceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/Target.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/composite/TargetImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/foo/A.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/foo/B.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/foo/I.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/policy/Target.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/policy/TargetClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/policy/TargetServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/sample/ComponentAImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/sample/ComponentCImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/sample/ComponentEImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/sample/ComponentFImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/sample/Service1.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test/Aggregator.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test/AggregatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test/InnerSourceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test/OuterSourceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test/Source.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test1/composite/Target.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test1/composite/TargetOne.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/java/test1/composite/TargetTwo.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/AComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/BComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/CComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Composite1.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Composite2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Composite3.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Demo1Composite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Demo2Composite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Inner.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/InnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/InnerComposite2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/Outer.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/OuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/foo/foo.png create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/foo/o1.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/foo/o2.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/foo/o3.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/foo/o4.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/policy/PolicyInnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/policy/PolicyOuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/policy/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/test1/InnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/main/resources/test1/OuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/circular/include/CircularIncludeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/composite/CompositeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/composite/LocateServiceEmbeddedSCADomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/composite/LocateServiceSCADomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/foo/O2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/foo/O4TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/policy/PolicyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/C.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/CImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/NestedTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/RecursiveCompositeTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/X.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/XImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/Y.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/sample/YImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/test/InnerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/test/OuterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/recursive/src/test/java/test1/composite/CompositeClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/CComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/CComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/DComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/java/org/apache/tuscany/sca/itest/references/DComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/resources/AutoWiredReferencesTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/resources/InnerReferencesTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/main/resources/ManualWiredReferencesTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/test/java/org/apache/tuscany/sca/itest/references/AutoWiredReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/test/java/org/apache/tuscany/sca/itest/references/InnerReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/references/src/test/java/org/apache/tuscany/sca/itest/references/ManualWiredReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/src/main/java/org/apache/tuscany/sca/itest/scopes/CompositeScopeStateVerifierImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/src/main/java/org/apache/tuscany/sca/itest/scopes/RequestScopeStateVerifierImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/src/main/java/org/apache/tuscany/sca/itest/scopes/StateVerifier.java create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/src/main/resources/scopes.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/scopes/src/test/java/org/apache/tuscany/sca/test/ScopeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/ConversationalService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/ConversationalServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/ConversationalServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/StatelessService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/StatelessServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/StatelessServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/utils/ServiceReferenceUtils.java create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/CComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/CComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/D1Component.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/DComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/java/org/apache/tuscany/sca/itest/services/DComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/main/resources/ServicesTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/services/src/test/java/org/apache/tuscany/sca/itest/services/ServicesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/main/resources/META-INF/sca/SpringDelegationHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/main/resources/META-INF/sca/SpringHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/main/resources/org/apache/tuscany/sca/itest/spring/SpringDelegationHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/main/resources/org/apache/tuscany/sca/itest/spring/SpringHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/AbstractHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/AbstractSCATestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/HelloWorldProxy.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/SpringDelegationHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/SpringHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/TestHelloWorldBean.java create mode 100644 sandbox/sebastien/java/sca-node/itest/spring/src/test/java/org/apache/tuscany/sca/itest/spring/TestHelloWorldDelegatorBean.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/AccountNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/OverDraftException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/SavingsAccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/TransferService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/TransferServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/resources/accounts.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/main/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/test/java/org/apache/tuscany/sca/itest/transaction/ConcurrentXAResourceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/transaction/src/test/java/org/apache/tuscany/sca/itest/transaction/TransactionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/ejb/account/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/ejb/account/CustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/ejb/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/ejb/calculator/AddServiceHome.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/jms/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/binding/jms/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/AddServiceImplWithServiceName.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/PropertyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/PropertyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/calculator/warning/SubtractServiceImplWithServiceName.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/java/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/osgi/OSGiTestImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/osgi/OSGiTestInterface.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/osgi/OSGiTestWithPropertyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/spring/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/spring/HelloWorldProxy.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/impl/spring/TestHelloWorldBean.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/interfacejava/xml/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/java/interfacejava/xml/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ComponentReferenceTargetNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateComponentName/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateImplementationPropertyName/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateImplementationPropertyName/dummyImplementation.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateImplementationReferenceName/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateImplementationReferenceName/dummyImplementation.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicatePropertyName/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/DuplicateReferenceName/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/META-INF/sca/SpringHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/MultipleBindingsForService/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/NoComponentImplementation/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/NoCompositeNamespace/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/NoMatchingBinding/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PromotedReferenceNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PromotedServiceNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PropertyAttribute/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PropertyAttribute/CalculatorNullMustSupply.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PropertyAttribute/CalculatorOverrideManyAttribute.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/PropertyNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ReferenceIncompatibleComponentInterface/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ReferenceIncompatibleInterface/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ReferenceIncompatibleMultiplicity/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ReferenceNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ReferenceWithoutTargets/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/ServiceNotFoundForComponentService/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/UnresolvedComponentImplementation/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/XsdValidation/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/ContributionReadException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/PolicyImplValidationException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/PolicyServiceValidationException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/UnexpectedBindingElement/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/UnexpectedImplementationElement/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/assemblyxml/UnexpectedInterfaceElement/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/InvalidWsdlElementAttr/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/MustUseWsdlBinding/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/WsdlBindingDoesNotMatch/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/WsdlBindingDoesNotMatch/helloworldwsjms.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/WsdlServiceDoesNotMatch/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/binding/wsxml/WsdlServiceDoesNotMatch/helloworldwsjms.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingejb/UnknownEJBSessionType/account.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingejb/UnknownEJBVersion/account.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessActivationSpec/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessDestinationType/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessHeaders/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessResourceAdapter/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessResponseActivationSpec/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessResponseConnectionFactory/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/DoesntProcessResponseDestinationType/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/InvalidCorrelationScheme/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/InvalidResponseDestinationType/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/MissingActivationSpecName/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/MissingConnectionFactoryName/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/MissingResponseActivationSpec/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/MissingResponseConnectionFactory/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/MustStartWithSchema/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/UnexpectedElement/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/UnexpectedResponseElement/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/bindingjms/UnknownTokenInURI/service.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/contribution/java/AttributePackageMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/contribution/namespace/AttributeNameSpaceMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/contribution/resource/AttributeURIMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/contribution/xml/AttributeCompositeMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/contribution/xml/AttributeCompositeMissing/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/AttributeUnrecognizedNamespace/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/AttributeWithoutNamespace/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/BPELProcessNotFound/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/BPELProcessNotFound/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/BPELProcessNotFound/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/BPELProcessNotFound/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/BPELProcessNotFound/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/CannotResolveWSDLReference/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/CannotResolveWSDLReference/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/CannotResolveWSDLReference/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/CannotResolveWSDLReference/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/MyRolePartnerRoleNull/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/MyRolePartnerRoleNull/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/MyRolePartnerRoleNull/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/MyRolePartnerRoleNull/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/MyRolePartnerRoleNull/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkHasBothAttr/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkHasBothAttr/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkHasBothAttr/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkHasBothAttr/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkHasBothAttr/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkNoMatchingType/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkNoMatchingType/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkNoMatchingType/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkNoMatchingType/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkNoMatchingType/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/java/ClassNotFoundException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/java/ContributionResolveException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/CouldNotLocateOSGiBundle/OSGiTestService.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/CouldNotLocateOSGiBundle/osgitest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/OSGiTestService.jar create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/MissingComponentTypeFile/osgitest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/OSGiTestService.jar create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/osgi/PropertyShouldSpecifySR/osgitest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/resource/CouldNotResolveLocation/resource.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/resource/LocationAttributeMissing/resource.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/spring/ContributionResolveException/SpringHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/spring/LocationAttributeMissing/SpringHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/spring/UnableToResolveComponentType/SpringHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/spring/UnableToResolveComponentType/SpringHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/spring/UnableToResolveComponentType/TestHelloWorldBean.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/widget/CouldNotResolveLocation/widget.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/widget/LocationAttributeMissing/widget.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/xquery/CouldNotLocateFile/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/impl/xquery/LocationAttributeMissing/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacejava/xml/ClassNotFoundException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacejava/xml/ClassNotFoundException/CalculatorServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacejava/xml/ContributionResolveException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacejava/xml/ContributionResolveException/CalculatorServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacewsdl/xml/InvalidWSDLInterfaceAttr/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacewsdl/xml/InvalidWSDLInterfaceAttr/helloworld-interface.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacewsdl/xml/InvalidWSDLInterfaceAttr/helloworld-service.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacewsdl/xml/WsdlInterfaceDoesNotMatch/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/interfacewsdl/xml/WsdlInterfaceDoesNotMatch/helloworldwsjms.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/security/ClassNotFoundException/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/security/ClassNotFoundException/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/security/RequiredAttributeRolesMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/security/RequiredAttributeRolesMissing/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/AlwaysProvidedIntentNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/AlwaysProvidedIntentNotFound/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/ErrorInPolicyIntentDefinition/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/ErrorInPolicyIntentDefinition/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/IntentNotSpecified/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/IntentNotSpecified/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/MayProvideIntentNotFound/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/MayProvideIntentNotFound/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/RequiredAttributeMissing/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/RequiredAttributeMissing/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/UnableToMapPolicies/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/UnableToMapPolicies/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/UnrecognizedIntentAttachPointType/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/main/resources/policy/xml/UnrecognizedIntentAttachPointType/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/ContributionReadException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/PolicyImplValidationException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/PolicyServiceValidationException.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/UnexpectedBindingElement.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/UnexpectedImplementationElement.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/assembly/xml/UnexpectedInterfaceElement.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessActivationSpecTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessDestinationTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessHeadersTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessResourceAdapterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessResponseActivationSpecTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessResponseConnectionFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/DoesntProcessResponseDestinationTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/InvalidCorrelationSchemeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/InvalidResponseDestinationTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/MissingActivationSpecNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/MissingConnectionFactoryNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/MissingResponseActivationSpecTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/MissingResponseConnectionFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/MustStartWithSchemaTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/UnexpectedElementTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/UnexpectedResponseElementTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/jms/UnknownTokenInURITestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/wsxml/InvalidWsdlElementAttrTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/wsxml/MustUseWsdlBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/wsxml/WsdlBindingDoesNotMatchTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/binding/wsxml/WsdlServiceDoesNotMatchTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ComponentReferenceTargetNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/DuplicateComponentNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/DuplicateImplementationPropertyNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/DuplicateImplementationReferenceNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/DuplicatePropertyNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/DuplicateReferenceNameTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/MultipleBindingsForServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/NoComponentImplementationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/NoCompositeNamespaceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/NoMatchingBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PromotedReferenceNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PromotedServiceNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PropertyAttributeMustSupplyNullTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PropertyAttributeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PropertyNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/PropertyOverrideManyAttributeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleComponentInterfaceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleInterfaceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleMultiplicityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ReferenceNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ReferenceWithoutTargetsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/ServiceNotFoundForComponentServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/UnresolvedComponentImplementationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/calculator/warning/XSDValidationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/contribution/java/AttributePackageMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/contribution/namespace/AttributeNameSpaceMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/contribution/resource/AttributeURIMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/contribution/xml/AttributeCompositeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/domain/CustomCompositeBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/AttributeUnrecognizedNamespaceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/AttributeWithoutNamespaceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/BPELProcessNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/CannotResolveWSDLReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/MyRolePartnerRoleNullTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/PartnerLinkHasBothAttrTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/PartnerLinkNoMatchingTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/bpel/PartnerLinkTypeNoRolesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/java/ClassNotFoundExceptionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/java/ContributionResolveExceptionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/osgi/CouldNotLocateOSGiBundleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/osgi/MissingComponentTypeFileTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/osgi/OSGiTestBundles.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/osgi/PropertyShouldSpecifySRTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/resource/CouldNotResolveLocationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/resource/LocationAttributeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/spring/ContributionResolveExceptionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/spring/LocationAttributeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/spring/UnableToResolveComponentTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/widget/CouldNotResolveLocationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/widget/LocationAttributeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/xquery/CouldNotLocateFileTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/impl/xquery/LocationAttributeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/interfacejava/xml/ClassNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/interfacejava/xml/ContributionResolveExceptionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/interfacewsdl/xml/InvalidWSDLInterfaceAttrTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/interfacewsdl/xml/WsdlInterfaceDoesNotMatchTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/AlwaysProvidedIntentNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/ErrorInPolicyIntentDefinitionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/IntentNotSpecifiedTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/MayProvideIntentNotFoundTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/RequiredAttributeMissingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/UnableToMapPoliciesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/validation/src/test/java/policy/xml/UnrecognizedIntentAttachPointTypeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wasAdmin.py create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/main/java/org/apache/tuscany/sca/itest/WireClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/main/java/org/apache/tuscany/sca/itest/WireClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/main/java/org/apache/tuscany/sca/itest/WireService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/main/java/org/apache/tuscany/sca/itest/WireServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/main/resources/WireTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wires/src/test/java/org/apache/tuscany/sca/itest/WireTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/java/voidtest/Bean.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/java/voidtest/TestClient.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/java/voidtest/TestClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/main/resources/voidtest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/ws-void-args-return/src/test/java/voidtest/VoidArgsReturnTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldCallback.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/resources/auto-wsdl.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/resources/manual-wsdl.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldCallback.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/AutoWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/ManualWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/resources/SDOWSDLTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/resources/WSDLTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/resources/wsdl/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl2java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl2java/src/test/resources/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl2java/src/test/resources/EchoService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl2java/src/test/resources/EchoService.xsd create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdl2java/src/test/resources/StockExceptionTest.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/SDOWSDLTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/WSDLTest.composite create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConfiguredOperationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/Constants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/DefaultBeanModelProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/PolicyAttachPointProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/BuildPolicyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadAllTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolvePolicyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorComponent.constrainingType create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/JavaScriptReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/NestedCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/RMIBindingTest.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllDivide.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllPolicyCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/another_test_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/test_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-all.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-binding-ejb.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-binding-jms.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-binding-sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-binding-webservice.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-core.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-definitions.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-bpel.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-composite.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-ejb.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-java.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-implementation-spring.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-interface-java.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-interface-wsdl.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca-policy.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-atom.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-dwr.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-http.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jsonrpc.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-notification.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rmi.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rss.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-data-helper.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-das.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-data-xml.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-node.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-notification.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-osgi.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-resource.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-script.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-widget.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-xquery.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractContract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AssemblyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Callback.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Component.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentProperty.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Composite.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConstrainingType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Contract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultAssemblyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultEndpointFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Multiplicity.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OptimizableBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Property.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Reference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Service.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Wire.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ComponentPreProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultEndpointBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DomainBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/EndpointBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BindingConfigurationUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentConfigurationBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceWireBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePolicyBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/EndpointBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PropertyConfigurationUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AssemblyFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/BaseImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentPropertyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConstrainingTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ContractImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ExtensibleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/PropertyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/WireImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.EndpointFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/resources/assembly-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/main/resources/assembly-validation-messages_it.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/AssemblyFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterfaceContract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestOperation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtilTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/Collection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/MediaCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/NotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Consumer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Provider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Consumer.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Provider.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/exceptions/CorbaException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/exceptions/RequestConfigurationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/NodeType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTree.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeCreator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeNode.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ArrayTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/BooleanTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ByteTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/CharTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/DoubleTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/FloatTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/IntTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/LongTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ReferenceTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/SequenceTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ShortTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StringTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StructTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelpersProxy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DivArguments.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DivByZeroException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NotSupportedException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/resources/exceptions.idl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/resources/general_tests.idl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-corba/src/test/resources/references.idl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ClassLoadingUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/DynamicStubClassLoader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ObjectInputStreamExt.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/StubMethodInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/UtilInitializer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBLocator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBStubHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/InterfaceInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/JavaReflectionAdapter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/MethodInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/NamingEndpoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/main/resources/binding-ejb-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/account/BankManagerFacade.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/account/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/account/CustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/calculator/AddServiceHome.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacade.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeHome.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/EJBReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/MockServer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/SocketTracer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb-runtime/src/test/resources/account/account.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ejb.EJBBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ejb/src/main/resources/binding-ejb-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPGetListenerServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceListenerServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestGetImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/test/resources/content/test.html create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http-runtime/src/test/resources/test.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.http.HTTPBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/ObjectMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/TextMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceQueueCreateModeTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceQueueCreateModeTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/resources/simple/client.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jms/src/test/resources/simple/service.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JavaToSmd.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/main/resources/org/apache/tuscany/sca/binding/jsonrpc/jsonrpc.js create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/Echo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/EchoComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc-runtime/src/test/resources/JSONRPCBinding.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBindingActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIReferenceInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIReferenceInvokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/java/helloworld/HelloWorldRmiImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/java/helloworld/HelloWorldRmiService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/java/org/apache/tuscany/sca/binding/rmi/BindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/resources/HelloWorldImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/resources/HelloWorldRmiImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rmi/src/test/resources/RMIBindingTest.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/MediaCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/NotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingListenerServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Consumer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Provider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldCallbackRemote.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackOnewayRemote.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackRemote.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceLocal.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote2.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackOnewayRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientLocalImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemote2Impl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackOnewayRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceLocalImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceMultipleServicesImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceRemoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeA/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeB/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeB/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorldComponent.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeC/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorldComponent.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeD/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeE/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeE/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeF/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeF/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeG/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeG/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeH/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-axis2/src/test/resources/nodeH/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/test/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca-xml/src/test/resources/CalculatorServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/DistributedSCABinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/DistributedSCABindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-sca/src/test/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2OneWayBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInMessageReceiver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInOutSyncMessageReceiver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/AxisPolicyHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyAxisConfigurator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyDispatcher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListingAgent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/modules.list create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.3.mar create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/services/services.list create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Greeter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/GreetingCallback.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Account.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Bar.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/CustomerProfileData.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Echo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Foo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldMultiService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM2.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldWSDLMergedTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLImportTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLIncludeTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/UriPrecedenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/AbstractHelloWorldOMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURITestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURITestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/AbstractHelloWorldOMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ClientPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/IntegrityPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ServerPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthenticationTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/AbstractHelloWorldOMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ClientPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/IntegrityPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ServerPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixedTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/AbstractHelloWorldOMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ClientPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/IntegrityPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ServerPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthenticationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/QuestionMarkWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdata.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiService.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleService.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURI.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURI.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/helloworld-om-relative-uri.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-binding.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-porttype.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-uri.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentiality.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrity.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixed.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/tuscanyKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentiality.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrity.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-include.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/EndPointReferenceHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/main/resources/binding-wsxml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator-bad-wsdlElement.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/CalculatorImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/PoliciedCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/example.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/invalid-stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test2.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/unwrapped-stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/DefaultWebServiceBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/addressing/EndPointReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/binding-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/FolderContributionProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/JarContributionProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionRepositoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/PackageTypeDescriberImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/FileHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/IOHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/main/resources/contribution-impl-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/FolderContributionPackageProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/JarContributionPackageProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionRepositoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/PackageTypeDescriberImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/resources/deployables/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/resources/test.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-impl/src/test/resources/test.ext create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/DefaultJavaImportExportFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaExport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImportExportFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceArtifactResolverTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-java/src/test/resources/deployables/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/BundleReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleContributionProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiImportExportListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiModelResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImportExportFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/test/resources/HelloComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionGeneratedMetadataDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Artifact.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContentType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Contribution.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionMetadata.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultContributionFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultModelFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DeployedArtifact.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Export.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Import.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ModelFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/PackageType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionMetadataImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultPackageProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidatingXMLInputFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensiblePackageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLInputFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidationSchemaExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ClassReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultDelegatingModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportAllModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResolverExtension.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResourceReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScannerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListenerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionReadException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRepository.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionResolveException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRuntimeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionWriteException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/DefaultContributionListenerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ExtensibleContributionListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/TypeDescriber.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnrecognizedElementException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedContentTypeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedPackageTypeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/contribution/src/main/resources/contribution-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Array2ArrayTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReference2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceXMLAdapter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Exception2ExceptionTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Input2InputTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Output2OutputTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/XMLStreamReader2CallableReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataTransformationInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/transformers/IDLTransformerTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/doc/Context Model.emx create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/core/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/core/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/core/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/core/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ActivationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointWireImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParameterProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParametersImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeAssemblyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/InstanceWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManagerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationState.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/BaseEventPublisher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStart.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStop.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationEnd.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationStart.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionEnd.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionStart.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestEnd.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestStart.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectCreationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallableReferenceObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackWireObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/DefaultProxyFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleProxyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleWireProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/InvocationChainImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKProxyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NoMethodForOperationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseSorter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyCreationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactoryExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/TargetInvocationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/WireObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/Scope.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedRuntimeComponent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetDestructionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetInitializationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetResolutionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/store/MemoryStore.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237Work.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkEventImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkItemImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.conversation.ConversationManager create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.invocation.MessageFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/event/BaseEventPublisherTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/event/EventTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseManagerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseSorterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/store/MemoryStoreTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/InvocationChainImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/NonBlockingInterceptorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/FailingWork.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyFailingRunnable.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnable.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnerListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/Jsr237WorkSchedulerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TestWorkListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManagerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TimeDelayWork.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/java/org/apache/tuscany/sca/scope/ScopeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/core/src/test/resources/META-INF/services/org.apache.tuscany.sca.invocation.PhaseTest create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Collection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Entry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Item.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/ItemCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/LocalItemCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/NotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Item.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/ItemCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/LocalItemCollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/NotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/ConnectionInfoArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngine.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngineManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/MissingConfigFileException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/config/ConnectionInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/config/ConnectionProperties.java create mode 100644 sandbox/sebastien/java/sca-node/modules/data-engine-helper/src/main/resources/dataengine-helper-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Exception2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Externalizable2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Exception.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Externalizable.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Object.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElementWrapperHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Object2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/String2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/XMLStreamReader2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/test/java/org/apache/tuscany/sca/databinding/axiom/OMElementTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/test/resources/ipo.xml create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-axiom/src/test/resources/order.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/Node2FastInfoset.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLInputStream2FastInfoset.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLStreamReader2FastInfoset.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/test/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfosetTransformerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-fastinfoset/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXBDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDSContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStreamWriterWithOS.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/JAXB2OMTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/OMElement2JAXBTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb-axiom/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/BeanXMLStreamReaderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DataConverter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DefaultXMLAdapterExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCache.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBPropertyDescriptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Node2JAXB.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Reader2JAXB.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/String2JAXB.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLAdapterExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLRootElementUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLStreamReader2JAXB.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/com/example/stock/StockQuoteOffer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBContextCacheTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBReflectionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyInterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MySubBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-jaxb/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExceptionHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/test/resources/ipo.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-job/src/test/resources/order.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2JavaBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSON.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/POJOTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-json/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/DataObject2NodeInfoTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Node2NodeInfoTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2DataObjectTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2NodeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Object2ValueTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonDataBindingHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonNodeDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonValueDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SimpleType2ValueTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2ObjectTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2SimpleTypeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElementTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/SDOTransformerTestCaseBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElementTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo-axiom/src/test/resources/stock.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDO.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/Node2DataObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOSimpleTypeMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/String2DataObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2DataObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2XMLDocument.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/main/resources/databinding-sdo-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2NodeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2StringTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDODataBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOTransformerTestCaseBase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandlerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/ipo.xsd create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/model/sca-core.xsd create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/stock.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/wrapper.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-sdo/src/test/resources/wrapper.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/DISCLAIMER create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/Node2XmlObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLStreamReader2XmlObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/test/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObjectTestCase.java create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/test/resources/ipo.xsd create mode 100755 sandbox/sebastien/java/sca-node/modules/databinding-xmlbeans/src/test/resources/ipo.xsdconfig create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/test/resources/ipo.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/test/resources/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding-xstream/src/test/resources/order.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBindingExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipe.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Mediator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PushTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/SimpleTypeMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Transformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformerExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/ExternalizableDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DirectedGraph.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Group2GroupTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/GroupDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/PipedTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/TransformationContextImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/DOMNode2JavaBeanTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/Java2XMLMapperException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2DOMNodeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLStreamReaderTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/SimpleJavaDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaBeanTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaMapperException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/DataTypeHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/LRUCache.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXmlNodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DelegatingNamespaceContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValueArrayStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValuePairStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NamedProperty.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NilElementStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2OutputStream.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SimpleJavaType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SourceTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2Writer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOM.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOMPipe.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleJavaType2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleXmlNodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2NodeTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2ResultTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2StringTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAX2SAXAdapter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAXDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAXHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StreamDataPipe.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2SourceTransformer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2XMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/WrappingXMLStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Writer2ReaderDataPipe.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLDocumentStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLFragmentStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLFragmentStreamReaderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLGroupDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2Node.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2SAX.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2String.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamSerializer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamable.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStringDataBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlNode.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlNodeIterator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlTreeStreamReaderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/DOMHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/DataBindingExtensionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/SimpleTypeMapperExtensionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/XSDDataTypeConverterTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DataBindingRegistryImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DataBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/XMLDocumentStreamReaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/DOM2StAXTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/DataPipeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/JavaBean2XMLStreamReaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/Node2StringTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/PushTransformationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/StAXHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/TraxTransformerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/XmlTreeStreamReaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/impl/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/impl/order.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/xml/foo.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/main/resources/definitions-xml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/Policy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/ReadDocumentTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/TestPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitions.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilderException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/SCADefinitionsImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/DomainException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomainFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/launch/SCADomainControllerLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/ContributionInfoImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/DomainInfoImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/NodeInfoImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/CompositeModelImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/ContributionModelImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/DomainModelFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/DomainModelImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/ServiceModelImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/domain.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/webroot/binding-jsonrpc.js create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/webroot/domain.png create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/webroot/index.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/webroot/node.png create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/main/resources/webroot/style.css create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCaseOFF.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/TestCallableReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/TestNodeManagerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/resources/nodeA/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-impl/src/test/resources/nodeB/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeGeneratorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployableCompositeCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployableCompositeServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployedCompositeCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerConfiguration.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerConfigurationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/FileCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/FileServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/NodeConfigurationServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/NodeProcessCollectionFacadeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/QuickStartServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/launcher/DomainManagerLauncherBootstrap.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/DomainManager.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/cloud.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/composite.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/files.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/home.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/icons/feed-icon.png create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/manager.css create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/utils.js create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/main/resources/workspace.html create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/test/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/test/resources/contributions/assets/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/test/resources/contributions/store/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain-manager/src/test/resources/workspace.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/management/ContributionInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/management/DomainInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/management/NodeInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/management/SCADomainManagerInitService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/management/SCADomainManagerService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/CompositeModel.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/ContributionModel.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/DomainModel.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/DomainModelFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/ServiceModel.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/spi/SCADomainAPIService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/spi/SCADomainEventService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/domain/src/main/java/org/apache/tuscany/sca/domain/spi/SCADomainSPI.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/main/java/org/apache/tuscany/sca/endpoint/impl/EndpointResolverFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/main/java/org/apache/tuscany/sca/endpoint/impl/EndpointResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/java/org/apace/tuscany/sca/binding/sca/EndpointTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/endpoint/src/test/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ModuleActivatorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/UtilityExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDeclaration.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/extensibility/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.UtilityExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/BindingActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/ComponentLifecycle.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/ImplementationActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/InvokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingSCDLProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/DiscoveryUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/ImplementationImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/ImplementationsActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/PojoBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/PojoImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/SCDLProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractBinding.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractStAXArtifactProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/DefaultPropertyValueObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/DynamicImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/PropertyValueObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/ResourceHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/extension-helper/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/DefaultEJBHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBRegistrationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBSessionBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/ExtensibleEJBHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.ejb.EJBHostExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomainBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ComponentManagerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/HotUpdatableSCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/management/ComponentListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/management/ComponentManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/SCADomainBeanTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/SCADomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomainTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/DefaultTestImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/impl/TestImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/impl/TestImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/module/TestModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/resources/test.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/host-embedded/src/test/resources/test.txt create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyLogger.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyServer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/test/java/org/apache/tuscany/sca/http/jetty/JettyServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-jetty/src/test/resources/content/test.html create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/src/main/java/org/apache/tuscany/sca/host/openejb/OpenEJBRuntimeModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/src/main/java/org/apache/tuscany/sca/host/openejb/OpenEJBServer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-openejb/src/test/java/org/apache/tuscany/sca/host/openejb/OpenEJBServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-osgi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-osgi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-osgi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-osgi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/ExtensibleRMIHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostRuntimeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/ServletWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatServer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/test/java/org/apache/tuscany/sca/http/tomcat/TomcatServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-tomcat/src/test/resources/content/test.html create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/src/main/java/org/apache/tuscany/sca/host/webapp/junit/JUnitServletFilter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp-junit/src/main/java/org/apache/tuscany/sca/host/webapp/junit/XMLFormatter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/HotUpdateContextListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/SCADomainHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyContextListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServletFilter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebSCADomain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/jsp/ReferenceTEI.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/jsp/ReferenceTag.java create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/resources/META-INF/sca.tld create mode 100644 sandbox/sebastien/java/sca-node/modules/host-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/BPELODEDeployFile.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEExternalService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyEPR.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyPRC.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/java/org/apache/tuscany/sca/implementation/bpel/EmbeddedODEServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/resources/helloworld/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/resources/helloworld/greetings.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel-ode/src/test/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/DefaultBPELFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImportElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkTypeElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.bpel.BPELFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/main/resources/impl-bpel-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/README create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/build.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/company.sql create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/Constants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DAS.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DefaultDASImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/annotations/Command.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/main/resources/impl-das-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/DASImplementationProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/DASTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/company/CompanyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/company/CompanyServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/resources/company.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/resources/company.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/resources/company.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-das/src/test/resources/das.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/README create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/build.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/company.sql create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATA.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATACollection.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/JDBCHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/JDBCResultSetStreamReader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/ResultSetXmlNodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATACollectionTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATAImplementationProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATATestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/companyFeed/CompanyFeed.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/companyFeed/CompanyFeedTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/resources/data-feed.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/resources/data.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/resources/insert.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-data-xml/src/test/resources/update.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/test/java/org/apache/tuscany/sca/implementation/ejb/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/test/java/org/apache/tuscany/sca/implementation/ejb/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-ejb/src/test/resources/org/apache/tuscany/sca/implementation/ejb/xml/TestEJB.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/InstanceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/InstanceFactoryProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ArrayMultiplicityObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ContextInjector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/FieldInjector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/InjectionRuntimeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/Injector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/InvalidAccessorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ListMultiplicityObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/MethodInjector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/RequestContextObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceResolutionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/EventInvocationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/EventInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/InvalidConversationSequenceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaCallbackRuntimeWireProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentNameFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaInstanceFactoryProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/MethodEventInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/NoConversationalContractException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/context/MultiplicityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceWrapperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/CallbackWireObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/FieldInjectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/MethodEventInvokerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/MethodInjectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/RequestContextObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/ResourceObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/SingletonObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/SingletonObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/TestObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/TestObjectFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Bean1.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Bean2.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Entry.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/JavaIntrospectionHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/SuperBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/main/resources/impl-javaxml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/BaseJavaImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/DefaultJavaImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/IntrospectionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/BaseJavaImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaConstructorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaParameterImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaResourceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaScopeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/JavaClassVisitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AllowsPassByReferenceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AmbiguousConstructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/BaseJavaClassVisitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ComponentNameProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ContextProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationIDProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DestroyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateConstructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateDestructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateInitException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicatePropertyException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateReferenceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateResourceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/EagerInitProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalCallbackReferenceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalContextException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalDestructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalInitException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalPropertyException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalReferenceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalResourceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalServiceDefinitionException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InitProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidConstructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidConversationalImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidPropertyException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidReferenceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidResourceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidServiceType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/NoConstructorException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/Resource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ResourceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ScopeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceTypeNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/UnknownContextTypeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractProcessorTest.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AllowsPassByReferenceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorPropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorResourceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ContextProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationIDProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConvertTimeMillisTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DestroyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/EagerInitProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicAndPropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicConstructorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeutisticExtensibleConstructorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InitProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaClassIntrospectorImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ModelHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ResourceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ScopeProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceCallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/PingServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppRequestDispatcher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/test/java/org/apache/tuscany/sca/implementation/node/NodeImplementationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/test/resources/TestComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node-runtime/src/test/resources/TestNode.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/README create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/test/java/sample/Abc.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/test/java/sample/Message.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/test/java/sample/MyObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/src/test/resources/openjpa.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/db.lck create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/log/log.ctrl create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/log/log1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/log/logmirror.ctrl create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c10.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c101.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c111.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c121.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c130.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c141.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c150.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c161.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c171.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c180.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c191.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1a1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1b1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1c0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1d1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1e0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c1f1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c20.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c200.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c211.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c221.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c230.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c241.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c251.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c260.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c271.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c281.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c290.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2a1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2b1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2c1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2d0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2e1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c2f0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c300.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c31.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c311.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c320.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c331.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c41.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c51.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c60.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c71.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c81.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/c90.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/ca1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/cb1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/cc0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/cd1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/ce1.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/seg0/cf0.dat create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-openjpa/test/service.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementationInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiPropertyInjector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiPropertyValueObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiRemotableInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/main/resources/impl-osgi-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiPropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestBundles.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestWithPropertyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/resources/OSGiTestService.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/resources/osgiproptest.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-osgi/src/test/resources/osgitest.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/GetResourceInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/test/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/test/resources/content/test.html create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource-runtime/src/test/resources/resource.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/Resource.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-resource/src/main/resources/impl-resource-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptImplementationActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/AbstractSCATestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/AbstractHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptDynamicRefTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/AbstractHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/GroovyHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/HelloWorldProxy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JRubyHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScripInlineHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScriptHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JythonHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/AbstractHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/GroovyHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/HelloWorldProxy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JRubyHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JavaScriptHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JythonHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/GroovyReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/HelloWorldTarget.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JRubyReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JavaScriptReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JythonReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptDynamicRef.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/helloworld.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/helloworldProxy.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/GroovyHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JRubyHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScripInlineHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScriptHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JythonHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.groovy create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.py create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.rb create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/GroovyHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JRubyHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JavaScriptHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JythonHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.groovy create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.py create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.rb create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/GroovyReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JRubyReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JavaScriptReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JythonReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.groovy create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.py create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.rb create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCAApplicationContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCANamespaceHandlerResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCAParentApplicationContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringBeanNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringInvocationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringOperationNotFoundException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanIntrospector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringPropertyElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAPropertyElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAReferenceElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAServiceElement.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringXMLComponentTypeLoader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/META-INF/spring.handlers create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/META-INF/spring.schemas create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/impl-spring-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/AbstractSCATestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorldProxy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestBeanImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestHelloWorldBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestReferenceBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestSCAPropertyBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/SpringSCAProperty-context.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringHelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImplicitReference.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringSCAProperty.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-spring/src/test/resources/test.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebSingleton.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/taglib/ReferenceTEI.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/taglib/ReferenceTag.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/resources/META-INF/sca.tld create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetProxyHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/resources/binding-atom.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/resources/binding-http.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/main/resources/binding-jsonrpc.js create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/java/store/Catalog.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/resources/content/store.html create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget-runtime/src/test/resources/widget.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/Widget.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationIntrospector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryInvokationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/impl/XQueryImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/impl/XQueryImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/implementation-xquery/src/main/resources/impl-xquery-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/BaseBeanGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/CodeGenerationHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/FaultBeanGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/GeneratedClassLoader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/GeneratedDataTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/WrapperBeanGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/FaultBeanGeneratorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JavaReflectionHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/TestGenericClass.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/TestInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/WrapperBeanGeneratorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/resources/wsdl/Stock.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/main/resources/interface-javaxml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/CalculatorComponent.constrainingType create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/CalculatorImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterfaceContract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterfaceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaOperation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceContractImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaOperationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/PolicyJavaInterfaceVisitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/introspect/JavaInterfaceVisitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtilDuplicateRemotableTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtilTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/ConversationalIntrospectionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/PolicyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Interface2WSDLGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/WSDLDefinitionGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/java2wsdl/Java2WSDLHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/TestException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/TestFault.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/TestFaultBean.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/TestJavaClass.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/TestJavaInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Java2WSDLGeneratorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-java2wsdl/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/java2wsdl/Java2WSDLHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/BPELExtensionHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/BPELPartnerLinkTypeExt.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/main/resources/interface-wsdlxml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/AbstractWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLInterfaceIntrospectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationIntrospectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLPolicyAnnotatedInterfaceIntrospectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/ReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLDocumentProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WriteTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XMLDocumentHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/CalculatorComponent.constrainingType create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/CalculatorImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/example.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/invalid-stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/ipo.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test1.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test1.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test2.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/unwrapped-stockquote.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/policy/stockquote_policy.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/wsdl/helloworld-interface.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/wsdl/helloworld-service.wsdl create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/xsd/greeting.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/xsd/helloworld.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl-xml/src/test/resources/xsd/name.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/DefaultWSDLFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLDefinition.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterfaceContract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLObject.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLOperation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/InvalidWSDLException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLDefinitionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceContractImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLObjectImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface-wsdl/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/ConversationSequence.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/DataType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/IncompatibleInterfaceContractException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Interface.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InterfaceContract.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InterfaceContractMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidCallbackException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidInterfaceException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidOperationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/OverloadedOperationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/ElementInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/TypeInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/XMLType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.InterfaceContractMapper create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/ContractCompatibilityTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultLoggingMonitorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/impl/MonitorFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/test/resources/tuscany-monitor-test-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor-logging/src/test/resources/tuscany-monitor-test-messages_it.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Problem.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainAccess.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainFinder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/ComponentInfoImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/ComponentManagerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainAPIServiceProxyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainFinderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/launch/SCANodeLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/impl/SCANodeManagerServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/resources/node.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/resources/webroot/index.html create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/resources/webroot/node.png create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/main/resources/webroot/style.css create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/AddServiceUpdateImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCaseOFF.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCaseOFF.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeMemoryTestCaseOFF.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/StandaloneNodeTestCaseOFF.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/calculatordependent/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/calculatordependent/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/calculatorprimary/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/calculatorprimary/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/nodeA/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/nodeB/META-INF/sca-deployables/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/nodeC/META-INF/sca-deployables/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node-impl/src/test/resources/nodeD/META-INF/sca-deployables/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/modules/node/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/management/SCANodeManagerInitService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/management/SCANodeManagerService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/ComponentInfo.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/ComponentListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/ComponentManager.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/ComponentManagerService.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/NodeFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/NodeFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/SCADomainProxySPI.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node/src/main/java/org/apache/tuscany/sca/node/spi/SCANodeSPI.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher-webapp/src/main/webapp/index.jsp create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/LauncherException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeMain.java create mode 100644 sandbox/sebastien/java/sca-node/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingImplementationPolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingReferencePolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingServicePolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/policy/logging/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/test/java/org/apache/tuscany/sca/policy/logging/jdk/PolicyReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-logging/src/test/resources/org/apache/tuscany/sca/policy/logging/jdk/mock_policies.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JSR250Activator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JSR250PolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-jsr250/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessorTestCaseFIXME.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/test/java/org/apache/tuscany/sca/policy/security/ws/PolicyReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security-ws/src/test/resources/org/apache/tuscany/sca/policy/security/ws/mock_policies.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationImplementationPolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/tuscany_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/main/resources/policy-security-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-security/src/test/resources/org/apache/tuscany/sca/policy/security/mock_policy_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/IncompatibleIntentException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionImplementationPolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionIntent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionInterceptor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionModuleActivator.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionReferencePolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionServicePolicyProvider.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionalAction.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/TestModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/WSPolicyProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyConstants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ProfileIntentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/QualifiedIntentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SimpleIntentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultIntentAttachPointTypeFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointType.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointTypeFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Policy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetAttachPoint.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ProfileIntent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/QualifiedIntent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentAttachPointTypeFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyContextImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetReferenceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ProfileIntentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifiedIntentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerDefinitionsLoader.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerTuple.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.PolicyFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/policy/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-standalone/src/test/resources/repo/tuscany.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-tomcat/src/test/resources/content/test.html create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-war/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-war/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-war/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime-war/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/CallableReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/ComponentContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/Constants.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/Conversation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/ConversationEndedException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/NoRegisteredCallbackException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/RequestContext.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/ServiceReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/ServiceRuntimeException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/ServiceUnavailableException.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/AllowsPassByReference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Authentication.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Callback.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/ComponentName.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Confidentiality.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Constructor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Context.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/ConversationAttributes.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/ConversationID.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Conversational.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Destroy.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/EagerInit.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/EndsConversation.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Init.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Integrity.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Intent.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/OneWay.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/PolicySets.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Property.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Qualifier.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Reference.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Remotable.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Requires.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Scope.java create mode 100644 sandbox/sebastien/java/sca-node/modules/sca-api/src/main/java/org/osoa/sca/annotations/Service.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/scanner/impl/DirectoryContributionScanner.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/scanner/impl/JarContributionScanner.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/resources/workspace-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/main/resources/workspace-validation-messages_it.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-impl/src/test/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/src/main/resources/workspace-xml-validation-messages.properties create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace-xml/src/test/java/org/apache/tuscany/sca/workspace/xml/ContributionWorkspaceProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/DefaultWorkspaceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/Workspace.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/WorkspaceFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/builder/ContributionDependencyBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/workspace/src/main/resources/META-INF/services/org.apache.tuscany.sca.workspace.WorkspaceFactory create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XMLDocumentHelper.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/test/java/org/apache/tuscany/sca/xsd/xml/XMLDocumentHelperTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/test/resources/xsd/greeting.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd-xml/src/test/resources/xsd/name.xsd create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/DefaultXSDFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/XSDFactory.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/XSDefinition.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/impl/XSDFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/impl/XSDefinitionImpl.java create mode 100644 sandbox/sebastien/java/sca-node/modules/xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.xsd.XSDFactory create mode 100644 sandbox/sebastien/java/sca-node/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/EchoBinding.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/EchoBindingFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/EchoBindingInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/EchoBindingPoliciedInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/EchoBindingProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/EchoReferenceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/EchoServiceBindingProvider.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EchoBindingEncryptionPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EchoBindingEncryptionPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EchoBindingPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EchoBindingPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EncryptionPolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/EncryptionStrategy.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/PolicyHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/ReverseEncryptionStrategy.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/WSPolicy.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/provider/policy/WSPolicyProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/server/EchoServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/java/echo/server/EchoServiceListener.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/resources/META-INF/services/echo.EchoBindingFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/main/resources/sample-binding-echo.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/java/echo/Echo.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/java/echo/EchoComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/java/echo/EchoReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/java/echo/EchoServiceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/resources/EchoBinding.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo-extension/src/test/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/binding-echo.png create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/binding-echo.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/src/main/java/echo/Echo.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/src/main/java/echo/EchoBindingClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/src/main/java/echo/EchoComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/src/main/resources/EchoBinding.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-echo/src/test/java/echo/EchoBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/binding-notification-broker.png create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/java/notification/broker/TestCaseProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryConsumer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-broker/src/main/resources/wsdl/TrafficAdvisory.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/binding-notification-consumer.png create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryConsumer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/main/resources/wsdl/TrafficAdvisory.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-consumer/src/test/java/notification/consumer/TrafficAdvisoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/README create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/binding-notification-producer.png create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/java/notification/producer/TestCaseProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/main/resources/wsdl/TrafficAdvisory.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/binding-notification-producer/src/test/java/notification/producer/TrafficAdvisoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/calculator-distributed.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/calculator-distributed.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/cloud.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/domain.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/java/node/LaunchDomain.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/cloud/NodeA.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/cloud/NodeB.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/cloud/NodeC.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeA/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeA/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeB/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeB/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeC/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/main/resources/nodeC/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-distributed/workspace.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/calculator.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/calculator.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/security/CalculatorCallbackHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/security/JaasLoginModule.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/java/calculator/security/UserPrincipal.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/resources/CalculatorJass.config create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/resources/CalculatorLogMessages.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-implementation-policies/src/test/java/calculator/CalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/calculator-rmi-reference.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/calculator-rmi-reference.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/main/resources/CalculatorRMIReference.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/test/java/calculator/CalculatorRMIReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-reference/src/test/java/calculator/CalculatorRMIServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/calculator-rmi-service.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/calculator-rmi-service.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/CalculatorServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/main/resources/CalculatorRMIServer.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-rmi-service/src/test/java/calculator/CalculatorRMIServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/calculator-script.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/calculator-script.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/resources/calculator/AddServiceImpl.js create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/resources/calculator/DivideServiceImpl.groovy create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/resources/calculator/MultiplyServiceImpl.py create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/main/resources/calculator/SubtractServiceImpl.rb create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-script/src/test/java/calculator/CalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/calculator-web.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/calculator-web.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-webapp/src/main/webapp/calc.jsp create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/calculator-web.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/calculator-web.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ClientPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ServerPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/resources/calculatorKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/resources/security.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/geronimo-web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-secure-webapp/src/main/webapp/calc.jsp create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/calculator-web.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/calculator-web.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/webapp/WEB-INF/geronimo-web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator-ws-webapp/src/main/webapp/calc.jsp create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/README create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/calculator.png create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/calculator.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/main/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/calculator/src/test/java/calculator/CalculatorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/README create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/callback-ws-client.png create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/callback-ws-client.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/java/myapp/MyClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/java/myapp/MyClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/java/myserver/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/java/myserver/MyServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/main/resources/myapp.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-client/src/test/java/myapp/CallbackClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/README create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/callback-ws-service.png create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/callback-ws-service.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/java/myserver/CallbackServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/java/myserver/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/java/myserver/MyServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/java/myserver/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/main/resources/callbackws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/callback-ws-service/src/test/java/myserver/CallbackServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/chat-webapp.png create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/chat-webapp.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/java/sample/ChatService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/java/sample/ChatServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/resources/chat.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat-webapp/src/main/webapp/chat.html create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/java/sample/ChatCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/java/sample/ChatService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/java/sample/ChatServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/resources/chat.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/chat2-webapp/src/main/webapp/chat.html create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/README create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/databinding-echo.png create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/databinding-echo.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/ComponentAImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/ComponentBImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/Echo.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/EchoDataBindingClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/Interface1.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/java/dbecho/Interface2.java create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/resources/EchoDataBinding.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/main/resources/wsdl/echo.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/databinding-echo/src/test/java/dbecho/EchoDataBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/README create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/DistributeAndRunComponents.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/DistributeComponents.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/ListComponents.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/ListDependencies.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/ListDeployables.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/main/java/manager/WireComponents.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/java/services/Cart.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/java/services/Item.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/java/services/ShoppingCartClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/java/services/ShoppingCartImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/assembly/assets.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/assembly/client.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/assembly/store.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/assets/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/client/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/client/client.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/store/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-management/src/test/resources/store/store.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/java/node/DomainServer.java create mode 100755 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/resources/domain.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/resources/webroot/index.html create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/resources/webroot/node.png create mode 100644 sandbox/sebastien/java/sca-node/samples/domain-webapp/src/main/resources/webroot/style.css create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/feed-aggregator-webapp.png create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/feed-aggregator-webapp.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/java/feed/AggregatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/java/feed/Sort.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/java/feed/SortImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/resources/FeedAggregator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator-webapp/src/main/webapp/index.html create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/README create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/feed-aggregator.png create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/feed-aggregator.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/src/main/java/feed/AggregatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/src/main/java/feed/SampleServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/src/main/java/feed/Sort.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/src/main/java/feed/SortImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/feed-aggregator/src/main/resources/FeedAggregator.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/helloworld-bpel.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/helloworld-bpel.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/java/helloworld/BPELClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/main/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel-ws/src/test/java/helloworld/BPELHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/helloworld-bpel.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/helloworld-bpel.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/java/helloworld/BPELClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/deploy.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/helloworld.bpel create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/helloworld.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/main/resources/log4j.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-bpel/src/test/java/helloworld/BPELHelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/build-dojo.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/helloworld-jsonrpc.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/helloworld-jsonrpc.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/java/helloworldjsonrpc/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/java/helloworldjsonrpc/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/webapp/HelloWorldJSONRPC.html create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-dojo-webapp/src/main/webapp/style.css create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/java/helloworld/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/java/helloworld/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/webapp/META-INF/context.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/webapp/META-INF/sca-deployables/HelloWorld.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jms-webapp/src/main/webapp/hello.jsp create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/helloworld-jsonrpc.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/helloworld-jsonrpc.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/java/helloworldjsonrpc/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/java/helloworldjsonrpc/HelloWorldServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/resources/jsonrpc.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/webapp/HelloWorldJSONRPC.html create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-jsonrpc-webapp/src/main/webapp/style.css create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/helloworld-ws-reference.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/helloworld-ws-reference.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/java/helloworld/HelloWorldJmsClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/resources/helloworldjmsreference.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/resources/helloworldjmsservice.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/resources/logging.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-reference-jms/src/test/java/helloworld/HelloWorldJmsClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/helloworld-ws-service.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/helloworld-ws-service.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/resources/helloworldjmsservice.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCaseOff.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/src/main/resources/META-INF/sca-deployables/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-deep-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/helloworld-ws-reference.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/helloworld-ws-reference.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/java/helloworld/HelloWorldJmsClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/resources/helloworldwsjms.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/resources/helloworldwsjmsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/resources/logging.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-jms/src/test/java/helloworld/HelloWorldJmsClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/helloworld-ws-reference-secure.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/helloworld-ws-reference-secure.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/java/helloworld/ClientPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/java/helloworld/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/helloworldKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/helloworldwsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/logging.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/test/java/helloworld/HelloWorldClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference-secure/src/test/java/helloworld/HelloWorldTestServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/helloworld-ws-reference.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/helloworld-ws-reference.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/resources/logging.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/test/java/helloworld/HelloWorldClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-reference/src/test/java/helloworld/HelloWorldTestServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/helloworld-ws-sdo-webapp.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/helloworld-ws-sdo-webapp.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/webapp/HelloWorld.jsp create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/geronimo-web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/helloworld-ws-sdo.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/helloworld-ws-sdo.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServiceComponent.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/resources/helloworldwsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/resources/logging.properties create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldTestServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/helloworld-ws-service.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/helloworld-ws-service.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjmspolicy.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsPolicyServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/helloworld-ws-service-secure.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/helloworld-ws-service-secure.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/java/helloworld/ServerPWCBHandler.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/resources/helloworldKeys.jks create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/resources/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-secure/src/test/java/helloworld/HelloWorldServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/webapp/META-INF/sca-deployables/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/webapp/WEB-INF/geronimo-web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/README create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/helloworld-ws-service.png create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/helloworld-ws-service.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/main/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/main/java/helloworld/HelloWorldServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/main/java/helloworld/HelloWorldService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/main/resources/META-INF/sca-deployables/helloworldws.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/main/resources/wsdl/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/helloworld-ws-service/src/test/java/helloworld/HelloWorldServerTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/README create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/implementation-composite.png create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/implementation-composite.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/CompositeClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/Source.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/SourceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/SourceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/Target.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/java/composite/TargetImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/resources/InnerComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/resources/InnerComposite2.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/main/resources/OuterComposite.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-composite/src/test/java/composite/CompositeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/README create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/CRUD.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/CRUDImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/backend/ResourceManager.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/impl/CRUDImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/java/crud/provider/CRUDImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/resources/META-INF/services/crud.CRUDImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/main/resources/sample-implementation-crud.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/test/java/crud/CRUDTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud-extension/src/test/resources/crud.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/README create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/implementation-crud.png create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/implementation-crud.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/src/main/java/crud/client/CRUDClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/src/main/resources/crud.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-crud/src/test/java/crud/client/CRUDTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/README create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/implementation-notification.png create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/java/notification/TestCaseProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/java/notification/TrafficAdvisory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryConsumer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryProducer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/test/java/notification/TrafficAdvisoryTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/README create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/POJOImplementationFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationFactoryImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProvider.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/java/pojo/provider/POJOImplementationProviderFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/resources/META-INF/services/pojo.POJOImplementationFactory create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/main/resources/sample-implementation-pojo.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldImpl2.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/resources/helloworld/HelloWorldImpl2.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/implementation-pojo-extension/src/test/resources/helloworld/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanApplication.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanApplicationClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/java/loanapplication/LoanServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/main/resources/loanapplication.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/loanapplication/src/test/java/loanapplication/LoanApplicationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/README create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/build-bundles.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/osgi-supplychain.png create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/osgi-supplychain.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/Customer.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/DSCustomer.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/DSRetailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/DSShipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/DSWarehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/Retailer.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/Shipper.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/Warehouse.componentType create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Customer.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Customer.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Retailer.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Retailer.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Shipper.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Shipper.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Warehouse.mf create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/osgi/ds/Warehouse.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/osgi-supplychain/src/test/java/supplychain/SupplyChainClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/README create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/AvailQuoteProviderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/AvailQuoteProviderNodeInfo.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/AvailQuoteProviderService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/ExternalReferencesQuoteJoin.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/PriceQuoteProvider.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/PriceQuoteProviderImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/PriceQuoteProviderNodeInfo.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/PropertiesQuoteJoin.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteCalculator.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteCalculatorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteDataUtil.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteJoin.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteJoinLocal.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/QuoteJoinLocalImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/XQueryQuoteClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/java/xquery/quote/XQueryQuoteServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join.xq create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_properties.xq create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/AvailQuote.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/PriceQuote.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/Quote.xsd create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/quotejoin.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotews.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteTestServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/README create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/simple-bigbank-spring.png create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/simple-bigbank-spring.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/account/AccountReport.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/account/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/account/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/Account.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/AccountDataService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/CheckingAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/SavingsAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/accountdata/StockAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/client/BigBankClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/stockquote/StockQuoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/java/bigbank/stockquote/StockQuoteService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/resources/Account-spring-context.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/resources/BigBank.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/main/resources/StockQuote.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank-spring/src/test/java/bigbank/BigBankTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/README create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/simple-bigbank.png create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/simple-bigbank.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/account/AccountReport.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/account/AccountService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/account/AccountServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/Account.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/AccountDataService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/CheckingAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/SavingsAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/accountdata/StockAccount.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/client/BigBankClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/stockquote/StockQuoteImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/java/bigbank/stockquote/StockQuoteService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/resources/Account.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/resources/BigBank.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/main/resources/StockQuote.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-bigbank/src/test/java/bigbank/BigBankTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/README create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/simple-callback-ws.png create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/simple-callback-ws.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/MyClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/MyClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/java/simplecallback/SimpleCallbackClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/resources/simplecallback.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/main/resources/wsdl/simplecallback.wsdl create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback-ws/src/test/java/simplecallback/SimpleCallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/README create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/simple-callback.png create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/simple-callback.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/MyClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/MyClientImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/MyService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/MyServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/MyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/java/simplecallback/SimpleCallbackClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/main/resources/simplecallback.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/simple-callback/src/test/java/simplecallback/SimpleCallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementation.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementationActivator.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/main/java/sample/JavaInvoker.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/main/java/sample/JavaInvokerFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorld.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/spi-implementation-pojo/src/test/resources/helloworld/helloworld.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/store/README create mode 100644 sandbox/sebastien/java/sca-node/samples/store/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/store/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/launch/Launch.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/Cart.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/Catalog.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/CurrencyConverter.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/CurrencyConverterImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/FruitsCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/Item.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/ShoppingCartImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/java/services/Total.java create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/resources/store.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/store/src/main/resources/uiservices/store.html create mode 100644 sandbox/sebastien/java/sca-node/samples/store/store.png create mode 100644 sandbox/sebastien/java/sca-node/samples/store/store.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/README create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/CustomerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/Retailer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/RetailerComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/Shipper.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/ShipperComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/SupplyChainClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/Warehouse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/java/supplychain/WarehouseComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/main/resources/supplychain.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/src/test/java/supplychain/SupplyChainClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/supplychain.png create mode 100644 sandbox/sebastien/java/sca-node/samples/supplychain/supplychain.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/README create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/src/main/java/web/resource/SampleServer.java create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/src/main/resources/WebResource.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/src/main/resources/myContent/index.html create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/web-resource.png create mode 100644 sandbox/sebastien/java/sca-node/samples/web-resource/web-resource.svg create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/README create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/build.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByAreaCode.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByAreaCodeResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByCity.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByCityResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByState.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByStateResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByZIP.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/GetInfoByZIPResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/ObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/USZip.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/USZipSoap.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/uszip/package-info.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/ArrayOfWeatherData.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/GetWeatherByPlaceName.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/GetWeatherByPlaceNameResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/GetWeatherByZipCode.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/GetWeatherByZipCodeResponse.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/ObjectFactory.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/WeatherData.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/WeatherForecast.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/WeatherForecastSoap.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/WeatherForecasts.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/com/example/weather/package-info.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/location/LocationClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/location/USLocationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/weather/WeatherForecastClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/weather/WeatherForecastImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/zipcode/ZipCodeClient.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/zipcode/ZipCodeService.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/java/zipcode/ZipCodeServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/resources/USLocation.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/resources/WeatherForecast.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/main/resources/ZipCode.composite create mode 100644 sandbox/sebastien/java/sca-node/samples/zipcode-jaxws/src/test/java/zipcode/ZipCodeClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/.project create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/META-INF/MANIFEST.MF create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/build.properties create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/feature.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/features/feature/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/.classpath create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/.project create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/META-INF/MANIFEST.MF create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/build.properties create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/exsd/runtimeLibraries.exsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/icons/t.gif create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/icons/tuscany.gif create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchDomainManagerAction.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeFilter.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeShortcut.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/log/LogUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/plugin.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-all.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-contribution.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-core.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-definitions.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca-policy.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/.project create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/site.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDL.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorFactory.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/SchemaBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2OMBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLBuilder.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLConstants.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLOptionsValidator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanySchemaGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyTypeTable.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyWSDLTypesGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenEvent.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenListener.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/util/XMLNameUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/main/resources/META-INF/LICENSE.txt create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerValue.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerWithAccount.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/ExampleService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/account/Account.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/customer/Customer.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/extra/GoldCustomer.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/java/org/soapinterop/CreditScoreDocLit.java create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/resources/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/resources/CreditScoreDocLit.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/resources/interopdoc.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/java2wsdl/src/test/resources/sequences.xsd create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-ant-generator/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-ant-generator/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-ant-generator/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-ant-generator/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-ant-generator/src/main/java/org/apache/tuscany/sca/tools/ant/generator/plugin/AntGeneratorMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/README create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-dependency-lister/src/main/java/org/apache/tuscany/tools/sca/dependency/lister/plugin/DependencyListerMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-incremental-build/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-incremental-build/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-incremental-build/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-incremental-build/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-incremental-build/src/main/java/org/apache/tuscany/sca/tools/incremental/build/plugin/IncrementalBuildMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-java2wsdl/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-java2wsdl/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-java2wsdl/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-java2wsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/plugin/Java2WSDLGeneratorMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitGeneratorMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDL2JavaGeneratorMojo.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDLFileOption.java create mode 100644 sandbox/sebastien/java/sca-node/tools/maven/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/AssemblyInspector.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RuntimeInspector.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/AddService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/AddServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/CalculatorClient.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/CalculatorService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/CalculatorServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/DivideService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/DivideServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/MultiplyService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/MultiplyServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/SubtractService.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/calculator/SubtractServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tools/runtime-inspector/src/test/resources/Calculator.composite create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/DISCLAIMER create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/LICENSE create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/NOTICE create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceEmitter.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/RemotableInterfaceWritter.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingCodegenExtension.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingTypeMappingEntry.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/util/XMLNameUtil.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/resources/META-INF/LICENSE.txt create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/main/resources/RemotableInterfaceTemplate.xsl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/java/org/soapinterop/CreditScoreDocLit.java create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/AccountService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/AccountServiceWithFault.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/CreditScoreDocLit.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/helloworld.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/interopdoc.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tools/wsdl2java/src/test/resources/sequences.xsd create mode 100644 sandbox/sebastien/java/sca-node/tutorial/README create mode 100644 sandbox/sebastien/java/sca-node/tutorial/Tutorial.pdf create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/Cart.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/Catalog.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/CurrencyConverter.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/CurrencyConverterImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/FruitsCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/Item.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/ShoppingCartImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/Total.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/VegetablesCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/db/ShoppingCartTableImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/db/cart.sql create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/map/FruitsCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/market/MarketCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/services/merger/MergedCatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/tutorial.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/assets/uiservices/store.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/java/services/ejb/CatalogEJBHome.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/java/services/ejb/CatalogEJBRemote.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/java/services/ejb/Vegetable.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/java/services/ejb/VegetablesCatalogEJBSessionBean.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/resources/META-INF/ejb-jar.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/resources/META-INF/openejb-jar.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/resources/VegetablesCatalogEJB.componentType create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/main/resources/catalog-ejb.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/client/CatalogEJBClientTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/org/omg/stub/javax/ejb/_EJBHome_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/org/omg/stub/javax/ejb/_EJBObject_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/org/omg/stub/javax/ejb/_Handle_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/org/omg/stub/javax/ejb/_HomeHandle_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/services/ejb/_CatalogEJBHome_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-ejb/src/test/java/services/ejb/_CatalogEJBRemote_Stub.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-mediation/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-mediation/catalog-mediation.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-mediation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-mediation/services/mediation/VegetablesCatalogMediationImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-webapp/catalog-web.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-webapp/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-webapp/webapp/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-webapp/webapp/WEB-INF/web.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/catalog-webapp/webapp/catalog.jsp create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/CatalogEJBNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/CatalogMediationNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/CatalogWebAppNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/CatalogsNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/CurrencyNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreClientNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreDBNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreEUNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreMarketNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreMashupNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreMergerNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/cloud/StoreSupplierNode.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/domain.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchCatalogMediationNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchCatalogsNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchCurrencyNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreDBNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreEUNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreMarketNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreMashupNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreMergerNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchStoreSupplierNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/launch/LaunchTutorialDomainManager.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/domain/workspace.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/client/Shopper.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/client/ShopperImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/launch/LaunchStoreClientNode.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/services/Cart.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/services/Catalog.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/services/Item.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/services/Total.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-client/store-client.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-db/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-db/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-db/store-db.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-eu/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-eu/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-eu/store-eu.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-eu/uiservices/store-eu.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-market/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-market/build.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-market/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-market/store-market.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/build-openajax.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/gadget/map-gadget.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/gadget/store-gadget.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/map-gadget.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/mashup/store-mash.html create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/store-gadget.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-mashup/store-mashup.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-merger/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-merger/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-merger/store-merger.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-supplier/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-supplier/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-supplier/store-supplier.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-test/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-test/client/Shopper.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-test/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store-test/test/StoreSupplierTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/store/store.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/web-services/META-INF/sca-contribution.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/web-services/catalogs.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/web-services/currency.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/web-services/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/amazon/cart/AmazonCart.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/amazon/cart/AmazonCart.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/amazon/cart/AmazonCartImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/amazoncart.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/launch/LaunchAmazonCart.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/cart-amazon/test/AmazonCartTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/README create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/build.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/lib/AWS2007_05_14.jar create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/shoppingstore.png create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/server/ShoppingStoreServer.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartService.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreService.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/shoppingstore.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/wsdl/shoppingstore.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/CatalogClient.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/CatalogService.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/amazon/AmazonCatalogService.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/amazon/AmazonCatalogServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/ebay/EBayCatalogService.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/ebay/EBayCatalogServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/util/NamespaceContextImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/java/catalog/util/XPathHelper.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/resources/catalog.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/resources/wsdl/AWSECommerceService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/src/main/resources/wsdl/ShoppingService.wsdl create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/java/launch/LaunchCatalog.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/java/services/Catalog.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/java/services/CatalogImpl.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/java/services/CurrencyConverter.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/java/util/CreateDB.java create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/src/main/resources/store-catalog-database.composite create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/store-db/store.sql create mode 100644 sandbox/sebastien/java/sca-node/tutorial/www-services/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/main/resources/typefile.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/assembly/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/main/resources/property.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AnotherAServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/main/resources/ab.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/main/resources/scope.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/main/resources/service.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/main/resources/conversation.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/main/resources/exception.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/main/resources/callback.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/conversation/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/java-api/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/processcomments.rb create mode 100644 sandbox/sebastien/java/sca-node/vtest/utilities/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/pom.xml create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/aservice.wsdl create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/endpointreference.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/wsdlport.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/main/resources/wsdlservice.composite create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java create mode 100644 sandbox/sebastien/java/sca-node/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java (limited to 'sandbox/sebastien/java') diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/LICENSE b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/NOTICE b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/README b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/README new file mode 100644 index 0000000000..3ec27ef65f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/README @@ -0,0 +1,82 @@ +Apache Tuscany Alert Aggregator Demo +==================================== + +The alert aggregator demo provides an application, implemented using SCA, that +aggregates feeds together and exposes them using the following bindings. + +binding.ws +binding.jsonrpc +binding.feed + +The easiest way to get going is to build the demo + +cd alert-aggregator-webapp +ant package + +This will build a war file + +demo-alert-aggregator-webapp.war + +This war can be deployed to you web application container and tested (the war +has been tested with Tomcat 6.0.10). + +The Web Application +------------------- + +Once deployed point your browser at + +http://localhost:8080/demo-alert-aggregator-webapp + +Taking care to ensure the host name and port number match you local +configuration. + +This launches a Javascript application in the browser that uses JSONRPC +to contact the server and retrived a list of alert sources and alerts that +these sources are providing. + +There default sources that you see are stored in a file in the following +file + +demo-alert-aggregator-webapp/WEB-INF/classes/sources.xml + +This files has the following contents + + + + BBC News + http://news.bbc.co.uk/ + 10-Jun-2007 16:34:03 + http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml + + + Engadget + http://www.engadget.com + 10-Jun-2007 16:34:03 + http://www.engadget.com/rss.xml + + + +You may want to adjust the "LastChecked" values to change the number of +alerts that are displayed in the first instance + +Using A Feed Reader +------------------- + +As this SCA application also uses the binding.feed binding you can use your +favourite feed reader to read the aggregated alerts. To do this point your +feed reader at + +http://localhost:8080/demo-alert-aggregator-webapp/services/AlertsFeedServiceRSS + +Again taking care to ensure that the host name and port number match you +local configuration. + +Using Web Services +------------------ + +The SCA application also uses binding.ws to provide a SOAP/HTTP interface. +The demo client that uses this interface is not yet available. + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.png b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.png new file mode 100644 index 0000000000..ae429cca94 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.svg b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.svg new file mode 100644 index 0000000000..807416135e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/alert-aggregator.svg @@ -0,0 +1,627 @@ + + + + + + + + + + image/svg+xml + + + + + + + + DisplayComposite - PHP + + Display + + + + + + AlerterComposite - Java + + AlertsService + + + + rest soap + + + soap + + RSS + + + AlertsSourcesService + + + + + + jsonrpc + + + + + soap + + soap + atom + jsonrpc + + + + + + + POP - Not done + + + + + + + + + HTML Web2.0 Thunderbird + + NNTP - Not done + + rss + + AlertFeedService + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build-dojo.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build-dojo.xml new file mode 100644 index 0000000000..c31c9adee8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build-dojo.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build.xml new file mode 100644 index 0000000000..b75842d08c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/build.xml @@ -0,0 +1,148 @@ + + +]> + + + &buildDependency; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/pom.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/pom.xml new file mode 100644 index 0000000000..e42ab9ed84 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/pom.xml @@ -0,0 +1,344 @@ + + + + 4.0.0 + + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + + org.apache.tuscany.sca + demo-alert-aggregator-webapp + war + 2.0-incubating-SNAPSHOT + Apache Tuscany SCA Alert Aggregator Demo + http://cwiki.apache.org/TUSCANY + + + + junit + junit + 4.2 + test + + + httpunit + httpunit + 1.6.1 + test + + + org.apache.tuscany.sdo + tuscany-sdo-api-r2.1 + 1.1-incubating + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-core-databinding + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-jaxb + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-sdo + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-axiom + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-embedded + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-interface-java-xml + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-webapp + 2.0-incubating-SNAPSHOT + runtime + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc-runtime + 2.0-incubating-SNAPSHOT + runtime + + + org.apache.tuscany.sca + tuscany-binding-atom-abdera + 2.0-incubating-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-binding-rss-rome + 2.0-incubating-SNAPSHOT + + + org.codehaus.woodstox + wstx-asl + 3.2.1 + runtime + + + + + demo-alert-aggregator-webapp + + + org.codehaus.mojo + build-helper-maven-plugin + 1.0 + + + add-test-source + generate-sources + + add-test-source + + + + target/sdo-source + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-plugin + 1.1-incubating + + + generate-sdo + generate-sources + + + + ${basedir}/src/main/resources/Alerts.wsdl + org.apache.tuscany.sca.demos.aggregator.service + + + ${basedir}/src/main/resources/AlertsSources.wsdl + org.apache.tuscany.sca.demos.aggregator.sources + + + ${basedir}/src/main/resources/Alerts.xsd + org.apache.tuscany.sca.demos.aggregator.types + + + true + true + true + + + generate + + + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.1 + + + + ant + ant-trax + 1.6.5 + + + + + + install-dojo + validate + + run + + + + + + + + + + + copy-dojo-files + generate-resources + + run + + + + + + + + + + + + clean-dojo-files + clean + + run + + + + + + + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + surefire-it + integration-test + + test + + + + **/*AlertsIntegrationTest.java + + + + + + + + org.codehaus.cargo + cargo-maven2-plugin + + + start-container + pre-integration-test + + start + + + + stop-container + post-integration-test + + stop + + + + + + jetty6x + embedded + + org.apache.commons.logging.impl.SimpleLog + + + false + + + 8080 + + + + + ${project.build.directory}/${project.build.finalName}.${project.packaging} + + http://localhost:8080/AlertsSourcesServiceJSONRPC + + + ${project.build.directory}/cargo-jetty + + + + + + org.apache.tuscany.sca + tuscany-maven-ant-generator + 2.0-incubating-SNAPSHOT + + + + true + + + generate + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertTypeNonSDOImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertTypeNonSDOImpl.java new file mode 100644 index 0000000000..808374030c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertTypeNonSDOImpl.java @@ -0,0 +1,339 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.demos.aggregator; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertType; + + +public class AlertTypeNonSDOImpl implements AlertType +{ + private static final long serialVersionUID = 670364038865656196L; + +/** + * The default value of the '{@link #getTitle() Title}' attribute. + * + * + * @see #getTitle() + * @generated + * @ordered + */ + protected static final String TITLE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getTitle() Title}' attribute. + * + * + * @see #getTitle() + * @generated + * @ordered + */ + protected String title = TITLE_DEFAULT_; + + /** + * The default value of the '{@link #getSummary() Summary}' attribute. + * + * + * @see #getSummary() + * @generated + * @ordered + */ + protected static final String SUMMARY_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSummary() Summary}' attribute. + * + * + * @see #getSummary() + * @generated + * @ordered + */ + protected String summary = SUMMARY_DEFAULT_; + + /** + * The default value of the '{@link #getAddress() Address}' attribute. + * + * + * @see #getAddress() + * @generated + * @ordered + */ + protected static final String ADDRESS_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getAddress() Address}' attribute. + * + * + * @see #getAddress() + * @generated + * @ordered + */ + protected String address = ADDRESS_DEFAULT_; + + /** + * The default value of the '{@link #getDate() Date}' attribute. + * + * + * @see #getDate() + * @generated + * @ordered + */ + protected static final String DATE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getDate() Date}' attribute. + * + * + * @see #getDate() + * @generated + * @ordered + */ + protected String date = DATE_DEFAULT_; + + /** + * The default value of the '{@link #getSourceId() Source Id}' attribute. + * + * + * @see #getSourceId() + * @generated + * @ordered + */ + protected static final String SOURCE_ID_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSourceId() Source Id}' attribute. + * + * + * @see #getSourceId() + * @generated + * @ordered + */ + protected String sourceId = SOURCE_ID_DEFAULT_; + + /** + * The default value of the '{@link #isUnread() Unread}' attribute. + * + * + * @see #isUnread() + * @generated + * @ordered + */ + protected static final boolean UNREAD_DEFAULT_ = false; + + /** + * The cached value of the '{@link #isUnread() Unread}' attribute. + * + * + * @see #isUnread() + * @generated + * @ordered + */ + protected boolean unread = UNREAD_DEFAULT_; + + /** + * The default value of the '{@link #getId() Id}' attribute. + * + * + * @see #getId() + * @generated + * @ordered + */ + protected static final String ID_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getId() Id}' attribute. + * + * + * @see #getId() + * @generated + * @ordered + */ + protected String id = ID_DEFAULT_; + + /** + * + * + * @generated + */ + public AlertTypeNonSDOImpl() + { + super(); + } + + + /** + * + * + * @generated + */ + public String getTitle() + { + return title; + } + /** + * + * + * @generated + */ + public void setTitle(String newTitle) + { + title = newTitle; + } + + /** + * + * + * @generated + */ + public String getSummary() + { + return summary; + } + /** + * + * + * @generated + */ + public void setSummary(String newSummary) + { + summary = newSummary; + } + + /** + * + * + * @generated + */ + public String getAddress() + { + return address; + } + /** + * + * + * @generated + */ + public void setAddress(String newAddress) + { + address = newAddress; + } + + /** + * + * + * @generated + */ + public String getDate() + { + return date; + } + /** + * + * + * @generated + */ + public void setDate(String newDate) + { + date = newDate; + } + + /** + * + * + * @generated + */ + public String getSourceId() + { + return sourceId; + } + /** + * + * + * @generated + */ + public void setSourceId(String newSourceId) + { + sourceId = newSourceId; + } + + /** + * + * + * @generated + */ + public boolean isUnread() + { + return unread; + } + /** + * + * + * @generated + */ + public void setUnread(boolean newUnread) + { + unread = newUnread; + } + + /** + * + * + * @generated + */ + public String getId() + { + return id; + } + /** + * + * + * @generated + */ + public void setId(String newId) + { + id = newId; + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (Title: "); + result.append(title); + result.append(", Summary: "); + result.append(summary); + result.append(", Address: "); + result.append(address); + result.append(", Date: "); + result.append(date); + result.append(", SourceId: "); + result.append(sourceId); + result.append(", Unread: "); + result.append(unread); + result.append(", Id: "); + result.append(id); + result.append(')'); + return result.toString(); + } + +} //AlertTypeImpl diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java new file mode 100644 index 0000000000..b062504311 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.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.demos.aggregator; + +import java.text.DateFormat; + +import org.apache.abdera.Abdera; +import org.apache.abdera.factory.Factory; +import org.apache.abdera.model.Entry; +import org.apache.abdera.model.Feed; +import org.apache.tuscany.sca.binding.atom.collection.Collection; +import org.apache.tuscany.sca.binding.atom.collection.NotFoundException; +import org.apache.tuscany.sca.demos.aggregator.types.AlertType; +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * Read all new alerts from the specified sources + * + * @version $Rev$ $Date$ + */ +@Service(Collection.class) +public class AlertsFeedServiceImpl implements Collection { + + private AlertsService alerts; + + @Reference + public void setAlerts(AlertsService alerts) { + this.alerts = alerts; + } + + DateFormat dateFormatter = DateFormat.getDateTimeInstance(); + + /** + * Return the alerts as a feed. + * + * @return the structure containing alerts + */ + public org.apache.abdera.model.Feed getFeed() { + + // Create a new Feed + Factory factory = Abdera.getNewFactory(); + Feed feed = factory.newFeed(); + feed.setTitle("Apache Tuscany Feed Aggregator"); + feed.setSubtitle("A sample showing an SCA application to aggregate various types of feeds"); + feed.addAuthor("Apache Tuscany"); + feed.addLink("http://incubator.apache.org/tuscany"); + + // Aggregate entries from feed1 and feed2 + try { + AlertsType alerts = this.alerts.getAllNewAlerts(""); + + for( Object alertObject : alerts.getAlert() ){ + AlertType alert = ((AlertType)alertObject); + Entry entry = factory.newEntry(); + entry.setTitle(alert.getTitle()); + //entry.(alert.getSummary()); + entry.addLink(alert.getAddress()); + entry.setPublished(dateFormatter.parse(alert.getDate())); + + feed.addEntry(entry); + } + } catch(Exception ex) { + System.err.println("Exception " + ex.toString()); + } + + return feed; + } + + public Feed query(String queryString) { + return getFeed(); + } + + public void delete(String id) throws NotFoundException { + } + + public Entry get(String id) throws NotFoundException { + return null; + } + + public Entry post(Entry entry) { + return null; + } + + public void put(String id, Entry entry) throws NotFoundException { + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsService.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsService.java new file mode 100644 index 0000000000..c4bf13ce7a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsService.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.demos.aggregator; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; +import org.osoa.sca.annotations.Remotable; + +/** + * Retrieve and manage alerts + * + * @version $Rev$ $Date$ + */ +@Remotable +public interface AlertsService { + + /** + * Return a structure holding all of the new alerts that have been found + * + * @return the structure containing alerts + */ + public AlertsType getAllNewAlerts(String id); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java new file mode 100644 index 0000000000..28e27a9978 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.demos.aggregator; + +import java.text.DateFormat; +import java.util.Date; +import java.util.List; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertType; +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; +import org.apache.tuscany.sca.demos.aggregator.types.ConfigType; +import org.apache.tuscany.sca.demos.aggregator.types.SourceType; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * Read all new alerts from the specified sources + * + * @version $Rev$ $Date$ + */ +@Service(AlertsService.class) +public class AlertsServiceImpl implements AlertsService { + + private RSSCheckerService rssChecker; + + private AlertsSourcesService alertsSources; + + @Reference + public void setRssChecker(RSSCheckerService rssChecker) { + this.rssChecker = rssChecker; + } + + @Reference + public void setAlertsSources(AlertsSourcesService alertsSources) { + this.alertsSources = alertsSources; + } + + DateFormat dateFormatter = DateFormat.getDateTimeInstance(); + + /** + * Return a structure holding all of the new alerts that have been found + * + * @return the structure containing alerts + */ + public AlertsType getAllNewAlerts(String id) + { + System.err.println("getAllNewAlerts(" + id + ")"); + + //TypesFactory factory = TypesFactory.INSTANCE; + //AlertsType returnAlerts = factory.createAlertsType(); + AlertsType returnAlerts = new AlertsTypeNonSDOImpl(); + List returnAlertList = returnAlerts.getAlert(); + + // get the date/time now so that we can update the + // alert source record so that next time we + // only get the latest alerts + Date now = new Date(); + String nowString = dateFormatter.format(now); + + try { + ConfigType alertSourceConfig = alertsSources.getAlertSources(id); + + for (Object source : alertSourceConfig.getSource()){ + SourceType sourceType = (SourceType)source; + + AlertsType alerts = null; + + if ( sourceType.getFeedType().equals("rss")){ + alerts = rssChecker.getNewAlerts(sourceType.getFeedAddress(), + sourceType.getLastChecked()); + } else { + + } + + // extend return list with any alerts we found + for( Object alert : alerts.getAlert() ){ + + // set the id on the alert so we know which source it + // came from + ((AlertType)alert).setSourceId(sourceType.getId()); + + // convert from SDO to POJO so that the + // JSONRPC binding will work. It can't currently + // handle SDOs + AlertType newAlert = new AlertTypeNonSDOImpl(); + + newAlert.setSourceId(((AlertType)alert).getSourceId()); + newAlert.setTitle(((AlertType)alert).getTitle()); + newAlert.setSummary(((AlertType)alert).getSummary()); + newAlert.setAddress(((AlertType)alert).getAddress()); + newAlert.setDate(((AlertType)alert).getDate()); + newAlert.setId(((AlertType)alert).getId()); + newAlert.setUnread(((AlertType)alert).isUnread()); + + returnAlertList.add(newAlert); + } + + // update the time last checked for this source + sourceType.setLastChecked(nowString); + //alertsSources.updateAlertSource(sourceType); + } + } catch(Exception ex) { + System.err.println("Exception " + ex.toString()); + } + + return returnAlerts ; + + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesService.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesService.java new file mode 100644 index 0000000000..7b943b1b45 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesService.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.demos.aggregator; + +import org.apache.tuscany.sca.demos.aggregator.types.ConfigType; +import org.apache.tuscany.sca.demos.aggregator.types.SourceType; +import org.osoa.sca.annotations.Remotable; + +/** + * Retrieve and manage alert sources + * + * @version $Rev$ $Date$ + */ +@Remotable +public interface AlertsSourcesService { + + /** + * Return all of the configured alert sources. + * + * @return the list of alert sources + */ + public ConfigType getAlertSources (String id); + + /** + * Return a single alert source. + * @param id not currently used + * @return the alert source + */ + public SourceType getAlertSource (String id); + + /** + * Update an alert source. + * + * @param updatedSource the alert source to update + */ + public void updateAlertSource (SourceType updatedSource); + + /** + * Add an alert source. + * + * @param newSource the alert source to add + */ + public String addAlertSource (SourceType newSource); + + /** + * Remove an alert source. + * + * @param oldSource the alert source to remove + */ + public void removeAlertSource (String id); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesServiceImpl.java new file mode 100644 index 0000000000..ca2fc95b4a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsSourcesServiceImpl.java @@ -0,0 +1,183 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.demos.aggregator; + +import java.io.InputStream; +import java.text.DateFormat; +import java.util.Date; + +import org.apache.tuscany.sca.demos.aggregator.types.ConfigType; +import org.apache.tuscany.sca.demos.aggregator.types.SourceType; +import org.apache.tuscany.sca.demos.aggregator.types.TypesFactory; +import org.apache.tuscany.sca.demos.aggregator.types.impl.SourceTypeImpl; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import commonj.sdo.helper.HelperContext; +import commonj.sdo.helper.XMLDocument; +import commonj.sdo.impl.HelperProvider; + +/** + * Retrieve and manage alert sources + * + * @version $Rev$ $Date$ + */ +@Service(AlertsSourcesService.class) +@Scope("COMPOSITE") +public class AlertsSourcesServiceImpl implements AlertsSourcesService { + + ConfigType alertSources; + + /** + * Constructor reads the configuration to provide + * the initial list of alert sources + */ + public AlertsSourcesServiceImpl(){ + System.err.println("AlertsSourcesServiceImpl()"); + try { + // read the alerts config from an XML file + InputStream is = this.getClass().getClassLoader().getResourceAsStream("sources.xml"); + + if (is == null) { + throw new Exception("Can;t find sources.xml"); + } else { + HelperContext helperContext = HelperProvider.getDefaultContext(); + TypesFactory.INSTANCE.register(helperContext); + XMLDocument xmlDoc = helperContext.getXMLHelper().load(is); + alertSources = (ConfigType)xmlDoc.getRootObject(); + } + } catch (Exception ex) { + System.err.println("Exception " + ex.toString()); + } + } + + /** + * Return all of the configured alert sources. + * + * @return the list of alert sources + */ + public ConfigType getAlertSources (String id) + { + System.err.println("getAlertSources(" + id + ")"); + + // convert alert sources to POJOs so that + // the JSONRPC binding will work + ConfigTypeNonSDOImpl sources = new ConfigTypeNonSDOImpl(); + + for (Object source : alertSources.getSource()) { + SourceTypeNonSDOImpl newSource = new SourceTypeNonSDOImpl(); + newSource.setAddress(((SourceTypeImpl)source).getAddress()); + newSource.setFeedAddress(((SourceTypeImpl)source).getFeedAddress()); + newSource.setId(((SourceTypeImpl)source).getId()); + newSource.setLastChecked(((SourceTypeImpl)source).getLastChecked()); + newSource.setName(((SourceTypeImpl)source).getName()); + newSource.setFeedType(((SourceTypeImpl)source).getFeedType()); + sources.getSource().add(newSource); + } + + return sources; + } + + /** + * Return a single alert source. + * @param id the alert source id number + * @return the alert source + */ + public SourceType getAlertSource (String id) + { + System.err.println("getAlertSource(" + id + ")"); + SourceType alertSource = null; + + for (Object source : alertSources.getSource()) { + if ( ((SourceType)source).getId().equals(id)) { + alertSource = (SourceType)source; + } + } + return alertSource; + } + + /** + * Update an alert source. + * + * @param updatedSource the alert source to update + */ + public void updateAlertSource (SourceType updatedSource) + { + System.err.println("updateAlertSource()"); + + Object originalSource = null; + + for (Object source : alertSources.getSource()) { + if ( ((SourceType)source).getId().equals(updatedSource.getId())) { + originalSource = source; + break; + } + } + + if (originalSource != null){ + alertSources.getSource().add(updatedSource); + alertSources.getSource().remove(originalSource); + } + } + + /** + * Add an alert source. + * + * @param newSource the alert source to add + */ + public String addAlertSource (SourceType newSource) + { + System.err.println("addAlertSource()"); + // set the date to now less 2 hours so we + // get some alerts straight away + DateFormat dateFormatter = DateFormat.getDateTimeInstance(); + Date now = new Date(); + now.setHours(now.getHours()-2); + String nowString = dateFormatter.format(now); + newSource.setLastChecked(nowString); + alertSources.getSource().add(newSource); + return "Done"; + } + + /** + * Remove an alert source. + * + * @param oldSource the alert source to remove + */ + public void removeAlertSource (String id) + { + System.err.println("removeAlertSource()"); + + Object originalSource = null; + + for (Object source : alertSources.getSource()) { + if ( ((SourceType)source).getId().equals(id)) { + originalSource = source; + break; + } + } + + if (originalSource != null) { + alertSources.getSource().remove(originalSource); + } + + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsTypeNonSDOImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsTypeNonSDOImpl.java new file mode 100644 index 0000000000..2962defb25 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsTypeNonSDOImpl.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.demos.aggregator; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; + +/** + * + * An implementation of the model object 'Alerts Type'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class AlertsTypeNonSDOImpl implements AlertsType +{ + private static final long serialVersionUID = -3784576466148158776L; + +/** + * The cached value of the '{@link #getAlert() Alert}' containment reference list. + * + * + * @see #getAlert() + * @generated + * @ordered + */ + + protected List alert = new ArrayList(); + + /** + * + * + * @generated + */ + public AlertsTypeNonSDOImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public List getAlert() + { + return alert; + } + +} //AlertsTypeImpl diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/ConfigTypeNonSDOImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/ConfigTypeNonSDOImpl.java new file mode 100644 index 0000000000..75544294ce --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/ConfigTypeNonSDOImpl.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.demos.aggregator; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.tuscany.sca.demos.aggregator.types.ConfigType; + + +public class ConfigTypeNonSDOImpl implements ConfigType +{ + private static final long serialVersionUID = 2522843951360675364L; + + protected List source = new ArrayList(); + + /** + * + * + * @generated + */ + public ConfigTypeNonSDOImpl() + { + super(); + } + + + /** + * + * + * @generated + */ + public List getSource() + { + return source; + } + + +} //ConfigTypeImpl diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerService.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerService.java new file mode 100644 index 0000000000..2a5775e9a9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerService.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.demos.aggregator; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; + +/** + * The interface for the rss checker service + */ +public interface RSSCheckerService { + + public AlertsType getNewAlerts(String rssaddress, String lastchecktimestamp); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java new file mode 100644 index 0000000000..9b73a27625 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.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.demos.aggregator; + +import java.net.URL; +import java.text.DateFormat; +import java.util.Date; +import java.util.List; + +import org.apache.tuscany.sca.demos.aggregator.types.AlertType; +import org.apache.tuscany.sca.demos.aggregator.types.AlertsType; +import org.apache.tuscany.sca.demos.aggregator.types.TypesFactory; + +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * The interface for the rss checker service + */ +public class RSSCheckerServiceImpl implements RSSCheckerService { + + public AlertsType getNewAlerts(String rssaddress, String lastchecktimestamp){ + // Create the list of alerts to return + TypesFactory factory = TypesFactory.INSTANCE; + AlertsType returnAlerts = factory.createAlertsType(); + List returnAlertList = returnAlerts.getAlert(); + + try { + // Turn the date into something we can process. + DateFormat dateFormatter = DateFormat.getDateTimeInstance(); + Date timestamp = dateFormatter.parse(lastchecktimestamp); + + // get the feed data from the supplied address + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(new URL(rssaddress))); + //System.out.println(feed); + + // check all the items to see if we have seen them before + List entries = feed.getEntries(); + for(Object entry: entries){ + SyndEntry syndEntry = (SyndEntry)entry; + + if (syndEntry.getPublishedDate().after(timestamp)){ + AlertType newAlert = factory.createAlertType(); + + newAlert.setTitle(syndEntry.getTitle()); + // newAlert.setSummary(""); + newAlert.setSummary(""); + newAlert.setAddress(syndEntry.getLink()); + newAlert.setDate(dateFormatter.format(syndEntry.getPublishedDate())); + newAlert.setId(rssaddress); + newAlert.setUnread(true); + + returnAlertList.add(newAlert); + } + } + + } catch(Exception ex) { + System.err.println("Exception " + ex.toString()); + } + + return returnAlerts; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/SourceTypeNonSDOImpl.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/SourceTypeNonSDOImpl.java new file mode 100644 index 0000000000..10575bf0dc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/SourceTypeNonSDOImpl.java @@ -0,0 +1,536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.demos.aggregator; + +import org.apache.tuscany.sca.demos.aggregator.types.SourceType; + +import commonj.sdo.Sequence; + + +public class SourceTypeNonSDOImpl implements SourceType +{ + private static final long serialVersionUID = -4986294578888767793L; + + public final static int NAME = 0; + + public final static int ADDRESS = 1; + + public final static int LAST_CHECKED = 2; + + public final static int FEED_ADDRESS = 3; + + public final static int POP_SERVER = 4; + + public final static int POP_USERNAME = 5; + + public final static int POP_PASSWORD = 6; + + public final static int ANY = -1; + + public final static int ID = 7; + + public final static int TYPE = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_NAME = 0; + + /** + * The internal feature id for the 'Address' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_ADDRESS = 1; + + /** + * The internal feature id for the 'Last Checked' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_LAST_CHECKED = 2; + + /** + * The internal feature id for the 'Feed Address' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_FEED_ADDRESS = 3; + + /** + * The internal feature id for the 'Pop Server' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_POP_SERVER = 4; + + /** + * The internal feature id for the 'Pop Username' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_POP_USERNAME = 5; + + /** + * The internal feature id for the 'Pop Password' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_POP_PASSWORD = 6; + + /** + * The internal feature id for the 'Any' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_ANY = 7; + + /** + * The internal feature id for the 'Id' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_ID = 8; + + /** + * The internal feature id for the 'Type' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_TYPE = 9; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 10; + + + + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_DEFAULT_; + + /** + * The default value of the '{@link #getAddress() Address}' attribute. + * + * + * @see #getAddress() + * @generated + * @ordered + */ + protected static final String ADDRESS_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getAddress() Address}' attribute. + * + * + * @see #getAddress() + * @generated + * @ordered + */ + protected String address = ADDRESS_DEFAULT_; + + /** + * The default value of the '{@link #getLastChecked() Last Checked}' attribute. + * + * + * @see #getLastChecked() + * @generated + * @ordered + */ + protected static final String LAST_CHECKED_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getLastChecked() Last Checked}' attribute. + * + * + * @see #getLastChecked() + * @generated + * @ordered + */ + protected String lastChecked = LAST_CHECKED_DEFAULT_; + + /** + * The default value of the '{@link #getFeedAddress() Feed Address}' attribute. + * + * + * @see #getFeedAddress() + * @generated + * @ordered + */ + protected static final String FEED_ADDRESS_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getFeedAddress() Feed Address}' attribute. + * + * + * @see #getFeedAddress() + * @generated + * @ordered + */ + protected String feedAddress = FEED_ADDRESS_DEFAULT_; + + /** + * The default value of the '{@link #getPopServer() Pop Server}' attribute. + * + * + * @see #getPopServer() + * @generated + * @ordered + */ + protected static final String POP_SERVER_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPopServer() Pop Server}' attribute. + * + * + * @see #getPopServer() + * @generated + * @ordered + */ + protected String popServer = POP_SERVER_DEFAULT_; + + /** + * The default value of the '{@link #getPopUsername() Pop Username}' attribute. + * + * + * @see #getPopUsername() + * @generated + * @ordered + */ + protected static final String POP_USERNAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPopUsername() Pop Username}' attribute. + * + * + * @see #getPopUsername() + * @generated + * @ordered + */ + protected String popUsername = POP_USERNAME_DEFAULT_; + + /** + * The default value of the '{@link #getPopPassword() Pop Password}' attribute. + * + * + * @see #getPopPassword() + * @generated + * @ordered + */ + protected static final String POP_PASSWORD_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPopPassword() Pop Password}' attribute. + * + * + * @see #getPopPassword() + * @generated + * @ordered + */ + protected String popPassword = POP_PASSWORD_DEFAULT_; + + /** + * The cached value of the '{@link #getAny() Any}' attribute list. + * + * + * @see #getAny() + * @generated + * @ordered + */ + + protected Sequence any = null; + + /** + * The default value of the '{@link #getId() Id}' attribute. + * + * + * @see #getId() + * @generated + * @ordered + */ + protected static final String ID_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getId() Id}' attribute. + * + * + * @see #getId() + * @generated + * @ordered + */ + protected String id = ID_DEFAULT_; + + /** + * The default value of the '{@link #getFeedType() Feed Type}' attribute. + * + * + * @see #getFeedType() + * @generated + * @ordered + */ + protected static final String FEED_TYPE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getFeedType() Feed Type}' attribute. + * + * + * @see #getFeedType() + * @generated + * @ordered + */ + protected String feedType = FEED_TYPE_DEFAULT_; + + + /** + * + * + * @generated + */ + public SourceTypeNonSDOImpl() + { + super(); + } + + + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + /** + * + * + * @generated + */ + public void setName(String newName) + { + name = newName; + } + + /** + * + * + * @generated + */ + public String getAddress() + { + return address; + } + /** + * + * + * @generated + */ + public void setAddress(String newAddress) + { + address = newAddress; + } + + /** + * + * + * @generated + */ + public String getLastChecked() + { + return lastChecked; + } + /** + * + * + * @generated + */ + public void setLastChecked(String newLastChecked) + { + lastChecked = newLastChecked; + } + + /** + * + * + * @generated + */ + public String getFeedAddress() + { + return feedAddress; + } + /** + * + * + * @generated + */ + public void setFeedAddress(String newFeedAddress) + { + feedAddress = newFeedAddress; + } + + /** + * + * + * @generated + */ + public String getPopServer() + { + return popServer; + } + /** + * + * + * @generated + */ + public void setPopServer(String newPopServer) + { + popServer = newPopServer; + } + + /** + * + * + * @generated + */ + public String getPopUsername() + { + return popUsername; + } + /** + * + * + * @generated + */ + public void setPopUsername(String newPopUsername) + { + popUsername = newPopUsername; + } + + /** + * + * + * @generated + */ + public String getPopPassword() + { + return popPassword; + } + /** + * + * + * @generated + */ + public void setPopPassword(String newPopPassword) + { + popPassword = newPopPassword; + } + + /** + * + * + * @generated + */ + public String getId() + { + return id; + } + /** + * + * + * @generated + */ + public void setId(String newId) + { + id = newId; + } + + /** + * + * + * @generated + */ + public String getFeedType() + { + return feedType; + } + /** + * + * + * @generated + */ + public void setFeedType(String newType) + { + feedType = newType; + } + + public Sequence getAny(){ + return null; + } + +} //SourceTypeImpl diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.wsdl b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.wsdl new file mode 100644 index 0000000000..79b025bc73 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.wsdl @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.xsd b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.xsd new file mode 100644 index 0000000000..f0ec561ad8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/Alerts.xsd @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/AlertsSources.wsdl b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/AlertsSources.wsdl new file mode 100644 index 0000000000..987481bd14 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/AlertsSources.wsdl @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite new file mode 100644 index 0000000000..49f44f9da8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts.composite b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts.composite new file mode 100644 index 0000000000..c359b275be --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/alerts.composite @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/sources.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/sources.xml new file mode 100644 index 0000000000..2168c10c9c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/resources/sources.xml @@ -0,0 +1,33 @@ + + + + + BBC News + http://news.bbc.co.uk/ + 10-Jun-2007 16:34:03 + http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml + + + Engadget + http://www.engadget.com + 10-Jun-2007 16:34:03 + http://www.engadget.com/rss.xml + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/AlertAggregator.html b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/AlertAggregator.html new file mode 100644 index 0000000000..8b472fd0fa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/AlertAggregator.html @@ -0,0 +1,330 @@ + + + +Apache Tuscany Alert Aggregator Sample + + + + + + + + + + + + + + + +

Apache Tuscany Alert Aggregator Demo

+
+

Alert Sources:

+ +
Refreshing...
+

+

+

Refreshing...
+

Back to top

+
+

+

+ + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..0bc67c4c98 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/geronimo-web.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/geronimo-web.xml new file mode 100644 index 0000000000..e926aed615 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/geronimo-web.xml @@ -0,0 +1,32 @@ + + + + + + org.apache.tuscany.sca + demo-alert-aggregator-webapp + 2.0-incubating-SNAPSHOT + war + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..a81165e1b4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,41 @@ + + + + + + + Apache Tuscany Alert Aggregator Demo + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + + AlertAggregator.html + + + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/pop.png b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/pop.png new file mode 100644 index 0000000000..1cf1df24a7 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/pop.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/rss.png b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/rss.png new file mode 100644 index 0000000000..b3c949d224 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/rss.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/service.smd b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/service.smd new file mode 100644 index 0000000000..bc77e39bf9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/service.smd @@ -0,0 +1 @@ +{"SMDVersion":".1","objectName":"AlertsService","serviceType":"JSON-RPC","serviceURL":"http://localhost:8080/sample-feed-aggregator/services/AlertsServiceJSONRPC","methods":[{"name":"getAllNewAlerts","parameters":[{"name":"param0","type":"STRING"}]}]} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/sources.smd b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/sources.smd new file mode 100644 index 0000000000..b5f1824363 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/sources.smd @@ -0,0 +1 @@ +{"SMDVersion":".1","objectName":"AlertsSourcesService","serviceType":"JSON-RPC","serviceURL":"http://localhost:8081/sample-feed-aggregator/services/AlertsSourcesServiceJSONRPC","methods":[{"name":"getAlertSources","parameters":[{"name":"param0","type":"STRING"}]},{"name":"getAlertSource","parameters":[{"name":"param0","type":"STRING"}]},{"name":"updateAlertSource","parameters":[{"name":"param0","type":"STRING"}]},{"name":"addAlertSource","parameters":[{"name":"param0","type":"STRING"}]},{"name":"removeAlertSource","parameters":[{"name":"param0","type":"STRING"}]}]} diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/style.css b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/style.css new file mode 100644 index 0000000000..f5bbf23379 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/main/webapp/style.css @@ -0,0 +1,176 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +p,table,li,h1,h2,h3 +{ +font-family: verdana, arial, 'sans serif'; +} + +p, h1, h2, h3, table, li, hr +{ +margin-left: 10pt; +} + +table +{ +border-color: black; +border-collapse: separate; +border-spacing: 0px 1px; + +margin-right: 10pt; +margin-left: 10pt; +width: 800px; +} + +.sourceDetailsTable +{ +width: 600px; +} + +tr, td +{ +margin-left: 0pt; +margin-right: 0pt; +padding-left: 10pt; +font-size: 90%; +} + +p,li,th +{ +font-size: 90%; +margin-left: 10pt; +} + +pre +{ +margin-left: 10pt; +} + +body +{ +#ffffff; +} + +h1,h2,h3,hr +{ +color: firebrick; +} + +a:link {COLOR: firebrick;} +a:visited {COLOR: firebrick;} +a:active {COLOR: navy;} + +.link +{ +COLOR: firebrick; +text-decoration: underline; +} + +.clickable +{ +cursor: pointer +} + +.unread_title +{ +font-weight: bold; +} + +.read_title +{ +font-weight: normal; +} + +.summary +{ +color: DimGrey; +} + +.hidden +{ +display: none; +} + +.source_name +{ +width: 600px; +} + +.alert_text +{ +width: 600px; +} + +.alert_data +{ +margin-left: 10px; +width: 800px; +height: 800px; +} + +.source_0 +{ +background-color: LightGreen; +} + +.source_1 +{ +background-color: LightSkyBlue; +} + +.source_2 +{ +background-color: Khaki; +} + +.source_3 +{ +background-color: LightPink; +} + +.source_4 +{ +background-color: Orange; +} + +.source_5 +{ +background-color: LightCoral; +} + +.source_6 +{ +background-color: Orchid; +} + +.source_7 +{ +background-color: Peru; +} + +.source_8 +{ +background-color: SpringGreen; +} + +.source_9 +{ +background-color: LightGrey; +} + diff --git a/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java new file mode 100644 index 0000000000..6e75ea0bdf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.demos.aggregator; + +import java.io.ByteArrayInputStream; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.json.JSONObject; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import com.meterware.httpunit.PostMethodWebRequest; +import com.meterware.httpunit.WebConversation; +import com.meterware.httpunit.WebRequest; +import com.meterware.httpunit.WebResponse; + + +/** + */ +public class AlertsIntegrationTest { + //private static SCADomain scaDomain; + + @BeforeClass + public static void setUp() throws Exception { + //scaDomain = SCADomain.newInstance("alerts.composite"); + } + + /** + * Runs after each test method + */ + @AfterClass + public static void tearDown() { + //scaDomain.close(); + } + +/* Use this if you want to test locally without deploying to a web container + public void testWait() throws Exception { + System.out.println("Feed aggregator server started (press enter to shutdown)"); + System.in.read(); + System.out.println("Feed aggregator server stopped"); + } +*/ + + @Test + public void testGetAllNewAlerts() throws Exception { + JSONObject jsonRequest = new JSONObject("{\"params\":[\"sometext\"],\"method\":\"getAllNewAlerts\",\"id\":2}"); + JSONObject jsonResp = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsServiceJSONRPC", + jsonRequest); + Assert.assertNotNull(jsonResp); + } + + @Test + public void testAddAlertSources() throws Exception { + JSONObject jsonRequest = new JSONObject("{\"params\":[{\"name\":\"news\",\"id\":\"2\",\"address\":\"www.news.com\",\"feedAddress\":\"http://news.com.com/2547-1_3-0-20.xml\",\"feedType\":\"rss\",\"lastChecked\":\"lastChecked\",\"javaClass\":\"org.apache.tuscany.sca.demos.aggregator.types.impl.SourceTypeImpl\"}],\"method\":\"addAlertSource\",\"id\":2}"); + JSONObject jsonResp = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsSourcesServiceJSONRPC", + jsonRequest); + Assert.assertNotNull(jsonResp); + } + + @Test + public void testGetAlertSources() throws Exception { + JSONObject jsonRequest = new JSONObject("{\"params\":[\"sometext\"],\"method\":\"getAlertSources\",\"id\":2}"); + JSONObject jsonResp = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsSourcesServiceJSONRPC", + jsonRequest); + Assert.assertEquals("BBC News", jsonResp.getJSONObject("result").getJSONObject("source").optJSONArray("list").getJSONObject(0).getString("name")); + } + + public JSONObject callService(String url, JSONObject jsonRequest) throws Exception { + System.out.println("Request = " + jsonRequest.toString()); + WebConversation wc = new WebConversation(); + WebRequest request = new PostMethodWebRequest( url, + new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")),"application/json"); + WebResponse response = wc.getResource(request); + System.out.println("Response= " + response.getText()); + Assert.assertEquals(200, response.getResponseCode()); + return new JSONObject(response.getText()); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/bigbank-account/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/LICENSE b/sandbox/sebastien/java/sca-node/demos/bigbank-account/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/NOTICE b/sandbox/sebastien/java/sca-node/demos/bigbank-account/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/README b/sandbox/sebastien/java/sca-node/demos/bigbank-account/README new file mode 100644 index 0000000000..5c0d850c5e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/README @@ -0,0 +1,4 @@ +bigbank-account is part of a larger demo called bigbank. +Please see the Readme file under bigbank to understand how bigbank-account fits into the overall demo. + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.png b/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.png new file mode 100644 index 0000000000..985cc6bd05 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.svg b/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.svg new file mode 100644 index 0000000000..0650075d48 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/bigbank.svg @@ -0,0 +1,537 @@ + + + + + + + + + + image/svg+xml + + + + + + + + CompositeBigBank WebApp + + Component AccountJava + + + + Component AccountDataJava + binding.jsonrpc + binding.ws + binding.rmi + + + + CompositeStockQuote + + CompositeCalculator + + Component CalculatorJava + + + + Component AddJavascript + binding.rmi + + + Component SubtractRuby + + Component MultiplyPython + + Component DivideGroovy + + + + Component StockQuoteJava + + binding.ws + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/build-dojo.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-account/build-dojo.xml new file mode 100644 index 0000000000..0e029c6335 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/build-dojo.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/build.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-account/build.xml new file mode 100644 index 0000000000..ed68e0745d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/build.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/pom.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-account/pom.xml new file mode 100644 index 0000000000..91afdaea58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/pom.xml @@ -0,0 +1,71 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-bigbank-account + jar + Apache Tuscany SCA BigBank Account Demo + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-core-spi + 2.0-incubating-SNAPSHOT + + + + + org.apache.ws.security + wss4j + 1.5.3 + + + + + demo-bigbank-account + + + org.apache.maven.plugins + maven-antrun-plugin + + + + ant + ant-trax + 1.6.5 + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountDetails.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountDetails.java new file mode 100644 index 0000000000..57c1adcba0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountDetails.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 bigbank.account.checking; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class CheckingAccountDetails { + private String accountNumber; + private double balance; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public double getBalance() { + return balance; + } + + public void setBalance(double b) { + this.balance = b; + } + + @Override + public String toString() { + return accountNumber + ", balance:" + balance; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountService.java new file mode 100644 index 0000000000..bf919525c4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountService.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 bigbank.account.checking; + +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.annotations.Service; + +/** + * @version $$Rev$$ $$Date$$ + */ +@Service +@Remotable +public interface CheckingAccountService { + + public CheckingAccountDetails getAccountDetails(String customerID); + + public double deposit(String accountNo, double depositAmt); + + public double withdraw(String accountNo, double withdrawalAmount); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountServiceImpl.java new file mode 100644 index 0000000000..0ed4b1dd2e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/checking/CheckingAccountServiceImpl.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 bigbank.account.checking; + +import java.util.HashMap; +import java.util.Map; + +import org.osoa.sca.annotations.Service; + +/** + * + * */ + +@Service(CheckingAccountService.class) +public class CheckingAccountServiceImpl implements CheckingAccountService { + private Map custAcctMap = new HashMap(); + private Map checkingAccts = new HashMap(); + + public CheckingAccountServiceImpl() { + custAcctMap.put("Customer_01", "CHA_Customer_01"); + custAcctMap.put("Customer_02", "CHA_Customer_02"); + custAcctMap.put("Customer_03", "CHA_Customer_03"); + + checkingAccts.put("CHA_Customer_01", new Double(1000)); + checkingAccts.put("CHA_Customer_02", new Double(1500)); + checkingAccts.put("CHA_Customer_03", new Double(2000)); + } + + public double deposit(String accountNo, double depositAmt) { + checkingAccts.put(accountNo, new Double(checkingAccts.get(accountNo).doubleValue() + depositAmt)); + return checkingAccts.get(accountNo).doubleValue(); + } + + public CheckingAccountDetails getAccountDetails(String customerID) { + CheckingAccountDetails checkingAccount = new CheckingAccountDetails(); + checkingAccount.setAccountNumber(custAcctMap.get(customerID)); + checkingAccount.setBalance(checkingAccts.get(checkingAccount.getAccountNumber()).doubleValue()); + + return checkingAccount; + } + + public double withdraw(String accountNo, double withdrawalAmount) { + double balance = checkingAccts.get(accountNo).doubleValue(); + if ( balance - withdrawalAmount > 0 ) { + balance = balance - withdrawalAmount; + checkingAccts.put(accountNo, balance); + } + return balance; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountDetails.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountDetails.java new file mode 100644 index 0000000000..cc9023da60 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountDetails.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 bigbank.account.savings; + +import java.io.Serializable; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class SavingsAccountDetails implements Serializable { + private String accountNumber; + private double balance; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public double getBalance() { + return balance; + } + + public void setBalance(double b) { + this.balance = b; + } + + @Override + public String toString() { + return accountNumber + ", balance:" + balance; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountService.java new file mode 100644 index 0000000000..5bf6e6d26b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountService.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 bigbank.account.savings; + +import org.osoa.sca.annotations.Remotable; + +/** + * @version $$Rev$$ $$Date$$ + */ +@Remotable +public interface SavingsAccountService { + + public SavingsAccountDetails getAccountDetails(String customerID); + + public double deposit(String accountNo, double depositAmt); + + public double withdraw(String accountNo, double withdrawalAmount); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountServiceImpl.java new file mode 100644 index 0000000000..1f4f02ea6d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/savings/SavingsAccountServiceImpl.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 bigbank.account.savings; + +import java.util.HashMap; +import java.util.Map; + +import org.osoa.sca.annotations.Service; + +/** + * + * */ + +@Service(SavingsAccountService.class) +public class SavingsAccountServiceImpl implements SavingsAccountService { + private Map custAcctMap = new HashMap(); + private Map savingsAccts = new HashMap(); + + public SavingsAccountServiceImpl() { + custAcctMap.put("Customer_01", "SVA_Customer_01"); + custAcctMap.put("Customer_02", "SVA_Customer_02"); + custAcctMap.put("Customer_03", "SVA_Customer_03"); + + savingsAccts.put("SVA_Customer_01", new Double(1000)); + savingsAccts.put("SVA_Customer_02", new Double(1500)); + savingsAccts.put("SVA_Customer_03", new Double(2000)); + } + + public double deposit(String accountNo, double depositAmt) { + savingsAccts.put(accountNo, new Double(savingsAccts.get(accountNo).doubleValue() + depositAmt)); + return savingsAccts.get(accountNo).doubleValue(); + } + + public SavingsAccountDetails getAccountDetails(String customerID) { + SavingsAccountDetails savingsAccount = new SavingsAccountDetails(); + savingsAccount.setAccountNumber(custAcctMap.get(customerID)); + savingsAccount.setBalance(savingsAccts.get(savingsAccount.getAccountNumber()).doubleValue()); + + return savingsAccount; + } + + public double withdraw(String accountNo, double withdrawalAmount) { + double balance = savingsAccts.get(accountNo).doubleValue(); + if ( balance - withdrawalAmount > 0 ) { + balance = balance - withdrawalAmount; + savingsAccts.put(accountNo, balance); + } + return balance; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/AccountsDataPasswordCallbackHandler.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/AccountsDataPasswordCallbackHandler.java new file mode 100644 index 0000000000..579b4ee64b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/AccountsDataPasswordCallbackHandler.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 bigbank.account.security; + +import java.io.IOException; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.UnsupportedCallbackException; + +import org.apache.ws.security.WSPasswordCallback; + +/** + * Sample userid passwd generation class + */ +public class AccountsDataPasswordCallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, + UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; + if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) { + System.out.println(" Usage is SIGNATURE ... "); + pwcb.setPassword("bbservice"); + } else if ( pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN ) { + System.out.println("*** Calling ACCOUNTS-DATA Passwd Handler for AUTHENTICATING userID = " + + pwcb.getIdentifer() + " and password = " + pwcb.getPassword() ); + if ( pwcb.getIdentifer().equals("bbaservice") && pwcb.getPassword().equals("bbaservice")) { + System.out.println("AUTHENTICATION SUCCESSFUL!"); + } else { + System.out.println("AUTHENTICATION FAILED!"); + throw new UnsupportedCallbackException(pwcb, "UserId - Password Authentication Failed!"); + } + } + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/BigbankCheckingsAcl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/BigbankCheckingsAcl.java new file mode 100644 index 0000000000..5c64e11d10 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/BigbankCheckingsAcl.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 bigbank.account.security; + +import java.security.Principal; +import java.util.Hashtable; +import java.util.Map; + +/** + * @version $Rev$ $Date$ + */ +public class BigbankCheckingsAcl { + private static MapcheckingsAcl = new Hashtable(); + + static { + checkingsAcl.put("bbaservice", "Customer_01"); + checkingsAcl.put("bbUser01", "Customer_01"); + } + + + public static void authorize(Principal principal, String resource) { + if ( checkingsAcl.get(principal.getName()) == null || + !checkingsAcl.get(principal.getName()).equals(resource) ) { + throw new RuntimeException("User - " + principal.getName() + " not authorized to access account " + + resource); + } else { + System.out.println("Successfully Authorized '" + principal.getName() + " to access accounts of " + resource); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthImplementationPolicyProvider.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthImplementationPolicyProvider.java new file mode 100644 index 0000000000..c98dcacbf3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthImplementationPolicyProvider.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package bigbank.account.security; + +import org.apache.tuscany.sca.assembly.ConfiguredOperation; +import org.apache.tuscany.sca.assembly.Implementation; +import org.apache.tuscany.sca.assembly.OperationsConfigurator; +import org.apache.tuscany.sca.interfacedef.Operation; +import org.apache.tuscany.sca.invocation.Interceptor; +import org.apache.tuscany.sca.invocation.Phase; +import org.apache.tuscany.sca.policy.PolicySet; +import org.apache.tuscany.sca.provider.PolicyProvider; +import org.apache.tuscany.sca.runtime.RuntimeComponent; + +/** + * @version $Rev$ $Date$ + */ +public class CheckingsDeptAuthImplementationPolicyProvider implements PolicyProvider { + private RuntimeComponent component; + private Implementation implementation; + + public CheckingsDeptAuthImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { + super(); + this.component = component; + this.implementation = implementation; + } + + private String getContext() { + return "component.implementation: " + component.getURI() + "(" + implementation.getClass().getName() + ")"; + } + + private PolicySet findPolicySet(Operation operation) { + for (PolicySet ps : component.getPolicySets()) { + for (Object p : ps.getPolicies()) { + if (CheckingsDeptAuthPolicy.class.isInstance(p)) { + return ps; + } + } + } + + if ( component instanceof OperationsConfigurator ) { + for ( ConfiguredOperation confOp : ((OperationsConfigurator)component).getConfiguredOperations() ) { + if ( confOp.getName().equals(operation.getName())) { + for (PolicySet ps : confOp.getPolicySets()) { + for (Object p : ps.getPolicies()) { + if (CheckingsDeptAuthPolicy.class.isInstance(p)) { + return ps; + } + } + } + } + } + } + + return null; + } + + /** + * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) + */ + public Interceptor createInterceptor(Operation operation) { + PolicySet ps = findPolicySet(operation); + return ps == null ? null : new CheckingsDeptAuthPolicyInterceptor(getContext(), operation, ps); + } + + /** + * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() + */ + public String getPhase() { + return Phase.IMPLEMENTATION_POLICY; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicy.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicy.java new file mode 100644 index 0000000000..121ee9a3f8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicy.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package bigbank.account.security; + +import javax.xml.namespace.QName; + +import org.apache.tuscany.sca.policy.Policy; + +/** + * @version $Rev$ $Date$ + */ +public class CheckingsDeptAuthPolicy implements Policy { + + public QName getSchemaName() { + // TODO Auto-generated method stub + return null; + } + + public boolean isUnresolved() { + // TODO Auto-generated method stub + return false; + } + + public void setUnresolved(boolean unresolved) { + // TODO Auto-generated method stub + + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyInterceptor.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyInterceptor.java new file mode 100644 index 0000000000..c8b73d4ed4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyInterceptor.java @@ -0,0 +1,77 @@ +package bigbank.account.security; + +import java.security.Principal; +import java.util.logging.ConsoleHandler; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.xml.namespace.QName; + +import org.apache.tuscany.sca.interfacedef.Operation; +import org.apache.tuscany.sca.invocation.Interceptor; +import org.apache.tuscany.sca.invocation.Invoker; +import org.apache.tuscany.sca.invocation.Message; +import org.apache.tuscany.sca.policy.PolicySet; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * Policy handler to handle PolicySet related to Logging with the QName + * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy + */ +public class CheckingsDeptAuthPolicyInterceptor implements Interceptor { + private Invoker next; + + public CheckingsDeptAuthPolicyInterceptor(String context, Operation operation, PolicySet policySet) { + super(); + init(); + } + + private final void init() { + } + + public Message invoke(Message msg) { + Object msgBody = msg.getBody(); + if (msgBody instanceof Object[]) { + Object args[] = (Object[])msg.getBody(); + if ( msg.getQoSContext().get(Message.QOS_CTX_SECURITY_PRINCIPAL) != null ) { + BigbankCheckingsAcl.authorize((Principal)msg.getQoSContext().get(Message.QOS_CTX_SECURITY_PRINCIPAL), + (String)args[0]); + } + } + + Message responseMsg = null; + try { + responseMsg = getNext().invoke(msg); + return responseMsg; + } catch (RuntimeException e) { + throw e; + } + } + + public Invoker getNext() { + return next; + } + + public void setNext(Invoker next) { + this.next = next; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyProviderFactory.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyProviderFactory.java new file mode 100644 index 0000000000..5fecef691e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthPolicyProviderFactory.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 bigbank.account.security; + +import org.apache.tuscany.sca.assembly.Binding; +import org.apache.tuscany.sca.assembly.Implementation; +import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.provider.PolicyProvider; +import org.apache.tuscany.sca.provider.PolicyProviderFactory; +import org.apache.tuscany.sca.runtime.RuntimeComponent; +import org.apache.tuscany.sca.runtime.RuntimeComponentReference; +import org.apache.tuscany.sca.runtime.RuntimeComponentService; + +/** + * @version $Rev$ $Date$ + */ +public class CheckingsDeptAuthPolicyProviderFactory implements PolicyProviderFactory { + private ExtensionPointRegistry registry; + + public CheckingsDeptAuthPolicyProviderFactory(ExtensionPointRegistry registry) { + super(); + this.registry = registry; + } + + /** + * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) + */ + public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { + return new CheckingsDeptAuthImplementationPolicyProvider(component, implementation); + } + + /** + * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) + */ + public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, + RuntimeComponentReference reference, + Binding binding) { + return null; + } + + /** + * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) + */ + public PolicyProvider createServicePolicyProvider(RuntimeComponent component, + RuntimeComponentService service, + Binding binding) { + return null; + } + + /** + * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() + */ + public Class getModelType() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyHandler.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyHandler.java new file mode 100644 index 0000000000..419b5def58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyHandler.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 bigbank.account.security; + +import java.security.Principal; + +import org.apache.tuscany.sca.invocation.Message; +import org.apache.tuscany.sca.policy.PolicySet; +import org.apache.tuscany.sca.policy.util.PolicyHandler; + +/** + * @version $Rev$ $Date$ + */ +public class CheckingsDeptAuthorizationPolicyHandler implements PolicyHandler { + private PolicySet applicablePolicySet = null; + + public void afterInvoke(Object... context) { + } + + public void beforeInvoke(Object... context) { + for ( int count = 0 ; count < context.length ; ++count ) { + if ( context[count] instanceof Message ) { + Message msg = (Message)context[count]; + Object args[] = (Object[])msg.getBody(); + if ( msg.getQoSContext().get(Message.QOS_CTX_SECURITY_PRINCIPAL) != null ) { + BigbankCheckingsAcl.authorize((Principal)msg.getQoSContext().get(Message.QOS_CTX_SECURITY_PRINCIPAL), + (String)args[0]); + } + } + } + } + + public void cleanUp(Object... arg0) { + } + + public PolicySet getApplicablePolicySet() { + return this.applicablePolicySet; + } + + public void setApplicablePolicySet(PolicySet policySet) { + this.applicablePolicySet = policySet; + } + + public void setUp(Object... arg0) { + + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyProcessor.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyProcessor.java new file mode 100644 index 0000000000..da1b6e1d06 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/security/CheckingsDeptAuthorizationPolicyProcessor.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package bigbank.account.security; + +import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; +import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; +import org.apache.tuscany.sca.contribution.resolver.ModelResolver; +import org.apache.tuscany.sca.contribution.service.ContributionReadException; +import org.apache.tuscany.sca.contribution.service.ContributionResolveException; +import org.apache.tuscany.sca.contribution.service.ContributionWriteException; + +/** + * Implementation of a Policy Processor + * + */ +public class CheckingsDeptAuthorizationPolicyProcessor implements StAXArtifactProcessor { + private static final QName CHECKINGS_DEPT_AUTHORIZATION_POLICY_QNAME = new QName("http://bigbank/checkings", "AuthPolicy"); + public QName getArtifactType() { + return CHECKINGS_DEPT_AUTHORIZATION_POLICY_QNAME; + } + + public CheckingsDeptAuthorizationPolicyProcessor(ModelFactoryExtensionPoint modelFactories) { + } + + + public CheckingsDeptAuthPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { + CheckingsDeptAuthPolicy policy = new CheckingsDeptAuthPolicy(); + return policy; + } + + public void write(CheckingsDeptAuthPolicy policy, XMLStreamWriter writer) throws ContributionWriteException, + XMLStreamException { + String prefix = "tuscany"; + writer.writeStartElement(prefix, + CHECKINGS_DEPT_AUTHORIZATION_POLICY_QNAME.getLocalPart(), + CHECKINGS_DEPT_AUTHORIZATION_POLICY_QNAME.getNamespaceURI()); + writer.writeNamespace("chk", "http://bigbank/checkings"); + + + writer.writeEndElement(); + } + + public Class getModelType() { + return CheckingsDeptAuthPolicy.class; + } + + public void resolve(CheckingsDeptAuthPolicy arg0, ModelResolver arg1) throws ContributionResolveException { + + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountDetails.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountDetails.java new file mode 100644 index 0000000000..1473436000 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountDetails.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 bigbank.account.stock; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class StockAccountDetails { + private String accountNumber; + private String symbol; + private int quantity; + + public StockAccountDetails() { + } + + public StockAccountDetails(String acNo, String symbol, int qty) { + this.accountNumber = acNo; + this.symbol = symbol; + this.quantity = qty; + } + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int a) { + this.quantity = a; + } + + public String getSymbol() { + return symbol; + } + + public void setSymbol(String s) { + this.symbol = s; + } + + @Override + public String toString() { + return accountNumber + ", symbol:" + symbol + ", quantity:" + quantity; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountService.java new file mode 100644 index 0000000000..fcbf8a4831 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountService.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 bigbank.account.stock; + +import org.osoa.sca.annotations.Remotable; + +/** + * + */ +@Remotable +public interface StockAccountService { + + public StockAccountDetails getAccountDetails(String customerID); + + public StockAccountDetails buy(String accountNo, String symbol, int quantity); + + public StockAccountDetails sell(String accountNo, String symbol, int quantity); + + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountServiceImpl.java new file mode 100644 index 0000000000..28101a1986 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/java/bigbank/account/stock/StockAccountServiceImpl.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 bigbank.account.stock; + +import java.util.HashMap; +import java.util.Map; + +import org.osoa.sca.annotations.Service; + +/** + * + * */ + +@Service(StockAccountService.class) +public class StockAccountServiceImpl implements StockAccountService { + private Map custAcctMap = new HashMap(); + private Map stockAccts = new HashMap(); + + public StockAccountServiceImpl() { + custAcctMap.put("Customer_01", "STA_Customer_01"); + custAcctMap.put("Customer_02", "STA_Customer_02"); + custAcctMap.put("Customer_03", "STA_Customer_03"); + + stockAccts.put("STA_Customer_01", new StockAccountDetails("STA_Customer_01", "IBM", 100)); + stockAccts.put("STA_Customer_02", new StockAccountDetails("STA_Customer_02", "IBM", 200)); + stockAccts.put("STA_Customer_03", new StockAccountDetails("STA_Customer_03", "SYM_3", 125)); + } + + + public StockAccountDetails buy(String accountNo, String symbol, int quantity) { + return null; + } + + public StockAccountDetails getAccountDetails(String customerID) { + return stockAccts.get(custAcctMap.get(customerID)); + } + + public StockAccountDetails sell(String accountNo, String symbol, int quantity) { + return null; + } + + + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/CheckingsAccount.composite b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/CheckingsAccount.composite new file mode 100644 index 0000000000..cc76e30a75 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/CheckingsAccount.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..c5532b879d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor new file mode 100644 index 0000000000..6491a0d326 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Implementation class for the artifact processor extension +bigbank.account.security.CheckingsDeptAuthorizationPolicyProcessor;qname=http://bigbank/checkings#AuthPolicy,model=bigbank.account.security.CheckingsDeptAuthPolicy diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler new file mode 100644 index 0000000000..b1bce4339d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# PolicyHandlerClasses to interpret specific PolicyModels against specific QoS infrastructures +# handler classname;qname=;model= +bigbank.account.security.CheckingsDeptAuthorizationPolicyHandler;intent=http://bigbankAccount#authorization,model=bigbank.account.security.CheckingsDeptAuthPolicy diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory new file mode 100644 index 0000000000..d6bfe2167e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Implementation class for the policy extension +bigbank.account.security.CheckingsDeptAuthPolicyProviderFactory;model=bigbank.account.security.CheckingsDeptAuthPolicy \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/SavingsAccount.composite b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/SavingsAccount.composite new file mode 100644 index 0000000000..696b96d6e6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/SavingsAccount.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/StockAccount.composite b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/StockAccount.composite new file mode 100644 index 0000000000..62c0b63003 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/StockAccount.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/definitions.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/definitions.xml new file mode 100644 index 0000000000..31a8798f8b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/definitions.xml @@ -0,0 +1,58 @@ + + + + + + + + Authorization Intent + + + + + + + + + UsernameToken + bigbank.account.security.AccountsDataPasswordCallbackHandler + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/AccountJSON.html b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/AccountJSON.html new file mode 100644 index 0000000000..1609bf4b43 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/AccountJSON.html @@ -0,0 +1,92 @@ + + + +Tuscany JSON-RPC BigBank Client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tuscany JSON-RPC BigBank Client
+

This example uses the Dojo + Toolkit to create a JavaScript object accountService for + the service at http://localhost:8080/AccountJSONService using Dojo's + RPC classes and providing them with http://localhost:8080/AccountJSONService?smd + for Simple Method Description + (SMD) input.

+

It then creates a Dojo button that will envoke the getAccountReport + method of the accountService object.

+
RequestResponse

+ +
+
+
None Yet.
+
+
Dojo Debug:
+
+ + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/style.css b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/style.css new file mode 100644 index 0000000000..1071583264 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/web/style.css @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +* { font-family: arial; } + +table, th, td { border: 2px solid blue; border-collapse: collapse; } +th { color: white; background-color: blue; } diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..ac4d987a57 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/LICENSE b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/NOTICE b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/README b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/README new file mode 100644 index 0000000000..e8ff28fc0f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/README @@ -0,0 +1,2 @@ +bigbank-calculator is part of a larger demo called bigbank. +Please see the Readme file under bigbank to understand how bigbank-calculator fits into the overall demo. diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/build.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/build.xml new file mode 100644 index 0000000000..18064373bf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/build.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/pom.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/pom.xml new file mode 100644 index 0000000000..0b3185b8dc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/pom.xml @@ -0,0 +1,78 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-bigbank-calculator + Apache Tuscany SCA BigBank Calculator Demo + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-script + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rmi + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + ${artifactId} + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/AddService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/AddService.java new file mode 100644 index 0000000000..4eeb30a9c2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/AddService.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + +public interface AddService { + + double add(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..c89043276e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorService.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 calculator; + +/** + * The Calculator service interface. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorServiceImpl.java new file mode 100644 index 0000000000..ed7bee0f4e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/CalculatorServiceImpl.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of the Calculator service. + */ +@Service(CalculatorService.class) +public class CalculatorServiceImpl implements CalculatorService { + + private AddService addService; + private SubtractService subtractService; + private MultiplyService multiplyService; + private DivideService divideService; + + @Reference + public void setAddService(AddService addService) { + this.addService = addService; + } + + @Reference + public void setSubtractService(SubtractService subtractService) { + this.subtractService = subtractService; + } + + @Reference + public void setDivideService(DivideService divideService) { + this.divideService = divideService; + } + + @Reference + public void setMultiplyService(MultiplyService multiplyService) { + this.multiplyService = multiplyService; + } + + public double add(double n1, double n2) { + return addService.add(n1, n2); + } + + public double subtract(double n1, double n2) { + return subtractService.subtract(n1, n2); + } + + public double multiply(double n1, double n2) { + System.err.println("Multiply"); + return multiplyService.multiply(n1, n2); + } + + public double divide(double n1, double n2) { + return divideService.divide(n1, n2); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/DivideService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/DivideService.java new file mode 100644 index 0000000000..131c5a8014 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/DivideService.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + +public interface DivideService { + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/MultiplyService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/MultiplyService.java new file mode 100644 index 0000000000..a917896aeb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/MultiplyService.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + +public interface MultiplyService { + + double multiply(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/SubtractService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/SubtractService.java new file mode 100644 index 0000000000..e328f024ea --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/SubtractService.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + +public interface SubtractService { + + double subtract(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/demo/CalculatorServer.java b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/demo/CalculatorServer.java new file mode 100644 index 0000000000..b1861daafc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/java/calculator/demo/CalculatorServer.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 calculator.demo; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * @version $Rev$ $Date$ + */ +public class CalculatorServer { + + public static void main(String[] args) throws Exception { + + System.out.println("Starting the Sample SCA Calculator..."); + + SCADomain domain = SCADomain.newInstance("Calculator.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + + System.out.println("Bye"); + System.exit(0); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/Calculator.composite b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/Calculator.composite new file mode 100644 index 0000000000..851813d31f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/Calculator.composite @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js new file mode 100644 index 0000000000..1d4d221364 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function add(n1, n2) { + return n1 + n2; +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy new file mode 100644 index 0000000000..c31c1e8fd6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +def divide(n1, n2) { + return n1 / n2 +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py new file mode 100644 index 0000000000..dd56af0ad8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +def multiply(n1, n2): + print "Python Calculator component: multiply(", n1, ",", n2, ")" + return n1 * n2 \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb new file mode 100644 index 0000000000..08fa310f46 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +def subtract(n1, n2) + print "Ruby Calculator subtract(", n1, ",", n2, ")\n" + return n1 - n2 +end \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/LICENSE b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/NOTICE b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/README b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/README new file mode 100644 index 0000000000..2ea98d020c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/README @@ -0,0 +1,4 @@ +bigbank-stockquote is a part of a larger demo called bigbank. +Please see the Readme file under bigbank to understand how bigbank-stockquote fits into the overall demo. + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/build.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/build.xml new file mode 100644 index 0000000000..145c158ac2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/build.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/pom.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/pom.xml new file mode 100644 index 0000000000..e1e331a92c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/pom.xml @@ -0,0 +1,85 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-bigbank-stockquote + Apache Tuscany SCA BigBank StockQuote Demo + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.ws.security + wss4j + 1.5.3 + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + ${artifactId} + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java new file mode 100644 index 0000000000..2d7821171d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.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 stockquote; + +import java.io.IOException; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.UnsupportedCallbackException; + +import org.apache.ws.security.WSPasswordCallback; + +/** + * Sample userid passwd generation class + */ +public class PasswordCallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, + UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + System.out.println("*** Calling Server User/Passwd Handler...." ); + WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; + System.out.println("*** Getting password for user ...." + pwcb.getIdentifer() + " & " + pwcb.getKey()); + if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) { + System.out.println(" Usage is SIGNATURE ... "); + pwcb.setPassword("sqservice"); + } + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java new file mode 100644 index 0000000000..2a0801f9b8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.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 stockquote; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the StockQuote service. + */ +@Service(StockQuoteService.class) +public class StockQuoteImpl implements StockQuoteService { + + public double getQuote(String symbol) { + double price = 104.0 + Math.random(); + price = ((int)(price * 100)) / 100.0; + + System.out.println("Getting stock quote for: " + symbol + ", value: "+ price); + + return price; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java new file mode 100644 index 0000000000..9d128657eb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.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 stockquote; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the StockQuote service. + */ +@Remotable +public interface StockQuoteService { + + public double getQuote(String symbol); +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java new file mode 100644 index 0000000000..04ed762602 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.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 stockquote.demo; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This server program shows how to bootstrap SCA from a simple J2SE program + * and start it which activates the StockQuote Web service endpoint. + */ +public class StockQuoteServer { + + public static void main(String[] args) throws Exception { + + System.out.println("Starting the Sample SCA StockQuote Service..."); + + SCADomain domain = SCADomain.newInstance("StockQuote.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + System.out.println("Bye"); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/StockQuote.composite b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/StockQuote.composite new file mode 100644 index 0000000000..aaad92c861 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/StockQuote.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/definitions.xml b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/definitions.xml new file mode 100644 index 0000000000..7e1f51304e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/definitions.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + Timestamp Signature + security.properties + + + + + Timestamp Signature + sqservice + security.properties + stockquote.PasswordCallbackHandler + DirectReference + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/security.properties b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/security.properties new file mode 100644 index 0000000000..0063207e06 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/security.properties @@ -0,0 +1,4 @@ +org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin +org.apache.ws.security.crypto.merlin.keystore.type=jks +org.apache.ws.security.crypto.merlin.keystore.password=sqkeystore +org.apache.ws.security.crypto.merlin.file=stockQuote.jks \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/stockQuote.jks b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/stockQuote.jks new file mode 100644 index 0000000000..d53d32c4ef Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/bigbank-stockquote/src/main/resources/stockQuote.jks differ diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/bigbank/DISCLAIMER new file mode 100644 index 0000000000..8e5c524323 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/LICENSE b/sandbox/sebastien/java/sca-node/demos/bigbank/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/NOTICE b/sandbox/sebastien/java/sca-node/demos/bigbank/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/README b/sandbox/sebastien/java/sca-node/demos/bigbank/README new file mode 100644 index 0000000000..5ec796db60 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/README @@ -0,0 +1,127 @@ +BigBank Demo +============ + +This application is made of 3 modules that represent the different aspects +of a fictitious banking application. Please see bigbank.png in the bigbank-account directory for a diagram of this demo. + +To run the bigbank-account demo you need to first run bigbank-calculator and bigbank-stockquote composites. This will bring up Tuscany runtime and load the two applications and make them available as services. Bigbank-account is dependent on these services. + +This demo uses ant. This is just one way of running this demo. + +Start Bigbank-calculator composite +---------------------------------- + +Bigbank-calculator is a calculator application which handles add, subtract, multiply and divide operations. Each of these operations is implemented in a different language, including JavaScript, groovy, Ruby and Python. + +To run the bigbank-calculator composite and make it available as a service for this demo do the following: + +cd bigbank-calculator +ant compile +ant run + +.. Leave the server running + +Note that 'ant compile' needs to be done the first time you run this demo out of the binary distribution. No need to do 'ant compile' from there on. + +Start Bigbank-stockquote +------------------------ + +A very simple web services based stock quote application which returns random +stock quotes on request. Please note that the stockquote service is not live and is implemented instead to allow for this application to always run without dependency on the availability of a webservice. + +cd bigbank-stockquote +ant compile +ant run + +.. Leave the server running + +Note that 'ant compile' needs to be done the first time you run this demo out of the binary distribution. No need to do 'ant compile' from there on. + +Start Bigbank +------------- +The BigBank comprises of two subsystems that are built from two distinct contributions coming from ... +1) bigbank + This contains all artifacts that make up the bigbank application. This is the application that the + end user interacts with + +2) bigbank-account + This contains all artifacts that deal with the account management within the bigbank. The services + offered by the bigbank-account module are used by the bigbank. The end user never gets to directly + interact with bigbank account + +Besides the bigbank-account the bigbank composite application calls into bigbank-stockquote and +bigbank-calculator services. + +Start bigbank-account in the following way: + +i ) Compile the bigbank-account as follows : + + cd bigbank-account + ant compile + +ii) Now start the bigbank service as follows : + + cd bigbank + ant compile + ant run + + .. Leave the server running + +Note that 'ant compile' needs to be done the first time you run this demo out ofthe binary distribution. +No need to do 'ant compile' from there on. + +Bigbank and the SCA Policies +---------------------------- +The Bigbank demo uses the Tuscany PolicyFramework to enforce security in the following ways: + +Authentication +-------------- + The bigbank-account subsystem enforces authentication as a required security characteristic for + all interactions with its CheckingAccountService. Hence the 'bigbank' application which is a client + to this service authenticates itself for every interaction with the CheckingAccountService. The interaction + between the bigbank and the CheckingAccountService is over the ws binding. + +Integrity +--------- + All interactions of the bigbank application with the StockQuoteService are guarded with message integrity. + These interactions use the ws binding. + +Authorization +------------- + Within the bigbank-account subsystem the CheckingAccountService implementation enforces authorization on + its operations. This is an instance of a custom policy enforcement i.e. the CheckingAccountService + component's implementation has defined its own customized way of authorizing access to its services. + +Demonstrated features +--------------------- +This demo is to illustrate the following : - +- composition of an application using artifacts belonging to multiple contributions (here two) +- usage of sca policies in composite definitions with specific emphasis on enabling security + + +Run the demo +------------- +The front end of this demo application is a web app which users Json/RPC to communicate with the backend for retrieving account information. + +To try the app out point you browser at: + +http://localhost:8080/AccountJSON.html + +This should display an interface with a single button that goes and retrieves +a single set of account details exercising services across the three running +SCA applications. + +If you press on getAccountReport, you'll see a response posted, +but the detail of the data will be displayed in the console where you started bigbank. Among other +things you will note messages that confirm the enforecement of AUTHENTICATION, AUTHORIZATION and +SIGNING of messages exchaged. + +On the console where you have started the StockQuote Service you should again be able to see messages +that confirm the signing of messages exchanged. + +Stop the demo +------------- +Go to each of the corresponding command line screens and hit 'enter'. +This will stop each of the applications. + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.png b/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.png new file mode 100644 index 0000000000..985cc6bd05 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.svg b/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.svg new file mode 100644 index 0000000000..30aa0eab6d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/bigbank.svg @@ -0,0 +1,537 @@ + + + + + + + + + + image/svg+xml + + + + + + + + CompositeBigBank WebApp + + Component AccountJava + + + + Component AccountDataJava + binding.jsonrpc + binding.ws + binding.rmi + + + + CompositeStockQuote + + CompositeCalculator + + Component CalculatorJava + + + + Component AddJavascript + binding.rmi + + + Component SubtractRuby + + Component MultiplyPython + + Component DivideGroovy + + + + Component StockQuoteJava + + binding.ws + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/build-dojo.xml b/sandbox/sebastien/java/sca-node/demos/bigbank/build-dojo.xml new file mode 100644 index 0000000000..9d282c2dd2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/build-dojo.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/build.xml b/sandbox/sebastien/java/sca-node/demos/bigbank/build.xml new file mode 100644 index 0000000000..046aadd228 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/build.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/pom.xml b/sandbox/sebastien/java/sca-node/demos/bigbank/pom.xml new file mode 100644 index 0000000000..ea3c134b08 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/pom.xml @@ -0,0 +1,201 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-bigbank + jar + Apache Tuscany SCA BigBank Demo + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-data-api + 2.0-incubating-SNAPSHOT + + + + org.apache.ws.security + wss4j + 1.5.3 + + + + org.apache.tuscany.sca + demo-bigbank-account + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-atom-abdera + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rss-rome + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rmi + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-resource-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-http-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + demo-bigbank + + + org.apache.maven.plugins + maven-antrun-plugin + + + + ant + ant-trax + 1.6.5 + + + + + + install-dojo + validate + + run + + + + + + + + + + + copy-dojo-files + generate-resources + + run + + + + + + + + + + + + clean-dojo-files + clean + + run + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountService.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountService.java new file mode 100644 index 0000000000..2cb8027874 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountService.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 bigbank.account; + +import org.osoa.sca.annotations.Remotable; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Remotable +public interface AccountService { + + public double getAccountReport(String customerID); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountServiceImpl.java new file mode 100644 index 0000000000..4f0e3879dc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/AccountServiceImpl.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package bigbank.account; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import stockquote.StockQuoteService; +import bigbank.account.checking.CheckingAccountDetails; +import bigbank.account.checking.CheckingAccountService; +import bigbank.account.savings.SavingsAccountDetails; +import bigbank.account.savings.SavingsAccountService; +import bigbank.account.stock.StockAccountDetails; +import bigbank.account.stock.StockAccountService; +import calculator.CalculatorService; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Service(AccountService.class) +public class AccountServiceImpl implements AccountService { + + @Reference + protected SavingsAccountService savingsAcService; + + @Reference + protected CheckingAccountService checkingAcService; + + @Reference + protected StockAccountService stockAcService; + + @Reference + protected StockQuoteService stockQuoteService; + + @Reference + protected CalculatorService calculatorService; + + @Property + protected String currency; + + public double getAccountReport(String customerID) { + + // Get the checking, savings and stock accounts from the AccountData + // service component + CheckingAccountDetails checking = null; + try { + checking = checkingAcService.getAccountDetails(customerID); + System.out.println("Checking account: " + checking); + + SavingsAccountDetails savings = savingsAcService.getAccountDetails(customerID); + System.out.println("Savings account: " + savings); + + StockAccountDetails stock = stockAcService.getAccountDetails(customerID); + System.out.println("Stock account: " + stock); + + // Get the stock price in USD + double price = stockQuoteService.getQuote(stock.getSymbol()); + System.out.println("Stock price for " + stock.getSymbol() + ": " + price); + + // Convert to the configured currency + if (currency.equals("EURO")) { + + // Use our fancy calculator service to convert to the target currency + price = calculatorService.multiply(price, 0.70); + + System.out.println("Converted to " + currency + ": " + price); + } + + // Calculate the value of the stock account + double stockValue = price * stock.getQuantity(); + + // Calculate the total balance of all accounts and return it + double balance = checking.getBalance() + savings.getBalance() + stockValue; + + return balance; + } catch ( Throwable e ) { + e.printStackTrace(); + return 0; + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/feed/AccountFeedImpl.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/feed/AccountFeedImpl.java new file mode 100644 index 0000000000..13d79a9c33 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/account/feed/AccountFeedImpl.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 bigbank.account.feed; + +import org.apache.tuscany.sca.data.collection.Collection; +import org.apache.tuscany.sca.data.collection.Entry; +import org.apache.tuscany.sca.data.collection.NotFoundException; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import bigbank.account.AccountService; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Service(Collection.class) +public class AccountFeedImpl implements Collection { + + @Reference + protected AccountService accountService; + + public Entry[] getAll() { + + // Add the Account report entry + String report = get("1234"); + Entry entry = new Entry("1234", report); + + return new Entry[] { entry } ; + } + + public String get(String id) { + + // Get the account report for the specified customer ID + double balance = accountService.getAccountReport(id); + String report = Double.toString(balance); + + return report; + } + + public void delete(String key) throws NotFoundException { + } + + public String post(String key, String item) { + return null; + } + + public void put(String key, String item) throws NotFoundException { + } + + public Entry[] query(String queryString) { + return null; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/client/BigBankClient.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/client/BigBankClient.java new file mode 100644 index 0000000000..a7fa5ecc22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/client/BigBankClient.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 bigbank.client; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import bigbank.account.AccountService; + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class BigBankClient { + + public static void main(String[] args) throws Exception { + + SCADomain domain = SCADomain.newInstance("BigBank.composite"); + + AccountService accountService = domain.getService(AccountService.class, "AccountServiceComponent"); + + String customerID = "1234"; + + System.out.println("Calling account service for customer: " + customerID); + System.out.println(); + double balance = accountService.getAccountReport(customerID); + + System.out.println(); + System.out.println("Balance: " + balance); + + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/demo/BigBankServer.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/demo/BigBankServer.java new file mode 100644 index 0000000000..05360e07a5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/demo/BigBankServer.java @@ -0,0 +1,130 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package bigbank.demo; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +import bigbank.account.savings.SavingsAccountService; + + + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class BigBankServer { + + public static void main(String[] args) throws Exception { + long timeout = -1L; + if (args.length > 0) { + timeout = Long.parseLong(args[0]); + } + + System.out.println("Starting the Sample SCA BigBank server..."); + ClassLoader cl = BigBankServer.class.getClassLoader(); + EmbeddedSCADomain domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + URL javaContribURL = getContributionURL(SavingsAccountService.class); + Contribution bigbankAcContribution = contributionService.contribute("http://bigbank-account", javaContribURL, false); + for (Composite deployable : bigbankAcContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + URL bigbankContribUrl = getContributionURL(BigBankServer.class); + Contribution bigbankContribution = contributionService.contribute("http://bigbank", bigbankContribUrl, false); + for (Composite deployable : bigbankContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + + //Start Components from composite + for (Composite deployable : bigbankAcContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + for (Composite deployable : bigbankContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + if (timeout < 0) { + System.out.println("Press Enter to Exit..."); + System.in.read(); + } else { + Thread.sleep(timeout); + } + + contributionService.remove("http://bigbank-account"); + contributionService.remove("http://bigbank"); + + // Stop Components from composite + for (Composite deployable : bigbankContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + + domain.stop(); + + domain.close(); + + + /*SCADomain domain = SCADomain.newInstance("BigBank.composite"); + + if (timeout < 0) { + System.out.println("Press Enter to Exit..."); + System.in.read(); + } else { + Thread.sleep(timeout); + } + + domain.close();*/ + + System.out.println("Bye"); + } + + private static URL getContributionURL(Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cls.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/security/BigbankPasswordCallbackHandler.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/security/BigbankPasswordCallbackHandler.java new file mode 100644 index 0000000000..6d3b547939 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/bigbank/security/BigbankPasswordCallbackHandler.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 bigbank.security; + +import java.io.IOException; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.UnsupportedCallbackException; + +import org.apache.ws.security.WSPasswordCallback; + +/** + * Sample userid passwd generation class + */ +public class BigbankPasswordCallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, + UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; + //System.out.println("*** Getting password for user ...." + pwcb.getIdentifer() + " & " + pwcb.getKey()); + if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) { + System.out.println("*** Calling BIG-BANK Passwd Handler for SIGNING...." ); + pwcb.setPassword("bbservice"); + } else if ( pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN ) { + if ( pwcb.getIdentifer().equals("bbaservice")) { + System.out.println("*** Calling BIG-BANK Passwd Handler for setting AUTHENTICATION password...." ); + pwcb.setPassword("bbaservice"); + } + } + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/calculator/CalculatorService.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..c89043276e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/calculator/CalculatorService.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 calculator; + +/** + * The Calculator service interface. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/stockquote/StockQuoteService.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/stockquote/StockQuoteService.java new file mode 100644 index 0000000000..749b8ee2f4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/java/stockquote/StockQuoteService.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 stockquote; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the StockQuote service. + */ +@Remotable +public interface StockQuoteService { + public double getQuote(String symbol); +} diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/BigBank.composite b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/BigBank.composite new file mode 100644 index 0000000000..e57541b423 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/BigBank.composite @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EURO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..154992c843 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/bigbank.jks b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/bigbank.jks new file mode 100644 index 0000000000..e6294d85f7 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/bigbank.jks differ diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/definitions.xml b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/definitions.xml new file mode 100644 index 0000000000..8654151d82 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/definitions.xml @@ -0,0 +1,64 @@ + + + + + + + + + + Timestamp Signature + security.properties + + + + + Timestamp Signature + bbservice + security.properties + bigbank.security.BigbankPasswordCallbackHandler + DirectReference + + + + + + + + + + UsernameToken + bbaservice + bigbank.security.BigbankPasswordCallbackHandler + PasswordText + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/security.properties b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/security.properties new file mode 100644 index 0000000000..762d0523d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/security.properties @@ -0,0 +1,4 @@ +org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin +org.apache.ws.security.crypto.merlin.keystore.type=jks +org.apache.ws.security.crypto.merlin.keystore.password=bbakeystore +org.apache.ws.security.crypto.merlin.file=bigbank.jks \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/AccountJSON.html b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/AccountJSON.html new file mode 100644 index 0000000000..9f4368443f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/AccountJSON.html @@ -0,0 +1,92 @@ + + + +Tuscany JSON-RPC BigBank Client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tuscany JSON-RPC BigBank Client
+

This example uses the Dojo + Toolkit to create a JavaScript object accountService for + the service at http://localhost:8080/AccountJSONService using Dojo's + RPC classes and providing them with http://localhost:8080/AccountJSONService?smd + for Simple Method Description + (SMD) input.

+

It then creates a Dojo button that will envoke the getAccountReport + method of the accountService object.

+
RequestResponse

+ +
+
+
None Yet.
+
+
Dojo Debug:
+
+ + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/style.css b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/style.css new file mode 100644 index 0000000000..1071583264 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/web/style.css @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +* { font-family: arial; } + +table, th, td { border: 2px solid blue; border-collapse: collapse; } +th { color: white; background-color: blue; } diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/wsdl/AccountService.wsdl b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..ac4d987a57 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/bigbank/src/test/java/test/BigBankTestCase.java b/sandbox/sebastien/java/sca-node/demos/bigbank/src/test/java/test/BigBankTestCase.java new file mode 100644 index 0000000000..3b7c5ef2ad --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/bigbank/src/test/java/test/BigBankTestCase.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 test; + +import junit.framework.TestCase; + +import bigbank.demo.BigBankServer; + +/** + * @version $Rev$ $Date$ + */ +public class BigBankTestCase extends TestCase { + + public void testServer() throws Exception { + BigBankServer.main(new String[] {"1000"}); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/DISCLAIMER new file mode 100644 index 0000000000..8e5c524323 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/LICENSE b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/NOTICE b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/README b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/README new file mode 100644 index 0000000000..b7bbb64b1a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/README @@ -0,0 +1,76 @@ +WebApp Load Balancing Demo +=========================== + +Demonstrates balancing load acoss SCA services by deploying an SCA composite +to two tomcat servers in a cluster. The tomcat servers sit behind an Apache +server which directs load to one or other tomcat server based on a set of rules. + +The mvn pom distributed with this sample will download, install and configure +two Tomcat servers automatically to act as workers. You need to install the +Apache web server and configure it manually. + +1 - Install and configure the Tomcat workers + +mvn + +This results in two tomcat servers at + +target/tomcat-8085 +target/tomcat-8086 + +2 - Install and configure the Apache server to balance load + +In this case we've chosen to use the native JK connector. There are several +resources that tell you how to configure Apache for load balancing Tomcat with +the JK connector. For example, + +http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html +http://www.crazysquirrel.com/computing/debian/servers/tomcat55.jspx + +Here is a high level summary + +Download the latest version of Apache 2.2 (this demo was built with Apache 2.2.6) + http://httpd.apache.org/ + Install in a local director called, say, apache + +Download the mod_jk module (in binary form if you can) + http://tomcat.apache.org/download-connectors.cgi + Install it in apache/modules + +Configure the mod_jk module + Copy src/test/resources/apache-80/conf/workers.properties to apache/conf + Append the contents of src/test/resources/apache-80/conf/httpd.conf to apache/conf/httpf.conf + +3 - Start the apache and tomcat servers + +In three command prompts + +cd target/tomcat-8085 +bin/catalina run + +cd target/tomcat-8086 +bin/catalina run + +cd apache +bin/httpd + +4 - Run the client + +run the LanchClient program - TBD - need a script + +5 - Result + +The client will make 10 calls to the SCA service described in the helloworldws.composite that +is part of the webapp deployed to the tomcat servers. You will see the result of this +service call reported at the client in the form + +Called getGreetings +Hello World 6 + +If you look at the Tomcat consoles you will see that each server deals with half the requests +as the load is balanced equally between the two of them. + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build-tomcat.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build-tomcat.xml new file mode 100644 index 0000000000..7e1dc4b0e9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build-tomcat.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build.xml new file mode 100644 index 0000000000..813423743f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/build.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/pom.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/pom.xml new file mode 100644 index 0000000000..60b1bab76b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/pom.xml @@ -0,0 +1,349 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-load-balancing-webapp + war + Apache Tuscany SCA WebApp Load Balancing Demo + A sample SCA application that is deployed as a webapp to a cluster of tomcat servers + + + + org.apache.tuscany.sca + tuscany-host-webapp + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-monitor-logging + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-node2-impl + 2.0-incubating-SNAPSHOT + + + + tomcat + catalina-balancer + 5.5.12 + + + + javax.servlet + servlet-api + 2.4 + provided + + + + junit + junit + 4.2 + test + + + + + + 8085 + http://127.0.0.1:${http.port} + ${env.CATALINA_HOME} + + + + ${artifactId} + + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.1 + + + + ant + ant-trax + 1.6.5 + + + + + + download-tomcat + validate + + run + + + + + + + + + + + + unpack-tomcat-8086 + generate-resources + + run + + + + + + + + + + + unpack-tomcat-8087 + generate-resources + + run + + + + + + + + + + + + configure-tomcat-8086 + pre-integration-test + + run + + + + + + + + + + + configure-tomcat-8087 + pre-integration-test + + run + + + + + + + + + + + + copy-webapp-8086 + pre-integration-test + + run + + + + + + + + + + + copy-webapp-8087 + pre-integration-test + + run + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/client/LaunchClient.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/client/LaunchClient.java new file mode 100644 index 0000000000..efa89b4fe9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/client/LaunchClient.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package client; + +import java.io.File; + +import helloworld.HelloWorldService; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.osoa.sca.ServiceRuntimeException; + +public class LaunchClient { + public static void main(String[] args) throws Exception { + + SCANode2 node = null; + try { + + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/client-contribution/helloworldwsclient.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/client-contribution").toURL().toString())); + + node.start(); + HelloWorldService helloWorldService = ((SCAClient)node).getService(HelloWorldService.class, "HelloWorldClientComponent"); + + + for (int i=0; i < 10; i++){ + System.out.println(helloWorldService.getGreetings("World " + i)); + } + + node.stop(); + + } catch (Exception e) { + throw new ServiceRuntimeException(e); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/domain/LaunchDomain.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/domain/LaunchDomain.java new file mode 100644 index 0000000000..33c37869a3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/domain/LaunchDomain.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 domain; + +//import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher; + +/** + * This server program that loads a composite to provide simple registry function. + * This server can be replaced with any registry that is appropriate but the components + * in each node that talk to the registry should be replaced also. + */ +public class LaunchDomain { + public static void main(String[] args) throws Exception { + // DomainManagerLauncher.main(args); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..65dc030d89 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldImpl.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 helloworld; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + String message = "Hello " + name; + System.err.println(message); + return message; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..7245513b2a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldService.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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); +} + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldServiceClient.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldServiceClient.java new file mode 100644 index 0000000000..f3d2fdb2ed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/helloworld/HelloWorldServiceClient.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 helloworld; + +/** + * The HelloWorld service implementation + */ +public class HelloWorldServiceClient implements HelloWorldService { + + HelloWorldService helloWorldService; + + public String getGreetings(String name) { + System.out.println("Called getGreetings"); + return helloWorldService.getGreetings(name); + } + + public HelloWorldService getHelloWorldService() { + System.out.println("Got Injected helloWorldService"); + return helloWorldService; + } + + public void setHelloWorldService(HelloWorldService helloWorldService) { + System.out.println("Injected helloWorldService"); + this.helloWorldService = helloWorldService; + } +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/org/apache/tuscany/sca/demos/loadbalancer/rule/RoundRobinRule.java b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/org/apache/tuscany/sca/demos/loadbalancer/rule/RoundRobinRule.java new file mode 100644 index 0000000000..5dc1b6671b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/java/org/apache/tuscany/sca/demos/loadbalancer/rule/RoundRobinRule.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tuscany.sca.demos.loadbalancer.rule; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.webapp.balancer.rules.BaseRule; + + +public class RoundRobinRule extends BaseRule { + /** + * The number of worker nodes that load will + * be balanced across + */ + private int workerCount; + + private int currentCount = 1; + + + /** + * Sets the worker count. + * + * @param workerCount The worker count + */ + public void setWorkerCount(int workerCount) { + if (workerCount == 0) { + throw new IllegalArgumentException( + "worker count cannot be 0."); + } else { + this.workerCount = workerCount; + } + } + + /** + * Returns the worker count. + * + * @return int The worker count + */ + protected int getWorkerCount() { + return workerCount; + } + + + + /** + * @see org.apache.webapp.balancer.Rule#matches(HttpServletRequest) + */ + public boolean matches(HttpServletRequest request) { + + if (currentCount == workerCount){ + currentCount = 1; + return true; + } else { + currentCount++; + return false; + } + } + + /** + * Returns a String representation of this object. + * + * @return String + */ + public String toString() { + StringBuffer buffer = new StringBuffer(); + + buffer.append("["); + buffer.append(getClass().getName()); + buffer.append(": "); + + buffer.append("Worker count: "); + buffer.append(getWorkerCount()); + buffer.append(" / "); + + buffer.append("Redirect URL: "); + buffer.append(getRedirectUrl()); + + buffer.append("]"); + + return buffer.toString(); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/resources/client-contribution/helloworldwsclient.composite b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/resources/client-contribution/helloworldwsclient.composite new file mode 100644 index 0000000000..9b6052741e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/resources/client-contribution/helloworldwsclient.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..11347004f9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-deployables/helloworldws.composite b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-deployables/helloworldws.composite new file mode 100644 index 0000000000..1ab78d802d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/META-INF/sca-deployables/helloworldws.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..8d47ae2207 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,37 @@ + + + + + + + Apache Tuscany Load Balancing Demo + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/httpd.conf b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/httpd.conf new file mode 100644 index 0000000000..37cf284d35 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/httpd.conf @@ -0,0 +1,28 @@ +# Load mod_jk module +# Update this path to match your modules location +LoadModule jk_module modules/mod_jk.so + +# Declare the module for (remove this line on Apache 2.x) +# AddModule mod_jk.c +# Where to find workers.properties +# Update this path to match your conf directory location (put workers.properties next to httpd.conf) +JkWorkersFile conf/workers.properties + +# Where to put jk shared memory +# Update this path to match your local state directory or logs directory +JkShmFile logs/mod_jk.shm + +# Where to put jk logs +# Update this path to match your logs directory location (put mod_jk.log next to access_log) +JkLogFile logs/mod_jk.log + +# Set the jk log level [debug/error/info] +JkLogLevel info + +# Select the timestamp log format +JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " + +# Send everything for context /examples to worker named worker1 (ajp13) +# JkMount /examples/* worker1 +# Send everything for context /* to the router +JkMount /* router diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/workers.properties b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/workers.properties new file mode 100644 index 0000000000..9228c4fd8e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/apache-80/conf/workers.properties @@ -0,0 +1,18 @@ + # Load balancer looks after the workers + worker.list=router + + # The load balacer + worker.router.type=lb + worker.router.balance_workers=worker1,worker2 + + # Set properties for worker1 (ajp13) + worker.worker1.type=ajp13 + worker.worker1.host=localhost + worker.worker1.port=8010 + worker.worker1.lbfactor=1 + + # Set properties for worker1 (ajp13) + worker.worker2.type=ajp13 + worker.worker2.host=localhost + worker.worker2.port=8011 + worker.worker2.lbfactor=1 diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/conf/server.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/conf/server.xml new file mode 100644 index 0000000000..920fa7b037 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/conf/server.xml @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/webapps/balancer/WEB-INF/config/rules.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/webapps/balancer/WEB-INF/config/rules.xml new file mode 100644 index 0000000000..7486dc8148 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8085/webapps/balancer/WEB-INF/config/rules.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8086/conf/server.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8086/conf/server.xml new file mode 100644 index 0000000000..5ecb8fe5c4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8086/conf/server.xml @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8087/conf/server.xml b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8087/conf/server.xml new file mode 100644 index 0000000000..f83c68191c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/load-balancing-webapp/src/test/resources/tomcat-8087/conf/server.xml @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/LICENSE b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/NOTICE b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/README b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/README new file mode 100644 index 0000000000..b785802920 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/README @@ -0,0 +1,6 @@ +Mortgage Loan Approval Demo +=========================== +Please refer to the README under mortgage-loanapproval for information on how to run this demo. + +Mortgage-creditcheck is part of a larger demo that is explained there. + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/build.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/build.xml new file mode 100644 index 0000000000..59f1342276 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/build.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/pom.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/pom.xml new file mode 100644 index 0000000000..deb953625f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/pom.xml @@ -0,0 +1,75 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-mortgage-creditcheck + jar + Apache Tuscany SCA Mortgage Credit Check Demo + A sample Mortgage application made of several SCA components wired together. + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + ${artifactId} + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheck.java b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheck.java new file mode 100644 index 0000000000..ec95a60227 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheck.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 credit; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CreditCheck { + int getCreditScore(String ssn); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckImpl.java new file mode 100644 index 0000000000..f19e8a1250 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckImpl.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 credit; + +import org.osoa.sca.annotations.Service; + +/** + * An implementation of the CreditReportService service + */ +@Service(CreditCheck.class) +public class CreditCheckImpl implements CreditCheck { + + public int getCreditScore(String ssn) { + int score = (int)(700 + (Math.random() - 0.5) * 100); + System.out.println("Credit score for " + ssn + ": " + score); + return score; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckServer.java b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckServer.java new file mode 100644 index 0000000000..870ea1941d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/java/credit/CreditCheckServer.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 credit; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * @version $Rev$ $Date$ + */ +public class CreditCheckServer { + public static void main(String[] args) throws Exception { + + System.out.println("Starting the CreditCheck Service..."); + + SCADomain domain = SCADomain.newInstance("http://localhost", "/", "CreditCheck.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + System.out.println("Bye"); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/CreditCheck.composite b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/CreditCheck.composite new file mode 100644 index 0000000000..5c828f5a39 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/CreditCheck.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/wsdl/credit.wsdl b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/wsdl/credit.wsdl new file mode 100644 index 0000000000..9c2acc96d3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/resources/wsdl/credit.wsdl @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..aea009292a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/WEB-INF/web.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..d7b2e32dd1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-creditcheck/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,37 @@ + + + + + + + Apache Tuscany Credit Check Demo + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/LICENSE b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/NOTICE b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/NOTICE new file mode 100644 index 0000000000..fdfa0e9faa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/README b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/README new file mode 100644 index 0000000000..dbf3829a20 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/README @@ -0,0 +1,60 @@ +Mortgage Loan Approval Demo +=========================== + +This demo was used as an example in the java developer journal article: http://jdj.sys-con.com/read/325183.htm. + +The demo consists of two modules: + +mortgage-loanapproval: provides the business logic for loan approval. +mortgage-creditcheck: handles credit check requests. This is a java component exposed as a webservice running on the embedded Tomcat. + +Please check mortgage_assembly.png file that is located in this directory for a high level view of the demo. + +Here is what happens when you run the demo. A loan approval request for customer with id 111-222-3333 +gets initiated when mortgage-loanapproval application is run. Depending on what the 'imaginary' credit + status of this person is, the loan gets approved or diapproved. + +You would need two command windows to run mortgage loan approval composite. The order in which the +applications are run is important. Run mortgage-creditcheck first since mortgage-loanapproval is dependent on +it's service. + +In the first command window +--------------------------- +1) go to mortgage-creditcheck directory +2) ant compile +3) ant run +You should see the following displayed: +Buildfile: build.xml + +run: + [java] Starting the CreditCheck Service... + [java] 14-Jan-2008 14:14:20 org.apache.tuscany.sca.http.jetty.JettyServer a +ddServletMapping + [java] INFO: Added Servlet mapping: http://L3AW203:8085/CreditCheckServiceC +omponent + [java] Press Enter to Exit... + +In the second command window +---------------------------- +1) go to mortgage-loanapproval directory +2) ant compile +3) ant run + +If the loan is approved, you will see the following displayed in the command screen where +mortgage-loanapproval is run: + +Buildfile: build.xml +run: + [java] Interest rate for a 30-year loan of $200000.0 in CA: 6.5% + [java] Approved: John Smith[111-22-3333] + +If the loan is disapproved, you will see the following displayed in the command screen where +mortgage-loanapproval is run: + +Buildfile: build.xml +run: + [java] Credit score for 111-22-3333: 708 + [java] Interest rate for a 30-year loan of $200000.0 in CA: 6.5% + [java] Debt/Income ratio 0.2528272093971861 is too high. + [java] Rejected: John Smith[111-22-3333] + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/build.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/build.xml new file mode 100644 index 0000000000..9a0a83bf1d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/build.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.jpg new file mode 100644 index 0000000000..e28ed63cfb Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.png new file mode 100644 index 0000000000..0bfce0078d Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/credit_composite.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.jpg new file mode 100644 index 0000000000..3f00557c7f Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.png new file mode 100644 index 0000000000..9d5f829fe5 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/loan_approval.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.jpg new file mode 100644 index 0000000000..515b6ecde7 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.png new file mode 100644 index 0000000000..4b815a4b82 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly0.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.jpg new file mode 100644 index 0000000000..01a7c55a14 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.png new file mode 100644 index 0000000000..07422c4f45 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly1.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.jpg new file mode 100644 index 0000000000..992c048684 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.png new file mode 100644 index 0000000000..4667956ed0 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_assembly2.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.jpg new file mode 100644 index 0000000000..5021f6a317 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.png new file mode 100644 index 0000000000..1398c50ded Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_composite.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_diagrams.doc b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_diagrams.doc new file mode 100644 index 0000000000..00d45e1084 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_diagrams.doc differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.jpg new file mode 100644 index 0000000000..e91c5f1bbd Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.png new file mode 100644 index 0000000000..db304a4c28 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package1.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.jpg new file mode 100644 index 0000000000..e8c2865e4a Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.png new file mode 100644 index 0000000000..502e538e94 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_package2.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.jpg b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.jpg new file mode 100644 index 0000000000..fccf2e35c3 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.jpg differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.png new file mode 100644 index 0000000000..b8f42ad318 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/doc/mortgage_scenario.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/mortgage_assembly.png b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/mortgage_assembly.png new file mode 100644 index 0000000000..4667956ed0 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/mortgage_assembly.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/pom.xml b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/pom.xml new file mode 100644 index 0000000000..91a6a8c8c2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/pom.xml @@ -0,0 +1,83 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-mortgage-loanapproval + jar + Apache Tuscany SCA Mortgage Loan Approval Demo + A sample Mortgage application made of several SCA components wired together. + + + 2.0-incubating-SNAPSHOT + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + org.apache.tuscany.sca + tuscany-implementation-script + 2.0-incubating-SNAPSHOT + runtime + + + + + + install + ${artifactId} + + + org.apache.maven.plugins + maven-jar-plugin + + + + mortgage.MortgageClient + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java new file mode 100644 index 0000000000..c5787b7819 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.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 mortgage; + +import org.osoa.sca.annotations.Remotable; + +/** + * CreditCheck interface + */ +@Remotable +public interface CreditCheck { + int getCreditScore(String ssn); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java new file mode 100644 index 0000000000..dc803d9688 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.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 mortgage; + +import org.osoa.sca.annotations.Service; + +/** + * A pojo implementation of the CreditCheck service + */ +@Service(CreditCheck.class) +public class CreditCheckImpl implements CreditCheck { + + public int getCreditScore(String ssn) { + int score = (int)(700 + (Math.random() - 0.5) * 100); + System.out.println("Credit score for " + ssn + ": " + score); + return score; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java new file mode 100644 index 0000000000..66a486d516 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package mortgage; + +/** + * A simple Customer object + */ +public class Customer { + private String ssn; + private String firstName; + private String lastName; + private double monthlyIncome; + private String state; + + public double getMonthlyIncome() { + return monthlyIncome; + } + + public void setMonthlyIncome(double monthlyIncome) { + this.monthlyIncome = monthlyIncome; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getSsn() { + return ssn; + } + + public void setSsn(String ssn) { + this.ssn = ssn; + } + + @Override + public String toString() { + return firstName + " " + lastName + "[" + ssn + "]"; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java new file mode 100644 index 0000000000..b5bafeb204 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package mortgage; + +public interface InterestRateQuote { + public float getRate(String state, double loanAmount, int termInYears); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java new file mode 100644 index 0000000000..8c642667f1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.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 mortgage; + +import org.osoa.sca.annotations.Service; + +@Service(InterestRateQuote.class) +public class InterestRateQuoteImpl implements InterestRateQuote { + public float getRate(String state, double loanAmount, int termInYears) { + float rate = 6.0f; + if (termInYears == 5) { + rate = 5.5f; + } else { + rate = 6.5f; + } + System.out.println("Interest rate for a " + termInYears + + "-year loan of $" + + loanAmount + + " in " + + state + + ": " + + rate + + "%"); + return rate; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java new file mode 100644 index 0000000000..dcdad18496 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.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 mortgage; + +/** + * Loan Approval interface + */ +public interface LoanApproval { + public boolean approve(Customer customer, double loanAmount, int years); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java new file mode 100644 index 0000000000..40bfdc4a1d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.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 mortgage; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of the LoanApproval service. + */ +@Service(LoanApproval.class) +// Service declaration +public class LoanApprovalImpl implements LoanApproval { + private CreditCheck[] creditCheck; + private MortgageCalculator mortgageCalculator; + private InterestRateQuote interestRateQuote; + + // Reference declaration using a protected or public field + @Reference + public RiskAssessment riskAssessment; + + private int minimumCreditScore = 650; + + // Property declaration using a setter method + @Property(name = "minimumCreditScore") + public void setMinimumCreditScore(int minimumCreditScore) { + this.minimumCreditScore = minimumCreditScore; + } + + // Reference declaration using a setter method + @Reference + public void setCreditCheck(CreditCheck[] creditCheck) { + this.creditCheck = creditCheck; + } + + @Reference + public void setInterestRateQuote(InterestRateQuote interestRateQuote) { + this.interestRateQuote = interestRateQuote; + } + + @Reference + public void setMortgageCalculator(MortgageCalculator mortgageCalculator) { + this.mortgageCalculator = mortgageCalculator; + } + + public boolean approve(Customer customer, double loanAmount, int years) { + int score = 0; + for (int i = 0; i < creditCheck.length; i++) { + score += creditCheck[i].getCreditScore(customer.getSsn()); + } + if (score != 0) { + score = score / creditCheck.length; + } + if (score < minimumCreditScore) { + System.err.println("Credit score " + score + " is below the minimum " + minimumCreditScore + "."); + return false; + } + float rate = interestRateQuote.getRate(customer.getState(), loanAmount, years); + double monthlyPayment = mortgageCalculator.getMonthlyPayment(loanAmount, years, rate); + double ratio = monthlyPayment / customer.getMonthlyIncome(); + boolean approved = riskAssessment.assess(score, ratio); + if (!approved) { + System.err.println("Debt/Income ratio " + ratio + " is too high."); + } + return approved; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java new file mode 100644 index 0000000000..cacd8694de --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.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 mortgage; + +import org.osoa.sca.annotations.Remotable; + +/** + * The Mortgage Calculator service interface. + */ +@Remotable +public interface MortgageCalculator { + public double getMonthlyPayment(double principal, int years, float interestRate); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java new file mode 100644 index 0000000000..015f1bae98 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.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 mortgage; + +import org.osoa.sca.annotations.Service; + +/** + * An implementation of the Calculator service. + */ +@Service(MortgageCalculator.class) +public class MortgageCalculatorImpl implements MortgageCalculator { + + public double getMonthlyPayment(double principal, int years, float interestRate) { + double monthlyRate = interestRate / 12.0 / 100.0; + double p = Math.pow(1 + monthlyRate, years * 12); + double q = p / (p - 1); + double monthlyPayment = principal * monthlyRate * q; + System.out.println("Monthly payment for a " + years + "-year loan of $" + principal + ": " + monthlyPayment); + return monthlyPayment; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java new file mode 100644 index 0000000000..d69f0a1163 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.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 mortgage; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This client program to invoke the Mortgage LoanApproval service + */ +public class MortgageClient { + public static void main(String[] args) throws Exception { + + SCADomain domain = SCADomain.newInstance("Mortgage1.composite"); + LoanApproval loanApplication = domain.getService(LoanApproval.class, "LoanApprovalComponent"); + + // Create the customer + Customer customer = new Customer(); + customer.setSsn("111-22-3333"); + customer.setFirstName("John"); + customer.setLastName("Smith"); + customer.setMonthlyIncome(5000.0d); + customer.setState("CA"); + + // Invoke the service + boolean result = loanApplication.approve(customer, 200000d, 30); + System.out.println((result ? "Approved: " : "Rejected: ") + customer); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java new file mode 100644 index 0000000000..23c9589e85 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.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 mortgage; + +/** + * Risk Assessment interface + */ +public interface RiskAssessment { + public boolean assess(int creditScore, double ratio); +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java new file mode 100644 index 0000000000..c2116366ec --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.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 mortgage; + +import org.osoa.sca.annotations.Service; + +/** + * A pojo implementation of RiskAssessment service + */ +@Service(RiskAssessment.class) +public class RiskAssessmentImpl implements RiskAssessment { + public boolean assess(int creditScore, double ratio) { + if (creditScore >= 750) { + return ratio < 0.35; + } else if (creditScore >= 700) { + return ratio < 0.30; + } else { + return ratio < 0.25; + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage.composite b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage.composite new file mode 100644 index 0000000000..d1128b9907 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage.composite @@ -0,0 +1,48 @@ + + + + + + + 600 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage1.composite b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage1.composite new file mode 100644 index 0000000000..4cad6c7223 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/Mortgage1.composite @@ -0,0 +1,57 @@ + + + + + + + 600 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.componentType b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.componentType new file mode 100644 index 0000000000..bf7b10e0f7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.componentType @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.js b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.js new file mode 100644 index 0000000000..b25af1d039 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/MortgageCalculator.js @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +function getMonthlyPayment(principal, years, interestRate) { + var monthlyRate = interestRate / 12.0 / 100.0; + var p = Math.pow(1 + monthlyRate, years * 12); + var q = p / (p - 1); + var monthlyPayment = principal * monthlyRate * q; + return monthlyPayment; +} diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/wsdl/credit.wsdl b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/wsdl/credit.wsdl new file mode 100644 index 0000000000..9c2acc96d3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/main/resources/wsdl/credit.wsdl @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/test/java/mortgage/MortgageClientTestCase.java b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/test/java/mortgage/MortgageClientTestCase.java new file mode 100644 index 0000000000..285cc72515 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/mortgage-loanapproval/src/test/java/mortgage/MortgageClientTestCase.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 mortgage; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This shows how to test the Calculator service component. + */ +public class MortgageClientTestCase extends TestCase { + private SCADomain domain; + private LoanApproval loanApproval; + + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("Mortgage.composite"); + loanApproval = domain.getService(LoanApproval.class, "LoanApprovalComponent"); + } + + @Override + protected void tearDown() throws Exception { + if (domain != null) { + domain.close(); + } + } + + public void testApprove() throws Exception { + Customer customer = new Customer(); + customer.setSsn("111-22-3333"); + customer.setFirstName("John"); + customer.setLastName("Smith"); + customer.setMonthlyIncome(5000.0d); + customer.setState("CA"); + + boolean approved = loanApproval.approve(customer, 200000d, 30); + System.out.println((approved ? "Approved: " : "Rejected: ") + customer); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/pom.xml b/sandbox/sebastien/java/sca-node/demos/pom.xml new file mode 100644 index 0000000000..8cac6686bc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/pom.xml @@ -0,0 +1,52 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../pom.xml + + tuscany-demos + pom + Apache Tuscany SCA Demos + + + + default + + true + + + alert-aggregator-webapp + bigbank + bigbank-account + bigbank-calculator + bigbank-stockquote + mortgage-creditcheck + mortgage-loanapproval + xml-bigbank + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/DISCLAIMER new file mode 100644 index 0000000000..8e5c524323 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/LICENSE b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/NOTICE b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/NOTICE new file mode 100644 index 0000000000..94481d6cfa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2007 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/build.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/build.xml new file mode 100644 index 0000000000..9e10e8ec91 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/build.xml @@ -0,0 +1,446 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/pom.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/pom.xml new file mode 100644 index 0000000000..ea74e4e45a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/pom.xml @@ -0,0 +1,148 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + demo-workpool-distributed + Apache Tuscany SCA Distributed Job Workpool Demo + + + + apache.incubator + + http://people.apache.org/repo/m2-incubating-repository + + + + org.drools + http://repository.jboss.com/maven2/org/drools/ + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.drools + drools + 4.0.4 + + + + antlr + antlr + 2.7.1 + + + commons-daemon + commons-daemon + 1.0.1 + + + + antlr + stringtemplate + 2.3b6 + + + + org.apache.tuscany.sca + tuscany-node-impl + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-domain-impl + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-sca-axis2 + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc-runtime + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-http-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-databinding-job + 2.0-incubating-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-contribution-updater + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-databinding-xstream + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-resource-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + test + + + + junit + junit + 4.2 + test + + + + + + ${artifactId} + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNode.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNode.java new file mode 100644 index 0000000000..a278499aae --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNode.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package node; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.tuscany.sca.domain.SCADomain; +import org.apache.tuscany.sca.domain.SCADomainFactory; + +/** + * This server program that loads a composite to provide simple registry + * function. This server can be replaced with any registry that is appropriate + * but the components in each node that talk to the registry should be replaced + * also. + */ +public class DomainNode { + + private static String DEFAULT_DOMAIN_URI = "http://u12:8877"; + private boolean stopped = true; + + public static void main(String[] args) { + + try { + + SCADomainFactory domainFactory = SCADomainFactory.newInstance(); + SCADomain domain = domainFactory + .createSCADomain(DEFAULT_DOMAIN_URI); + + System.out.println("Domain started (press enter to shutdown)"); + System.in.read(); + // waitForever(); + domain.destroy(); + } catch (Exception e) { + e.printStackTrace(); + } + + System.out.println("Domain stopped"); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNodeDaemon.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNodeDaemon.java new file mode 100644 index 0000000000..9d05761ad6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/DomainNodeDaemon.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 node; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.apache.commons.daemon.Daemon; +import org.apache.commons.daemon.DaemonContext; +import org.apache.tuscany.sca.domain.SCADomain; +import org.apache.tuscany.sca.domain.SCADomainFactory; + +/** + * This server program that loads a composite to provide simple registry + * function. This server can be replaced with any registry that is appropriate + * but the components in each node that talk to the registry should be replaced + * also. + */ +public class DomainNodeDaemon implements Daemon { + + private SCADomain domain; + private static String DEFAULT_DOMAIN_URI = "http://u12:8877"; + private boolean stopped = true; + + private synchronized void waitForever() { + while (!stopped) { + try { + wait(); + } catch (InterruptedException ex) { + stopped = true; + return; + } + } + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void init(DaemonContext arg0) throws Exception { + // TODO Auto-generated method stub + + } + + public void start() throws Exception { + + SCADomainFactory domainFactory = SCADomainFactory.newInstance(); + domain = domainFactory.createSCADomain(DEFAULT_DOMAIN_URI); + + System.out.println("Domain started (press enter to shutdown)"); + waitForever(); + + } + + public void stop() throws Exception { + // TODO Auto-generated method stub + Thread.currentThread().interrupt(); + domain.destroy(); + } +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/TestJob.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/TestJob.java new file mode 100644 index 0000000000..f48e647bd6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/TestJob.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 node; + +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.databinding.job.JobDataMap; +import org.apache.tuscany.sca.databinding.job.JobExecutionContext; +import org.apache.tuscany.sca.databinding.job.RemoteJob; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver; + +public class TestJob extends RemoteJob implements java.io.Serializable { + private boolean EOS = false; + private Double value; + + public TestJob(Double x, long iterations, int[] items) { + JobDataMap map = new JobDataMap(); + map.addJobData("value", x); + map.addJobData("iterations", iterations); + map.addJobData("items", items); + context.setJobData(map); + } + + public TestJob(Double i, boolean eos) { + value = i; + this.EOS = eos; + } + + public TestJob(String jsonData) { + JobExecutionContext ctxt = new JobExecutionContext(); + ctxt.storeJSONData(jsonData); + } + + public int getType() { + return Job.REGULAR_JOB; + } + + public void setEOS() { + EOS = true; + } + + public boolean eos() { + return EOS; + } + + @Override + public Double compute(JobExecutionContext context) { + JobDataMap contextMap = context.getJobData(); + Long iterations = (Long) contextMap.getJobDataObject("iterations"); + Double value = (Double) contextMap.getJobDataObject("value"); + double x = value.doubleValue(); + System.out.println("Computing sinx for " + value + " for " + + iterations.intValue() + " times"); + long computing_start = System.currentTimeMillis(); + for (long i = 0; i < iterations.longValue(); ++i) { + x = Math.sin(x); + } + long computing_end = System.currentTimeMillis(); + System.out.println("Computing time= " + + (computing_end - computing_start)); + System.out.println("Send result = " + x); + return new Double(x); + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolDaemon.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolDaemon.java new file mode 100644 index 0000000000..1f2a4d1f9a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolDaemon.java @@ -0,0 +1,271 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package node; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.apache.commons.daemon.Daemon; +import org.apache.commons.daemon.DaemonContext; +import org.apache.commons.daemon.DaemonController; +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.assembly.Service; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.DeployedArtifact; +import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl; +import org.apache.tuscany.sca.domain.SCADomain; +import org.apache.tuscany.sca.node.NodeException; +import org.apache.tuscany.sca.node.NodeManagerInitService; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; +import org.apache.tuscany.sca.node.impl.SCANodeImpl; +import org.apache.tuscany.sca.node.management.SCANodeManagerInitService; + +import java.net.URI; + +import workpool.WorkerManager; +import workpool.WorkerManagerImpl; +import workpool.WorkpoolManager; +import workpool.WorkpoolService; +import workpool.WorkpoolServiceImpl; + +/** + * This client program shows how to run a distributed SCA node. In this case a + * calculator node has been constructed specifically for running the calculator + * composite. Internally it creates a representation of a node and associates a + * distributed domain with the node. This separation is made different + * implementations of the distributed domain can be provided. + */ +public class WorkpoolDaemon implements Daemon, Runnable { + private String domainName; + private String nodeName; + private long iterations; + private long jobsNo; + private long workerNo; + private SCANode node; + private boolean stopped = false; + private DaemonController controller = null; + private Thread thread = null; + private String ruleFile = "workerRules.drl"; + + /* + * public static void main(String[] args) throws Exception { + * // Check that the correct arguments have been provided if (null == args || + * args.length < 4) { System.err.println("Usage: java WorkpoolNode + * domainname nodename iterTest workerNo"); System.exit(1); } + * + * try { String domainName = args[0]; String nodeName = args[1]; long + * iterations = Long.parseLong(args[2]); long jobsNo = + * Long.parseLong(args[3]); long workerNo = Long.parseLong(args[4]); + * ClassLoader cl = WorkpoolDaemon.class.getClassLoader(); + * + * SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); node = + * nodeFactory.createSCANode(null, domainName); + * node.addContribution(nodeName, cl.getResource(nodeName + "/")); + * node.addToDomainLevelComposite(new QName("http://sample", "Workpool")); + * node.start(); // nodeA is the head node and runs some tests while all + * other nodes // simply listen for incoming messages + * + * FileReader rules = new FileReader("workerRules.drl"); StringBuffer buffer = + * new StringBuffer(); + * + * BufferedReader br = new BufferedReader(rules); String ruleString; do { + * ruleString = br.readLine(); if (ruleString!=null) { + * buffer.append(ruleString);} } while (ruleString!=null); + * + * if ( nodeName.equals("nodeA") ) { // do some application stuff + * WorkpoolService workpoolService = + * node.getDomain().getService(WorkpoolService.class, + * "WorkpoolServiceComponent"); workpoolService.start(); + * NodeManagerInitService nodeInit = + * node.getDomain().getService(NodeManagerInitService.class, + * "WorkpoolManagerComponent/NodeManagerInitService"); + * nodeInit.setNode(node); WorkpoolManager workpoolManager = + * node.getDomain().getService(WorkpoolManager.class, + * "WorkpoolManagerComponent/WorkpoolManager"); + * workpoolManager.setWorkpoolReference(node.getDomain().getServiceReference(WorkpoolService.class, + * "WorkpoolServiceComponent")); + * workpoolManager.acceptRules(buffer.toString()); workpoolManager.start(); + * int items[] = {3,4,5,6,3,6,3,5,9,5,6}; + * + * double x = 398349; for (int i = 0; i < jobsNo; ++i) + * workpoolService.submit(new TestJob(x,iterations,items)); + * + * TestJob j = new TestJob(-1.0,true); for (int i = 0; i < workerNo+1; ++i){ + * j.setEOS(); workpoolService.submit(j); } } try { if + * (nodeName.equals("nodeB")) { NodeManagerInitService serviceNodeB = + * node.getDomain().getService(NodeManagerInitService.class,"WorkerManagerNodeBComponent/NodeManagerInitService"); + * serviceNodeB.setNode(node); } if (nodeName.equals("nodeC")) { + * NodeManagerInitService workerManagerC = + * node.getDomain().getService(NodeManagerInitService.class,"WorkerManagerNodeCComponent/NodeManagerInitService"); + * workerManagerC.setNode(node); } if (nodeName.equals("nodeD")) { + * NodeManagerInitService workerManagerD = + * node.getDomain().getService(NodeManagerInitService.class,"WorkerManagerNodeDComponent/NodeManagerInitService"); + * workerManagerD.setNode(node); } if (nodeName.equals("nodeE")) { + * NodeManagerInitService workerManagerE = + * node.getDomain().getService(NodeManagerInitService.class,"WorkerManagerNodeEComponent/NodeManagerInitService"); + * workerManagerE.setNode(node); } + * + * System.out.println("Node started (press enter to shutdown)"); + * System.in.read(); } catch (IOException e) { e.printStackTrace(); } // + * stop the node and all the domains in it node.stop(); node.destroy(); + * System.exit(0); } catch(Exception ex) { System.err.println("Exception in + * node - " + ex.getMessage()); ex.printStackTrace(System.err); } } + */ + public void destroy() { + // TODO Auto-generated method stub + + } + + public void init(DaemonContext arg0) throws Exception { + String[] args = arg0.getArguments(); + domainName = args[0]; + nodeName = args[1]; + iterations = Long.parseLong(args[2]); + jobsNo = Long.parseLong(args[3]); + workerNo = Long.parseLong(args[4]); + if (args.length == 6) { + ruleFile = args[5]; + } + this.controller = arg0.getController(); + // this.thread=new Thread(this); + } + + public void start() throws Exception { + + ClassLoader cl = WorkpoolDaemon.class.getClassLoader(); + + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + node = nodeFactory.createSCANode(null, domainName); + node.addContribution(nodeName, cl.getResource(nodeName + "/")); + node.addToDomainLevelComposite(new QName("http://sample", "Workpool")); + node.start(); + // nodeA is the head node and runs some tests while all other nodes + // simply listen for incoming messages + + FileReader rules = new FileReader(ruleFile); + StringBuffer buffer = new StringBuffer(); + + BufferedReader br = new BufferedReader(rules); + String ruleString; + do { + ruleString = br.readLine(); + if (ruleString != null) { + buffer.append(ruleString + "\n"); + } + } while (ruleString != null); + + if (nodeName.equals("nodeA")) { + // do some application stuff + WorkpoolService workpoolService = node.getDomain().getService( + WorkpoolService.class, "WorkpoolServiceComponent"); + workpoolService.start(); + SCANodeManagerInitService nodeInit = node.getDomain().getService( + SCANodeManagerInitService.class, + "WorkpoolManagerComponent/NodeManagerInitService"); + nodeInit.setNode(node); + WorkpoolManager workpoolManager = node.getDomain().getService( + WorkpoolManager.class, + "WorkpoolManagerComponent/WorkpoolManager"); + workpoolManager.setWorkpoolReference(node.getDomain() + .getServiceReference(WorkpoolService.class, + "WorkpoolServiceComponent")); + workpoolManager.acceptRules(buffer.toString()); + workpoolManager.start(); + + int items[] = { 3, 4, 5, 6, 3, 6, 3, 5, 9, 5, 6 }; + + double x = 398349; + for (int i = 0; i < jobsNo; ++i) { + workpoolService.submit(new TestJob(x, iterations, items)); + } + TestJob j = new TestJob(-1.0, true); + for (int i = 0; i < workerNo + 1; ++i) { + j.setEOS(); + workpoolService.submit(j); + } + + } + if (nodeName.equals("nodeB")) { + SCANodeManagerInitService workerManagerNodeB = node + .getDomain() + .getService(SCANodeManagerInitService.class, + "WorkerManagerNodeBComponent/NodeManagerInitService"); + workerManagerNodeB.setNode(node); + } + + if (nodeName.equals("nodeC")) { + SCANodeManagerInitService workerManagerNodeC = node + .getDomain() + .getService(SCANodeManagerInitService.class, + "WorkerManagerNodeCComponent/NodeManagerInitService"); + workerManagerNodeC.setNode(node); + } + + if (nodeName.equals("nodeD")) { + SCANodeManagerInitService workerManagerNodeD = node + .getDomain() + .getService(SCANodeManagerInitService.class, + "WorkerManagerNodeDComponent/NodeManagerInitService"); + workerManagerNodeD.setNode(node); + } + + if (nodeName.equals("nodeE")) { + SCANodeManagerInitService workerManagerNodeE = node + .getDomain() + .getService(SCANodeManagerInitService.class, + "WorkerManagerNodeEComponent/NodeManagerInitService"); + workerManagerNodeE.setNode(node); + } + + this.waitForever(); + // this.thread.start(); + } + + public void stop() throws Exception { + Thread.currentThread().interrupt(); + // thread.interrupt(); + node.stop(); + node.destroy(); + } + + private synchronized void waitForever() { + while (!stopped) { + try { + wait(); + } catch (InterruptedException ex) { + stopped = true; + return; + } + } + } + + public void run() { + waitForever(); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolNode.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolNode.java new file mode 100644 index 0000000000..86557548af --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/WorkpoolNode.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 node; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.assembly.Service; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.DeployedArtifact; +import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl; +import org.apache.tuscany.sca.domain.SCADomain; +import org.apache.tuscany.sca.node.NodeManagerInitService; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; +import org.apache.tuscany.sca.node.impl.SCANodeImpl; +import java.net.URI; + +import workpool.WorkerManager; +import workpool.WorkerManagerImpl; +import workpool.WorkpoolManager; +import workpool.WorkpoolService; +import workpool.WorkpoolServiceImpl; + +/** + * This client program shows how to run a distributed SCA node. In this case a + * calculator node has been constructed specifically for running the calculator + * composite. Internally it creates a representation of a node and associates a + * distributed domain with the node. This separation is made different + * implementations of the distributed domain can be provided. + */ +public class WorkpoolNode { + + public static void main(String[] args) throws Exception { + + // Check that the correct arguments have been provided + if (null == args || args.length < 4) { + System.err + .println("Useage: java WorkpoolNode domainname nodename iterTest workerNo"); + System.exit(1); + } + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + String domainName = args[0]; + String nodeName = args[1]; + long iterations = Long.parseLong(args[2]); + long jobsNo = Long.parseLong(args[3]); + long workerNo = Long.parseLong(args[4]); + ClassLoader cl = WorkpoolNode.class.getClassLoader(); + + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + SCANode node = nodeFactory.createSCANode(null, domainName); + node.addContribution(nodeName, cl.getResource(nodeName + "/")); + node.addToDomainLevelComposite(new QName("http://sample", "Workpool")); + node.start(); + // nodeA is the head node and runs some tests while all other nodes + // simply listen for incoming messages + + FileReader rules = new FileReader("workerRules.drl"); + StringBuffer buffer = new StringBuffer(); + + BufferedReader br = new BufferedReader(rules); + String ruleString; + do { + ruleString = br.readLine(); + if (ruleString != null) { + buffer.append(ruleString + "\n"); + } + } while (ruleString != null); + + if (nodeName.equals("nodeA")) { + // do some application stuff + WorkpoolService workpoolService = node.getDomain().getService( + WorkpoolService.class, "WorkpoolServiceComponent"); + workpoolService.start(); + NodeManagerInitService nodeInit = node.getDomain().getService( + NodeManagerInitService.class, + "WorkpoolManagerComponent/NodeManagerInitService"); + nodeInit.setNode(node); + WorkpoolManager workpoolManager = node.getDomain().getService( + WorkpoolManager.class, + "WorkpoolManagerComponent/WorkpoolManager"); + workpoolManager.setWorkpoolReference(node.getDomain() + .getServiceReference(WorkpoolService.class, + "WorkpoolServiceComponent")); + workpoolManager.setCycleTime(8000); + workpoolManager.acceptRules(buffer.toString()); + workpoolManager.start(); + int items[] = { 3, 4, 5, 6, 3, 6, 3, 5, 9, 5, 6 }; + + double x = 398349; + + for (int i = 0; i < jobsNo; ++i) + workpoolService.submit(new TestJob(x, iterations, items)); + + TestJob j = new TestJob(-1.0, true); + for (int i = 0; i < workerNo + 1; ++i) { + j.setEOS(); + workpoolService.submit(j); + } + + } + try { + if (nodeName.equals("nodeB")) { + NodeManagerInitService serviceNodeB = node + .getDomain() + .getService(NodeManagerInitService.class, + "WorkerManagerNodeBComponent/NodeManagerInitService"); + serviceNodeB.setNode(node); + } + if (nodeName.equals("nodeC")) { + NodeManagerInitService workerManagerC = node + .getDomain() + .getService(NodeManagerInitService.class, + "WorkerManagerNodeCComponent/NodeManagerInitService"); + workerManagerC.setNode(node); + } + if (nodeName.equals("nodeD")) { + NodeManagerInitService workerManagerD = node + .getDomain() + .getService(NodeManagerInitService.class, + "WorkerManagerNodeDComponent/NodeManagerInitService"); + workerManagerD.setNode(node); + } + if (nodeName.equals("nodeE")) { + NodeManagerInitService workerManagerE = node + .getDomain() + .getService(NodeManagerInitService.class, + "WorkerManagerNodeEComponent/NodeManagerInitService"); + workerManagerE.setNode(node); + } + + System.out.println("Node started (press enter to shutdown)"); + String buff; + for (;;) { + try { + buff = in.readLine(); + if (buff == null) + break; + System.out.print(in.readLine()); + } catch (IOException ex) { + break; // Exit thread. + } + } + // stop the node and all the domains in it + node.stop(); + node.destroy(); + System.exit(0); + } catch (Exception ex) { + System.err.println("Exception in node - " + ex.getMessage()); + ex.printStackTrace(System.err); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/workerRules1.drl b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/workerRules1.drl new file mode 100644 index 0000000000..9c5a5d1b7f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/node/workerRules1.drl @@ -0,0 +1,13 @@ +package workpool +import workpool.*; +rule "WorkerAdder1" + when + $workerBean: WorkpoolBean(singleAction == false && (jobComputed > 500)) + then + $workerBean.setSingleAction() + $workerBean.addWorkerToNode("nodeB") + $workerBean.addWorkerToNode("nodeC") + $workerBean.addWorkerToNode("nodeD") + $workerBean.addWorkerToNode("nodeE") +end + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MetaComponentWorker.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MetaComponentWorker.java new file mode 100644 index 0000000000..cdd0f30b34 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MetaComponentWorker.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 workpool; + +import java.io.StringReader; +import java.net.URI; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.logging.Logger; + +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamReader; + +import org.apache.tuscany.sca.assembly.MetaComponent; +import org.apache.tuscany.sca.assembly.impl.DefaultMetaComponent; + +public class MetaComponentWorker extends DefaultMetaComponent { + + private SecureRandom prng; + private String componentName; + private String scdl; + private String javaClass; + private boolean loadedFromString = false; + private Logger log = Logger.getLogger(MetaComponentWorker.class.getName()); + + public MetaComponentWorker() { + componentName = "WorkerComponent" + + java.util.UUID.randomUUID().toString(); + } + + public void setWorkerName(String componentName) { + this.componentName = componentName; + } + + public void setWorkerClass(String javaClass) { + this.javaClass = javaClass; + } + + private String generateSCDL() { + StringBuffer buffer = new StringBuffer(512); + buffer + .append("\n"); + buffer.append(""); + buffer.append(""); + buffer.append(this.componentName); + buffer.append("\n"); + return buffer.toString(); + } + + @Override + public XMLStreamReader build() throws Exception { + XMLInputFactory factory = XMLInputFactory.newInstance(); + if (!loadedFromString) + scdl = generateSCDL(); + return factory.createXMLStreamReader(new StringReader(scdl)); + + } + + public String getName() { + + return componentName; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MyWorker.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MyWorker.java new file mode 100644 index 0000000000..c45696e3cf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/MyWorker.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.databinding.job.JobDataMap; +import org.apache.tuscany.sca.databinding.job.JobExecutionContext; +import org.apache.tuscany.sca.databinding.job.RemoteJob; +import org.osoa.sca.annotations.Scope; + +@Scope("COMPOSITE") +public class MyWorker extends WorkerServiceImpl { + private static int resultcount = 0; + + @Override + public ResultJob computeTask(Job job) { + + RemoteJob remoteJob = (RemoteJob) job; + System.out.println("Computing the job"); + JobExecutionContext context = remoteJob.getContext(); + ResultJob resultJob = new ResultJob(); + JobDataMap resultMap = new JobDataMap(); + resultMap.addJobData("result", remoteJob.compute(context)); + resultJob.setJobDataMap(resultMap); + System.out.println("Count result = " + (++resultcount)); + return resultJob; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/NullJob.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/NullJob.java new file mode 100644 index 0000000000..fb930adf2e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/NullJob.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 workpool; + +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.databinding.job.JobDataMap; + +public class NullJob implements Job, java.io.Serializable { + + public Object compute(Object arg0) { + // TODO Auto-generated method stub + return null; + } + + public JobDataMap getDataMap() { + return null; + } + + public boolean eos() { + return false; + } + + public int getType() { + return Job.NULL_JOB; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/ResultJob.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/ResultJob.java new file mode 100644 index 0000000000..e04411668b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/ResultJob.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 workpool; + +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.databinding.job.JobDataMap; +import org.apache.tuscany.sca.databinding.job.JobExecutionContext; +import org.apache.tuscany.sca.databinding.job.RemoteJob; + +public class ResultJob extends RemoteJob implements + java.io.Serializable { + private JobDataMap map; + + public JobDataMap getDataMap() { + return map; + } + + public void setJobDataMap(JobDataMap map) { + this.map = map; + } + + public boolean eos() { + // TODO Auto-generated method stub + return true; + } + + public int getType() { + // TODO Auto-generated method stub + return Job.RESULT_JOB; + } + + @Override + public Object compute(JobExecutionContext v) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/Trigger.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/Trigger.java new file mode 100644 index 0000000000..469675b19b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/Trigger.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 workpool; + +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.apache.tuscany.sca.databinding.job.Job; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@DataBinding("org.apache.tuscany.sca.databinding.job.Job") +public interface Trigger { + void handleEvent(T c); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManager.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManager.java new file mode 100644 index 0000000000..520203e190 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManager.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 workpool; +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.CallableReference; +@Remotable +public interface WorkerManager { + CallableReference addWorker(); + boolean removeWorker(String workerName); + boolean removeWorkers(int k); + boolean removeAllWorkers(); + double getNodeLoad(); + int activeWorkers(); + void start(); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManagerImpl.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManagerImpl.java new file mode 100644 index 0000000000..d4337cad2f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerManagerImpl.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 workpool; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.List; +import java.util.logging.Logger; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.DeployedArtifact; +import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl; +import org.osoa.sca.CallableReference; +import org.apache.tuscany.sca.node.management.SCANodeManagerInitService; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.impl.SCANodeImpl; +import org.apache.tuscany.sca.runtime.RuntimeComponent; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; +import java.util.LinkedList; +import java.util.ArrayList; + +@Scope("COMPOSITE") +@Service(interfaces = { SCANodeManagerInitService.class, WorkerManager.class }) +public class WorkerManagerImpl implements WorkerManager, SCANodeManagerInitService { + private Logger log = Logger.getLogger(WorkerManagerImpl.class.getName()); + private LinkedList> activeWorkers = new LinkedList>(); + private List workerComponentNames = new ArrayList(); + private SCANodeImpl node; + @Property + protected String nodeName; + @Property + protected String compositeName; + @Property + protected String workerClass; + @Context + protected ComponentContext context; + private double loadAverage; + + /* This method is used to find a composite inside all deployed artifacts */ + private Composite findComposite(List artifacts) { + for (Composite fact : artifacts) { + log.info("Searching in a contribution deployed artifacts -" + + compositeName); + Composite augmented = (Composite) fact; + // found + if (augmented.getURI().equals(compositeName)) { + log.info("Found composite..." + compositeName); + return augmented; + } + } + } + return null; + } + + public CallableReference addWorker() { + log.info("Adding a new worker call.."); + long addWorkerStartTime = System.nanoTime(); + ContributionServiceImpl cServiceImpl = (ContributionServiceImpl) node.getContributionService(); + Contribution contribution = cServiceImpl.getContribution(nodeName); + List artifacts = contribution.getDeployables(); + CallableReference workerReference = null; + CallableReference ref = null; + log.info("Creating a MetaComponentWorker.."); + MetaComponentWorker mcw = new MetaComponentWorker(); + boolean found = false; + mcw.setWorkerClass(workerClass); + Composite augmented = findComposite(artifacts); + try { + if (augmented != null) { + long startCreation = System.nanoTime(); + node.addComponentToComposite(mcw, contribution.getURI(), + augmented.getURI()); + System.out.println("addComponentToComposite time = " + + (System.nanoTime() - startCreation)); + RuntimeComponent workerComponent = (RuntimeComponent) node + .getComponent(mcw.getName()); + if (workerComponent != null) { + ref = (CallableReference) workerComponent + .getComponentContext().createSelfReference( + WorkerService.class); + ref.getService().start(); + activeWorkers.addLast(ref); + workerComponentNames.add(mcw.getName()); + CallableReference manager = (CallableReference) context + .createSelfReference(WorkerManager.class, + "WorkerManager"); + ref.getService().registerManager(manager); + return ref; + } + } else { + log.info("Workpool composite not found!"); + } + } catch (Exception e) { + log.info("Exception activation"); + e.printStackTrace(); + } + ; + System.out.println("Component Creation Time =" + + (System.nanoTime() - addWorkerStartTime)); + return ref; + } + + public boolean removeAllWorkers() { + for (CallableReference callable : activeWorkers) { + callable.getService().stop(); + } + return true; + } + + public boolean removeWorker() { + CallableReference callable = activeWorkers + .removeLast(); + callable.getService().stop(); + return true; + } + + public boolean removeWorkers(int k) { + if (k >= activeWorkers.size()) + return false; + for (int i = 0; i < k; ++i) { + if (!removeWorker()) + return false; + } + return true; + } + + public void setNode(SCANode node) { + this.node = (SCANodeImpl) node; + + } + + public double getNodeLoad() { + /* + * FIXME [jo] this works only on Linux To be replaced with an JNI + * extension + */ + RandomAccessFile statfile; + + this.loadAverage = 1.0; + // load = 0; + int NoProcessors = 0; + String cpuLine = null; + try { + NoProcessors = Runtime.getRuntime().availableProcessors(); + if (NoProcessors > 1) + this.loadAverage = 1 / (1.0 * NoProcessors); + statfile = new RandomAccessFile("/proc/loadavg", "r"); + try { + statfile.seek(0); + cpuLine = statfile.readLine(); + + } catch (IOException e) { + // FIX ME: Better exception handling. + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + double min1; + if (cpuLine != null) { + java.util.StringTokenizer st = new java.util.StringTokenizer( + cpuLine, " "); + min1 = Double.parseDouble(st.nextToken()); + } else + min1 = 0; + + return min1 * this.loadAverage; + } + + public int activeWorkers() { + return activeWorkers.size(); + } + + public boolean removeWorker(String workerName) { + RuntimeComponent workerComponent = (RuntimeComponent) node + .getComponent(workerName); + if (workerComponent != null) { + log.info("Removing component " + workerName); + node.removeComponentFromComposite(nodeName, "Workpool.composite", + workerName); + return true; + } + return false; + } + + public void start() { + // do nothing for now. + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerService.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerService.java new file mode 100644 index 0000000000..37b7ea227a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerService.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 workpool; + +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.annotations.OneWay; +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.apache.tuscany.sca.databinding.job.Job; + +/** + * The interface for the multiply service + */ +@Remotable +@Callback(WorkerServiceCallback.class) +@DataBinding("org.apache.tuscany.sca.databinding.job.Job") +public interface WorkerService { + @OneWay + void compute(Job j); + + void start(); + + void stop(); + + // void addJobCompleteHandler(String triggerName, + // CallableReferenceImpl handle); + // void removeJobCompleteHandler(String triggerName); + /* The worker manager */ + void registerManager(CallableReferenceImpl wm); + + void registerSender(CallableReferenceImpl sender); + + // void init(Job nullJob); + @OneWay + void computeFirstTime(Job nullJob, + CallableReferenceImpl myReference); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceCallback.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceCallback.java new file mode 100644 index 0000000000..6fb1278e5e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceCallback.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 workpool; + +import org.apache.tuscany.sca.databinding.job.Job; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface WorkerServiceCallback { + void receiveResult(Job resultType, boolean reuse, String workerName); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceImpl.java new file mode 100644 index 0000000000..2c9bf5ea48 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkerServiceImpl.java @@ -0,0 +1,171 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.apache.tuscany.sca.databinding.job.Job; + +import java.util.HashMap; +import java.util.Map; +import java.util.logging.*; + +/** + * An implementation of the worker service. + */ +@Service(WorkerService.class) +@DataBinding("org.apache.tuscany.sca.databinding.job.Job") +@Scope("COMPOSITE") +public abstract class WorkerServiceImpl implements WorkerService { + private Logger log = Logger.getLogger(this.getClass().getName()); + private WorkerServiceCallback workerServiceCallback; + @Context + protected ComponentContext workerContext; + @Context + protected RequestContext requestContext; + @Property + protected String workerName; + private CallableReferenceImpl managerReference = null; + + /* TODO add the triggers, but before ask */ + // protected Map triggers = new HashMap(); + public abstract ResultJob computeTask(Job job); + + private boolean stopped = false; + private CallableReferenceImpl serviceRef; + private CallableReferenceImpl senderService; + private WorkpoolService wp = null; + private WorkerManager manager = null; + + public void start() { + log.info("Starting worker..."); + stopped = false; + serviceRef = (CallableReferenceImpl) workerContext + .createSelfReference(WorkerService.class); + + } + + public void init(CallableReferenceImpl sender, Job nullJob) { + compute(nullJob); + } + + public void stop() { + stopped = true; + } + + @Callback + public void setWorkerServiceCallback( + WorkerServiceCallback workerServiceCallback) { + log.info("Setting worker callback"); + this.workerServiceCallback = workerServiceCallback; + } + + public void computeFirstTime(Job nullJob, + CallableReferenceImpl sender) { + senderService = sender; + wp = sender.getService(); + workWithCallable(nullJob); + } + + public void registerManager(CallableReferenceImpl wm) { + managerReference = wm; + manager = managerReference.getService(); + + } + + public void registerSender(CallableReferenceImpl sender) { + log.info("Registering sender.."); + senderService = sender; + wp = sender.getService(); + } + + private void workWithInjection(Job j) { + log.info("Worker has received job"); + if (stopped) { + workerServiceCallback + .receiveResult(j, true, workerContext.getURI()); + if (managerReference != null) + manager.removeWorker(workerContext.getURI()); + } else if (j.eos()) { + if (managerReference != null) + manager.removeWorker(workerContext.getURI()); + } + if (j instanceof NullJob) { + workerServiceCallback.receiveResult(j, false, workerContext + .getURI()); + } else { + workerServiceCallback.receiveResult(computeTask(j), false, + workerContext.getURI()); + } + } + + private void workWithCallable(Job j) { + log.info("Worker " + workerContext.getURI() + + " has received job with eos --> " + j.eos()); + if (stopped) { + wp.handleResult(j, true, workerContext.getURI(), serviceRef, false); + return; + } + if (j.eos()) { + log.info("Got poison token..."); + if (managerReference != null) { + log.info("Removing component " + workerContext.getURI()); + manager.removeWorker(workerContext.getURI()); + + } + return; + } + if (j.getType() != Job.NULL_JOB) { + wp.handleResult(computeTask(j), false, workerContext.getURI(), + serviceRef, false); + } else { + log.info("Got a null job"); + wp.handleResult(j, false, workerContext.getURI(), serviceRef, true); + } + } + + public void compute(Job j) { + + if (senderService != null) { + log.info("Computing job using callable reference method"); + workWithCallable(j); + + } else { + log.info("Computing job using reference injection method"); + workWithInjection(j); + + } + } + /* + * public void addJobCompleteHandler(String triggerName, + * CallableReferenceImpl handle) { if + * (!triggers.containsKey(triggerName)) { triggers.put(triggerName, + * handle.getService()); } } public void removeJobCompleteHandler(String + * triggerName) { if (!triggers.containsKey(triggerName)) { + * triggers.remove(triggerName); } } + */ +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBean.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBean.java new file mode 100644 index 0000000000..80c093ff1c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBean.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 workpool; + +import java.beans.*; +import java.util.Vector; +import java.util.logging.*; + +public class WorkpoolBean { + private Vector listeners = new Vector(); + double loadAverage = 0; + int nodeNumbers = 0; + int workers = 0; + int estimedQueueSize = 0; + double averageServiceTime = 0; + double averageArrivalTime = 0; + double usageFactor = 0; + private final PropertyChangeSupport changes = new PropertyChangeSupport( + this); + long jobComputed = 0; + boolean singleAction = false; + private Logger log = Logger.getLogger(WorkpoolBean.class.getName()); + + public void setNodeNumbers(int n) { + this.nodeNumbers = n; + } + + public void setWorkers(int w) { + this.workers = w; + } + + public void setLoadAverage(double loadAverage) { + this.loadAverage = loadAverage; + } + + public void setAverageServiceTime(double service) { + this.averageServiceTime = service; + } + + public void setAverageArrivalTime(double service) { + this.averageArrivalTime = service; + } + + public double getAverageArrivalTime() { + return this.averageArrivalTime; + } + + public double getUtilizationFactor() { + return usageFactor; + } + + public void setUsageFactor() { + usageFactor = averageServiceTime / averageArrivalTime; + } + + public void setEstimedQueueSize(int size) { + estimedQueueSize = size; + } + + public int getEstimedQueueSize() { + return estimedQueueSize; + } + + public double getLoadAverage() { + return this.loadAverage; + } + + public int getWorkers() { + return this.workers; + } + + public int getNodeNumbers() { + return this.nodeNumbers; + } + + public double getAverageServiceTime() { + return this.averageServiceTime; + } + + public void addPropertyChangeListener(final PropertyChangeListener l) { + this.changes.addPropertyChangeListener(l); + } + + public void removePropertyChangeListener(final PropertyChangeListener l) { + this.changes.removePropertyChangeListener(l); + } + + private synchronized void fireWorkpoolEvent(WorkpoolEvent ev) { + for (WorkpoolBeanListener l : listeners) { + l.handleEvent(new WorkpoolEvent(ev)); + } + } + + public void addWorkersToNode(int k, String nodeName) { + log.info("Adding a worker to node " + nodeName); + WorkpoolEvent ev = new WorkpoolEvent(this, + WorkpoolEvent.EVENT_MULTIPLE_ADD_WORKER, k, nodeName); + fireWorkpoolEvent(ev); + } + + public void addWorkerToNode(String nodeName) { + log.info("Adding a worker to node " + nodeName); + WorkpoolEvent ev = new WorkpoolEvent(this, + WorkpoolEvent.SINGLE_ADD_WORKER, 1, nodeName); + fireWorkpoolEvent(ev); + } + + public void removeWorkersToNode(int k, String nodeName) { + log.info("Removing a worker to node " + nodeName); + WorkpoolEvent ev = new WorkpoolEvent(this, + WorkpoolEvent.EVENT_MULTIPLE_REMOVE_WORKER, k, nodeName); + fireWorkpoolEvent(ev); + } + + public void removeWorkerToNode(String nodeName) { + log.info("Removing a worker to node " + nodeName); + WorkpoolEvent ev = new WorkpoolEvent(this, + WorkpoolEvent.SINGLE_REMOVE_WORKER, 1, nodeName); + fireWorkpoolEvent(ev); + } + + public synchronized void addListener(WorkpoolBeanListener l) { + this.listeners.add(l); + } + + public synchronized void removeListener(WorkpoolBeanListener l) { + this.listeners.remove(l); + } + + public void setJobComputed(long jobComputed) { + this.jobComputed = jobComputed; + + } + + public void setSingleAction() { + singleAction = true; + } + + public boolean getSingleAction() { + return singleAction; + } + + public long getJobComputed() { + return this.jobComputed; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBeanListener.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBeanListener.java new file mode 100644 index 0000000000..0ecc223fed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolBeanListener.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import java.util.EventListener; + +public interface WorkpoolBeanListener extends EventListener { + public void handleEvent(WorkpoolEvent ev); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolEvent.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolEvent.java new file mode 100644 index 0000000000..0bdc3671d5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolEvent.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import java.util.EventObject; + +public class WorkpoolEvent extends EventObject { + + private static final long serialVersionUID = -1273928009411948768L; + + public WorkpoolEvent(Object source) { + super(source); + } + + public WorkpoolEvent(WorkpoolEvent ev) { + super(ev.source); + type = ev.type; + noWorker = ev.noWorker; + nodeName = ev.nodeName; + } + + public WorkpoolEvent(Object source, int typeEv, int worker) { + super(source); + type = typeEv; + noWorker = worker; + nodeName = ""; + } + + public WorkpoolEvent(Object source, int typeEv, int worker, String nodeName) { + super(source); + type = typeEv; + noWorker = worker; + this.nodeName = nodeName; + } + + public String getNodeName() { + return nodeName; + } + + public int getType() { + return type; + } + + public int workers() { + return noWorker; + } + + private int type; + private int noWorker; + private String nodeName; + public static final int EVENT_MULTIPLE_ADD_WORKER = 0; + public static final int EVENT_MULTIPLE_REMOVE_WORKER = 1; + public static final int SINGLE_REMOVE_WORKER = 2; + public static final int SINGLE_ADD_WORKER = 3; +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManager.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManager.java new file mode 100644 index 0000000000..6520954bdd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManager.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 workpool; + +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.OneWay; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface WorkpoolManager { + /* + * @param String rules This are the autonomic rules. The format is the Java + * Drools .drl file. You have to read it + */ + @OneWay + void acceptRules(String rules); + + @OneWay + void start(); + + @OneWay + void stopAutonomicCycle(); + + @OneWay + void startAutonomicCycle(); + + int activeWorkers(); + + void setCycleTime(long time); + + void setWorkpoolReference(ServiceReference serviceReference); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManagerImpl.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManagerImpl.java new file mode 100644 index 0000000000..f7c727ad04 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolManagerImpl.java @@ -0,0 +1,555 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import java.util.Collections; +import java.util.Enumeration; +import java.io.IOException; +import java.io.StringReader; +import java.io.StringWriter; +import java.util.Collection; +import java.util.Iterator; +import java.util.Timer; +import java.util.TimerTask; +import java.util.logging.Logger; + +import javax.xml.stream.XMLStreamException; + +import node.TestJob; +import java.io.File; +import java.util.Vector; +import org.apache.axiom.om.OMElement; +import org.apache.tuscany.sca.contribution.service.ContributionResolveException; +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.node.NodeManagerInitService; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.impl.SCANodeImpl; +import org.osoa.sca.CallableReference; +import org.drools.FactHandle; +import org.drools.RuleBase; +import org.drools.RuleBaseFactory; +import org.drools.StatefulSession; +import org.drools.StatelessSession; +import org.drools.compiler.DroolsParserException; +import org.drools.compiler.PackageBuilder; +import org.drools.rule.Package; +import org.osoa.sca.annotations.Constructor; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.locks.ReentrantLock; + +@Service(interfaces = { NodeManagerInitService.class, WorkpoolManager.class }) +@Scope("COMPOSITE") +/* + * This is the core manager of the workpool application. The Workpool Manager + * holds the reference to each remote node manager. Inside it we've a rule + * engine instance. + */ +public class WorkpoolManagerImpl implements WorkpoolManager, + NodeManagerInitService, WorkpoolBeanListener { + /* + * This inner class trigs the rule engine, at given times: 1. It checks the + * different loads for each nodes and sets the WorkpoolBean 2. It checks the + * Workpool AverageService Time and sets the WorkpoolBean 3. It checks how + * many jobs are already computed and sets the WorkpoolBean Then given the + * configured bean and the rules, run the Rule Engine for executing the + * business logic + */ + class RuleEngineTrigger extends TimerTask { + // private ReentrantLock triggerLock = new ReentrantLock(); + @Override + public void run() { + + System.out.println("Updating WorkpoolBean.."); + // checkActiveWorkers(); + // checkLoadInNodes(); + checkServiceTime(); + // checkEstimedQueueSize(); + // checkArrivalTime(); + getProcessedItem(); + // computeUsageFactor(); + doRun(bean); + } + + } + + private WorkerManager managerNodeB; + private WorkerManager managerNodeC; + private WorkerManager managerNodeD; + private WorkerManager managerNodeE; + + private SCANodeImpl node; + private WorkpoolBean bean = new WorkpoolBean(); + private ReentrantLock handleEventLock = new ReentrantLock(); + private ReentrantLock updateRuleLock = new ReentrantLock(); + + private ServiceReference reference; + private AtomicInteger activeWorkers = new AtomicInteger(0); + private Logger log = Logger.getLogger(WorkpoolManagerImpl.class.getName()); + @Property + protected String workers; + @Property + protected String nodes; + @Property + protected String injection; + @Context + protected ComponentContext workpoolManagerContext; + private CallableReferenceImpl myReference; + private String rules = null; + private boolean referenceInjection = false; + private ConcurrentHashMap workerManagerTable = new ConcurrentHashMap(); + private int workersNo; + private int nodesNo; + private Timer timer = new Timer(); + /* this handle facts */ + private RuleBase ruleBase = null; + private FactHandle handle = null; + private StatefulSession wm = null; + private long cycleTime = 5000; + + @Reference + public void setManagerNodeB(WorkerManager managerNodeB) { + this.managerNodeB = managerNodeB; + workerManagerTable.put("nodeB", managerNodeB); + } + + @Reference + public void setManagerNodeC(WorkerManager managerNodeC) { + this.managerNodeC = managerNodeC; + workerManagerTable.put("nodeC", managerNodeC); + } + + @Reference + public void setManagerNodeD(WorkerManager managerNodeD) { + this.managerNodeD = managerNodeD; + workerManagerTable.put("nodeD", managerNodeD); + } + + @Reference + public void setManagerNodeE(WorkerManager managerNodeE) { + this.managerNodeE = managerNodeE; + workerManagerTable.put("nodeE", managerNodeE); + } + + private void startNewComponents( + Vector> vector) { + log.info("Starting new components"); + WorkpoolService wp = reference.getService(); + // CallableReferenceImpl sink = + // (CallableReferenceImpl) reference; + Job j = new NullJob(); + for (CallableReferenceImpl item : vector) { + // WorkerService service = item.getService(); + // service.start(); + // service.computeFirstTime(j, sink); + log.info("Send PostWorkerReference..."); + wp.PostWorkerReference(item); + } + if (myReference != null) + wp.registerManager(myReference); + } + + public void setCycleTime(long cycle) { + this.cycleTime = cycle; + } + + @SuppressWarnings("unchecked") + /* + * This gets the number of workers workerNo and instantiates them + */ + public void start() { + this.myReference = (CallableReferenceImpl) workpoolManagerContext + .createSelfReference(WorkpoolManager.class, "WorkpoolManager"); + this.workersNo = Integer.parseInt(this.workers); + this.nodesNo = Integer.parseInt(this.nodes); + this.referenceInjection = (Integer.parseInt(this.injection) != 0); + log.info("Starting WorkpoolManager Component with #" + workersNo + + " workers and #" + nodes + " nodes"); + nodesNo = workerManagerTable.values().size(); + // Sets info in the bean. + bean.setWorkers(this.workersNo); + bean.setNodeNumbers(nodesNo); + Vector> workerRefs = new Vector>(); + int exactTimes = workersNo / nodesNo; + for (int i = 0; i < exactTimes; ++i) { + for (WorkerManager manager : workerManagerTable.values()) { + manager.start(); + if (manager != null) { + System.err.println("Actual load = " + + manager.getNodeLoad() + " for node "); + addNewComponent(manager, workerRefs); + } + } + } + + int module = (workersNo % nodesNo); + int n = 0; + if (module > 0) { + Vector v = new Vector(workerManagerTable.keySet()); + Collections.sort(v); + // Iterator iter = + // workerManagerTable.values().iterator(); + // Display (sorted) hashtable. + for (Enumeration e = v.elements(); (e.hasMoreElements() && n < module); ++n) { + String key = e.nextElement(); + WorkerManager m = workerManagerTable.get(key); + System.err.println("Module Actual load = " + m.getNodeLoad() + + " for node "); + addNewComponent(m, workerRefs); + } + } + startNewComponents(workerRefs); + bean.addListener(this); + TimerTask task = new WorkpoolManagerImpl.RuleEngineTrigger(); + timer.scheduleAtFixedRate(task, 3000, cycleTime); + } + + private void checkLoadInNodes() { + System.out.println("CheckLoadInNodes"); + int number = 1; + double loadAverage = 0; + for (WorkerManager manager : workerManagerTable.values()) { + loadAverage += manager.getNodeLoad(); + number++; + } + bean.setLoadAverage(loadAverage / number); + } + + private void computeUsageFactor() { + bean.setUsageFactor(); + } + + private void checkEstimedQueueSize() { + WorkpoolService wp = reference.getService(); + + if (wp != null) { + int size = wp.estimatedQueueSize(); + log.info("Estimed Queue Size =" + size); + bean.setEstimedQueueSize(size); + } + } + + private WorkerManager findMinLoad() { + double load = 0; + // workerManagerTable.values().iterator().next().getNodeLoad(); + WorkerManager toFind = null; + for (WorkerManager manager : workerManagerTable.values()) { + if (load == 0) { + load = manager.getNodeLoad(); + toFind = manager; + } else if (manager.getNodeLoad() < load) { + load = manager.getNodeLoad(); + toFind = manager; + } + } + return toFind; + } + + private void checkServiceTime() { + WorkpoolService wp = reference.getService(); + + if (wp != null) { + double time = wp.getServiceTime(); + log.info("Average System Service Time =" + time); + bean.setAverageServiceTime(time); + } + } + + private void checkArrivalTime() { + WorkpoolService wp = reference.getService(); + + if (wp != null) { + double time = wp.getArrivalTime(); + log.info("Average Arrival Service Time =" + time); + bean.setAverageArrivalTime(time); + } + } + + private void checkActiveWorkers() { + bean.setWorkers(this.activeWorkers()); + } + + private void getProcessedItem() { + WorkpoolService wp = reference.getService(); + if (wp != null) { + long computed = wp.getJobComputed(); + log.info("The system has already computed " + computed + " jobs"); + bean.setJobComputed(computed); + } + } + + private boolean removeComponent(WorkerManager manager, int k) { + manager.removeWorkers(k); + activeWorkers.decrementAndGet(); + return true; + } + + @SuppressWarnings("unchecked") + private boolean addNewComponent(WorkerManager manager, + Vector> workerRefs) { + CallableReferenceImpl workerReference = (CallableReferenceImpl) manager + .addWorker(); + + if (workerReference != null) { + /* if i'll decide to use dynamically generated references */ + if (referenceInjection) { + workerReference.getService(); + String uri = workerReference.getEndpointReference().getURI(); + int nameIndex = uri.indexOf("/"); + String componentName = uri.substring(0, nameIndex); + if (componentName.startsWith("/")) + componentName = uri.substring(1, uri.length()); + if (componentName.endsWith("/")) + componentName = uri.substring(0, uri.length() - 1); + // String componentName = uri.substring(0, nameIndex-1); + + log.info("Adding wire from WorkpoolComponentService to " + + componentName); + String referenceName = "ref" + componentName; + + /* + * I'm updating the WorkpoolServiceComponent with a new + * reference to a just created component I assume that the + * WorkpoolManagerService and the WorkpoolServiceComponent stay + * in the same JVM It's like in the scdl there were: With this then + * I've a wire WorkpoolService---> a new Worker + */ + try { + node.addComponentReferenceWire(referenceName, "nodeA", + "Workpool.composite", "workpool.WorkerServiceImpl", + WorkerService.class, "WorkpoolServiceComponent", + componentName); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + log.info("Sending reference name " + referenceName + + " to WorkpoolService"); + // TODO: this was part of dynamic wiring, but it doesn't work. + // reference.getService().PostWorkerName(referenceName); + + } else { + // log.info("Sending callable reference to WorkpoolService + // placed at -->"+reference); + // reference.getService().PostWorkerReference(workerReference); + workerRefs.add(workerReference); + } + activeWorkers.incrementAndGet(); + return true; + } + return false; + } + + public int activeWorkers() { + + return activeWorkers.get(); + } + + private void doRun(WorkpoolBean bean) { + + long startTime = System.currentTimeMillis(); + updateRuleLock.lock(); + if (wm == null) + wm = ruleBase.newStatefulSession(); + if (this.handle == null) + handle = wm.insert(bean); + else { + wm.update(handle, bean); + } + wm.fireAllRules(); + updateRuleLock.unlock(); + + System.out.println("Engine rule overhead = " + + (System.currentTimeMillis() - startTime)); + } + + private RuleBase readRule(String rule) { + + PackageBuilder packBuilder = new PackageBuilder(); + try { + packBuilder.addPackageFromDrl(new StringReader(rule)); + } catch (DroolsParserException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + Package pkg = packBuilder.getPackage(); + RuleBase ruleBase = RuleBaseFactory.newRuleBase(); + try { + ruleBase.addPackage(pkg); + } catch (Exception e) { + e.printStackTrace(); + } + return ruleBase; + } + + public void acceptRules(String rules) { + this.rules = rules; + if (ruleBase == null) { + RuleBase base = readRule(rules); + if (base != null) { + ruleBase = base; + } + } else { + updateRuleLock.lock(); + // i have already a rule: updating + ruleBase = readRule(rules); + wm = ruleBase.newStatefulSession(); + handle = null; + updateRuleLock.unlock(); + } + + System.out.println("Accepted rules = " + rules); + } + + public String getRules() { + return rules; + } + + private WorkerManager findMaxLoadNode() { + double load = 0.0; + WorkerManager toFind = null; + for (WorkerManager manager : workerManagerTable.values()) { + if (manager.getNodeLoad() > load) { + load = manager.getNodeLoad(); + toFind = manager; + } + } + return toFind; + + } + + public void setWorkpoolReference( + ServiceReference serviceReference) { + reference = serviceReference; + } + + public void setNode(SCANode arg0) { + node = (SCANodeImpl) arg0; + } + + public void handleEvent(WorkpoolEvent ev) { + if (ev == null) + return; + + String nodeName = ev.getNodeName(); + + switch (ev.getType()) { + case WorkpoolEvent.SINGLE_ADD_WORKER: { + if (nodeName != null) { + Vector> workerRefs = new Vector>(); + + // in this case I have a nodeName + if (!nodeName.equals("") + && (workerManagerTable.containsKey(nodeName))) { + WorkerManager manager = workerManagerTable.get(nodeName); + addNewComponent(manager, workerRefs); + startNewComponents(workerRefs); + } else if (nodeName.equals("")) { + WorkerManager manager = findMinLoad(); + addNewComponent(manager, workerRefs); + startNewComponents(workerRefs); + } + } + break; + } + case WorkpoolEvent.EVENT_MULTIPLE_ADD_WORKER: { + Vector> workerRefs = new Vector>(); + + if (nodeName.equals("")) { + + WorkerManager manager = findMinLoad(); + int k = ev.workers(); + for (int h = 0; h < k; ++h) { + addNewComponent(manager, workerRefs); + } + } else { + WorkerManager manager = workerManagerTable + .get(ev.getNodeName()); + int k = ev.workers(); + for (int h = 0; h < k; ++h) { + addNewComponent(manager, workerRefs); + } + } + startNewComponents(workerRefs); + break; + } + case WorkpoolEvent.SINGLE_REMOVE_WORKER: { + if (nodeName != null) { + // in this case I have a nodeName + if (!nodeName.equals("") + && (workerManagerTable.containsKey(nodeName))) { + WorkerManager manager = workerManagerTable.get(nodeName); + removeComponent(manager, 1); + } else if (nodeName.equals("")) { + WorkerManager manager = findMaxLoadNode(); + removeComponent(manager, 1); + } + } + break; + } + case WorkpoolEvent.EVENT_MULTIPLE_REMOVE_WORKER: { + if (nodeName.equals("")) { + WorkerManager manager = findMaxLoadNode(); + removeComponent(manager, ev.workers()); + + } else { + WorkerManager manager = workerManagerTable.get(nodeName); + removeComponent(manager, ev.workers()); + } + break; + } + } + + } + + @Destroy + public void onExit() { + // do cleanup + this.timer.cancel(); + this.timer.purge(); + } + + public void stopAutonomicCycle() { + this.timer.cancel(); + this.timer.purge(); + this.timer = null; + } + + public void startAutonomicCycle() { + if (this.timer == null) { + this.timer = new Timer(); + TimerTask task = new WorkpoolManagerImpl.RuleEngineTrigger(); + timer.schedule(task, 3000, cycleTime); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolService.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolService.java new file mode 100644 index 0000000000..d84ae549d8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolService.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 workpool; + +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.apache.tuscany.sca.databinding.job.Job; +import org.osoa.sca.annotations.OneWay; +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.ServiceReference; + +@DataBinding("org.apache.tuscany.sca.databinding.job.Job") +@Remotable +public interface WorkpoolService { + + /* this the functional part */ + void submit(Job i); + + /* the time between two subsequent worker invocations */ + double getServiceTime(); + + /* the number of ResultJob received */ + long getJobComputed(); + + /* the time elapsed between the stream has initiated and now */ + long getElapsedTime(); + + /* the size of the internal queue : it's not accurate */ + int estimatedQueueSize(); + + /* the average time between two consuecutive submit */ + double getArrivalTime(); + + void start(); + + void stop(); + + /* + * this is the part needed by management. May be in future i'll refactor it + * order to hide this part. + */ + @OneWay + void handleResult(Job j, boolean reuse, String string, + CallableReferenceImpl worker, boolean newJob); + + void addTrigger(CallableReferenceImpl reference); + + void removeTrigger(); + + void registerManager( + CallableReferenceImpl createSelfReference); + + /* + * This could placed in another interface definition - think about it These + * methods evict, and evictAll are needed when a worker finish to exist and + * it needs to be evicted by the WorkpoolManager. In the system I have two + * caches: 1) a domain cache, which holds the components URI 2) a + * workerReference cache (implemented by a ConcurrentHashMap), which holds a + * proxy to each worker. Every proxy gets built from the worker callable + * reference. I'm thinking for placing the workerReferenceCache in a local + * interface. Assuming that WorkpoolService and WorkpoolManager are in the + * same JVM. + */ + void evict(String workerURI); + + void evictAll(); + + /* + * these two are no longer needed. I leave it because if i'll have time to + * do dynamic wiring the first one is needed. void PostWorkerName(String + * referenceName); + */ + void PostWorkerReference(CallableReferenceImpl worker); + +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolServiceImpl.java new file mode 100644 index 0000000000..52b88af42c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/java/workpool/WorkpoolServiceImpl.java @@ -0,0 +1,416 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.ReentrantLock; +import java.util.logging.Logger; +import org.apache.tuscany.sca.core.context.CallableReferenceImpl; +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; +import org.apache.tuscany.sca.databinding.job.Job; +import org.apache.tuscany.sca.databinding.job.JobDataMap; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * An implementation of the Workpool service. + */ +@Service(WorkpoolService.class) +@Scope("COMPOSITE") +@DataBinding("org.apache.tuscany.sca.databinding.job.Job") +public class WorkpoolServiceImpl implements WorkpoolService, + WorkerServiceCallback { + + /* incoming job queue */ + private LinkedBlockingQueue queue = new LinkedBlockingQueue(5000); + private CallableReferenceImpl trigger = null; + private Trigger forwardResult = null; + /* counter for job's number fetched from the queue and sent to the Worker */ + private AtomicInteger jobSent = new AtomicInteger(0); + /* time for initHandleResult */ + private AtomicLong initHandleResult = new AtomicLong(0); + /* time for endHandleResult */ + private AtomicLong endHandleResult = new AtomicLong(0); + /* + * number of job computed, this will be exposed in order to be used to + * firing rules + */ + private long jobComputed = 0; + /* same as above */ + private AtomicLong elapsedTime = new AtomicLong(0); + /* this is for comuputing averageServiceTime */ + private long times = 1; + /* this is for computing averageArrivalTime */ + private long timesArrival = 1; + private ReentrantLock arrivalLock = new ReentrantLock(); + private long arrivalPrevious = -1; + // private AtomicBoolean processingStopped = new AtomicBoolean(false); + private boolean processingStopped = false; + // private LinkedBlockingQueue triggers = new + // LinkedBlockingQueue(); + @Context + protected ComponentContext workpoolContext; + private CallableReferenceImpl manager; + private long previousSubmitTime = -1; + private boolean firstTime = true; + private boolean first = true; + private long start = 0; + private long end = 0; + private double averageServiceTime = 0; + private double averageArrivalTime = 0; + private int workersNo = 0; + private final Job nullJob = new NullJob(); + /* This is useful for counting the start and end */ + private Logger log = Logger.getLogger(WorkpoolServiceImpl.class.getName()); + private ReentrantLock handleResultLock = new ReentrantLock(); + private ReentrantLock postWorkerReferenceLock = new ReentrantLock(); + private ConcurrentHashMap cacheReference = new ConcurrentHashMap(); + private CallableReferenceImpl myReference; + private String previuosURI = ""; + private long time = 0; + + private void computeAverageTime() { + long actualServiceTime = 0; + // if the processing is finished + if (processingStopped) + return; + + if (firstTime == true) { + this.previousSubmitTime = System.currentTimeMillis(); + this.averageServiceTime = 0; + firstTime = false; + } else { + actualServiceTime = System.currentTimeMillis() + - this.previousSubmitTime; + this.previousSubmitTime = System.currentTimeMillis(); + averageServiceTime = ((averageServiceTime * times) + actualServiceTime) + / (times + 1); + ++times; + } + } + + public void submit(Job j) { + try { + // log.info("Submit job in queue -->"+ j.getType()); + // processingStopped.set(false); + try { + arrivalLock.lock(); + if (this.arrivalPrevious == -1) { + arrivalPrevious = System.currentTimeMillis(); + averageArrivalTime = 0; + } + double actualArrivalTime = System.currentTimeMillis() + - arrivalPrevious; + averageArrivalTime = ((averageArrivalTime * timesArrival) + actualArrivalTime) + / (timesArrival + 1); + arrivalPrevious = System.currentTimeMillis(); + ++timesArrival; + } finally { + arrivalLock.unlock(); + } + queue.put(j); + } catch (Exception e) { + log.info("Exception in queue"); + queue.clear(); + e.printStackTrace(); + } + } + + public double getArrivalTime() { + return this.averageArrivalTime; + } + + public double getServiceTime() { + return this.averageServiceTime; + } + + public void receiveResult(Job resultType, boolean reuse, String workerURI) { + + if (reuse) { + queue.add(resultType); + return; + } + + computeAverageTime(); + Job job = null; + try { + job = queue.take(); + } catch (InterruptedException e) { + // TODO Better exception handling --> see Exception antipattern doc + e.printStackTrace(); + return; + } + + if ((job != null) && (job.eos() == false)) { + int nameIndex = workerURI.indexOf("/"); + String workerName = workerURI.substring(0, nameIndex - 1); + log.info("Sending job to worker --> " + workerName); + WorkerService worker = workpoolContext.getService( + WorkerService.class, workerName); + worker.compute(job); + } + + JobDataMap map = ((ResultJob) resultType).getDataMap(); + if (map != null) { + ++jobComputed; + Object obj = map.getJobDataObject("result"); + System.out.println("Result = " + ((Double) obj).doubleValue()); + } + + } + + public void start() { + log.info("WorkpoolServiceComponent started..."); + myReference = (CallableReferenceImpl) workpoolContext + .createSelfReference(WorkpoolService.class, "WorkpoolService"); + myReference.getService(); + } + + /* + * + * This method is called by WorkpoolManagerImpl, when it creates a new + * worker component in order to dispatch worker to the WorkpoolServiceImpl + * @param CallableReferenceImpl reference - a dynamically created reference + * from the Worker + */ + public void PostWorkerReference( + CallableReferenceImpl reference) { + + try { + long initPostWorkerReference; + long endPostWorkerReference; + this.postWorkerReferenceLock.lock(); + + initPostWorkerReference = System.currentTimeMillis(); + WorkerService worker; + worker = reference.getService(); + worker.start(); + + ++workersNo; + if (myReference != null) { + + // Job poison = new ResultJob(); + this.postWorkerReferenceLock.unlock(); + log.info("Sending null job to worker"); + worker.computeFirstTime(nullJob, myReference); + // queue.put(poison); + endPostWorkerReference = System.currentTimeMillis(); + System.out.println("Time PostWorker =" + + (endPostWorkerReference - initPostWorkerReference)); + } else { + log.info("myReference is null"); + + } + } catch (Exception e) { + postWorkerReferenceLock.unlock(); + } finally { + } + + } + + /* + * FIXME This method currently is not used because i've not yet ready + * dynamic wire injection + */ + + public void PostWorkerName(String referenceName) { + /* TODO Do something similar to PostWorkerReference */ + } + + private void printComputingTime(Job j) { + + if (first == true) { + first = false; + start = System.currentTimeMillis(); + end = System.currentTimeMillis(); + } else { + end = System.currentTimeMillis(); + System.out.println("Elapsed Time = " + (end - start)); + elapsedTime.set(end - start); + } + /* + * i could use reflection or instance of (but it's a penalty kick) , or + * an object as result, but i'd prefer a job so i've defined a + * RESULT_JOB There're in the system three kind of jobs: RESULT_JOB, + * NULL_JOB, DEFAULT_JOB + */ + if ((j != null) && (j.getType() == Job.RESULT_JOB)) { + jobComputed++; + ResultJob result = (ResultJob) j; + JobDataMap map = result.getDataMap(); + if (map != null) { + Double doubleValue = (Double) map.getJobDataObject("result"); + System.out + .println("ResultValue = " + doubleValue.doubleValue()); + } + + } + + } + + public void handleResult(Job resultType, boolean reuse, String workerURI, + CallableReferenceImpl worker, boolean newWorker) { + initHandleResult.set(System.nanoTime()); + if (reuse) { + log.info("Reusing a job.."); + queue.add(resultType); + return; + } + // init job variable + Job job; + if (newWorker) + System.out.println("newWorkerActivation= " + System.nanoTime()); + printComputingTime(resultType); + + try { + job = queue.take(); + } catch (Exception e) { + log.info("Exception during fetching the queue"); + e.printStackTrace(); + return; + } + + try { + // it needs to be locked because multiple threads could invoke this. + handleResultLock.lock(); + if (previuosURI.equals("")) { + time = System.currentTimeMillis(); + this.previuosURI = workerURI; + } else { + if (previuosURI.equals(workerURI)) + System.out.println("Complete ComputeTime for an item =" + + (time - System.currentTimeMillis())); + } + if (job.eos()) { + long endTime = System.currentTimeMillis(); + /* checking for EOS */ + if (processingStopped == false) { + processingStopped = true; + System.out.println("GOT EOS in time=" + (endTime - start)); + log.info("Stop autonomic cycle.."); + /* + * I'm doing this because i want that in the termination i + * would have more jobs with eos == true than workers. So + * i'm sure that every worker removes itself from its + * manager. I do it only one time. This is necessary because + * i have a variable number of workers. The number of + * workers in the system might change every time the rule + * engine cycle gets executed. + */ + ResultJob poison = new ResultJob(); + for (int i = 0; i < workersNo; ++i) { + try { + + queue.put(poison); + + } catch (Exception e) { + log.info("Cannot duplicate poison tokens"); + break; + } + + } + manager.getService().stopAutonomicCycle(); + } + } + computeAverageTime(); + System.out.println("AverageTime =" + averageServiceTime); + if (job != null) { + + WorkerService workerService; + /* + * the workpool has a high reuse, i always call the same + * component set or un superset or subset, so i cache it. When + * the WorkpoolManager will remove an item, it removes still + * this cache entry + */ + if (!cacheReference.containsKey(workerURI)) { + workerService = worker.getService(); + handleResultLock.unlock(); + cacheReference.put(workerURI, workerService); + } else { + handleResultLock.unlock(); + workerService = cacheReference.get(workerURI); + } + // it's still a penalty kick locking compute because it's going + // to be scheduled whereas it's async. + workerService.compute(job); + log.info("Sent job #" + jobSent.incrementAndGet() + + " Queue size " + queue.size()); + endHandleResult.set(System.nanoTime()); + System.out + .println("begin:handleResult ==> end:handleResult:compute = " + + (endHandleResult.addAndGet(-(initHandleResult + .get())) / 1000000)); + } + } catch (Exception e) { + handleResultLock.unlock(); + } + } + + public void evictAll() { + cacheReference.clear(); + } + + public void evict(String workerURI) { + if (cacheReference.containsKey(workerURI)) { + cacheReference.remove(workerURI); + } + + } + + public int estimatedQueueSize() { + return queue.size(); + } + + public long getElapsedTime() { + return elapsedTime.get(); + } + + public long getJobComputed() { + return jobComputed; + } + + public void registerManager( + CallableReferenceImpl createSelfReference) { + manager = createSelfReference; + + } + + public void stop() { + // TODO Auto-generated method stub + + } + + public void addTrigger(CallableReferenceImpl reference) { + this.trigger = reference; + this.forwardResult = reference.getService(); + + } + + public void removeTrigger() { + this.trigger = null; + this.forwardResult = null; + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b3e2d16c05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/Workpool.composite b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/Workpool.composite new file mode 100644 index 0000000000..9a00a8e839 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeA/Workpool.composite @@ -0,0 +1,47 @@ + + + + + + + + + + 4 + 4 + 0 + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b3e2d16c05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/Workpool.composite b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/Workpool.composite new file mode 100644 index 0000000000..a71dc9e08a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeB/Workpool.composite @@ -0,0 +1,38 @@ + + + + + + nodeB + Workpool.composite + workpool.MyWorker + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b3e2d16c05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/Workpool.composite b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/Workpool.composite new file mode 100644 index 0000000000..771db5370b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeC/Workpool.composite @@ -0,0 +1,38 @@ + + + + + + nodeC + Workpool.composite + workpool.MyWorker + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b3e2d16c05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/Workpool.composite b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/Workpool.composite new file mode 100644 index 0000000000..55fd48934f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeD/Workpool.composite @@ -0,0 +1,38 @@ + + + + + + nodeD + Workpool.composite + workpool.MyWorker + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b3e2d16c05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/Workpool.composite b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/Workpool.composite new file mode 100644 index 0000000000..1dc9ccfcea --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/main/resources/nodeE/Workpool.composite @@ -0,0 +1,38 @@ + + + + + + nodeE + Workpool.composite + workpool.MyWorker + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/test/java/workpool/AComponent.java b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/test/java/workpool/AComponent.java new file mode 100644 index 0000000000..5c20537fab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/src/test/java/workpool/AComponent.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package workpool; + +public interface AComponent { + public static final int RETURN_VALUE = 1; + + public void greet(); +} diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules.drl b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules.drl new file mode 100644 index 0000000000..e7ebcad4c0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules.drl @@ -0,0 +1,9 @@ +package workpool +import workpool.*; +rule "WorkerAdder" + when + $workerBean: WorkpoolBean(singleAction == false && (jobComputed > 500)) + then + $workerBean.addWorkerToNode("nodeB"); + $workerBean.setSingleAction(); +end diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules1.drl b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules1.drl new file mode 100644 index 0000000000..6fa0b85ba2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules1.drl @@ -0,0 +1,9 @@ +package workpool +import workpool.*; +rule "WorkerAdder" + when + $workerBean: WorkpoolBean(averageServiceTime > 250) + then + $workerBean.addWorkerToNode("nodeB"); + $workerBean.setSingleAction(); +end diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules2.drl b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules2.drl new file mode 100644 index 0000000000..9d9551c3ea --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules2.drl @@ -0,0 +1,8 @@ +package workpool +import workpool.*; +rule "WorkerAverageService" + when + $workerBean: WorkpoolBean(jobComputed > 250) + then + $workerBean.addWorkerToNode("nodeB"); +end diff --git a/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules3.drl b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules3.drl new file mode 100644 index 0000000000..a67af910a4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/workpool-distributed/workerRules3.drl @@ -0,0 +1,14 @@ +package workpool +import workpool.*; +rule "AdaptUsageFactor" + when + $workerBean: WorkpoolBean(usageFactor > 0.8) + then + $workerBean.addWorkerToNode(""); +end +rule "AdaptQueueFull" + when + $workerBean: WorkpoolBean((estimedQueueSize > 1900) && jobsComputed > 100) + then + $workerBean.addWorkerToNode("nodeB") +end \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/DISCLAIMER b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/LICENSE b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/LICENSE new file mode 100644 index 0000000000..6e529a25c4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/NOTICE b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/NOTICE new file mode 100644 index 0000000000..1325efd8bf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/README b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/README new file mode 100644 index 0000000000..3bdeeca60a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/README @@ -0,0 +1,46 @@ +XML BigBank Demo +================ + +This demo showcases the integration with XML technolgies in the service assembly. + +Note: The live stock quote web service is not always running. Sometimes empty response is returned and the stock value is 0. + +To run the demo, type "ant run" and it will produce the following output. + +Buildfile: build.xml + +init: + [get] Getting: http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx?WSDL + [get] To: C:\Apache\tuscany-sca-1.0.1-incubating\demos\xml-bigbank\src\main\resources\wsdl\StockQuotes.wsdl + [get] local file date : Tue Nov 06 15:50:37 PST 2007 + [get] . + [get] last modified = Wed Dec 31 16:00:00 PST 1969 - using current time instead + [mkdir] Created dir: C:\Apache\tuscany-sca-1.0.1-incubating\demos\xml-bigbank\target\classes + +compile: + [javac] Compiling 11 source files to C:\Apache\tuscany-sca-1.0.1-incubating\demos\xml-bigbank\target\classes + [copy] Copying 6 files to C:\Apache\tuscany-sca-1.0.1-incubating\demos\xml-bigbank\target\classes + [jar] Building jar: C:\Apache\tuscany-sca-1.0.1-incubating\demos\xml-bigbank\target\demo-xml-bigbank.jar + +run: + [java] Nov 6, 2007 3:52:28 PM org.apache.axis2.deployment.DeploymentEngine loadFromClassPath + [java] INFO: Module validation failed: The system is attempting to engage a module that is not available: rampart + [java] Retrieving exchange rate... + [java] Nov 6, 2007 3:52:29 PM org.apache.tuscany.sca.binding.feed.provider.RSSBindingInvoker invoke + [java] INFO: >>> RSSBindingInvoker (rss_2.0) http://ansuz.sooke.bc.ca/rippy/exchange/?M=R&B=USD&F=CAD,CNY,EUR&T=F&S=O&I=S + [java] Exchange rate: USD 1.0=EUR 0.68705 + [java] Loading account data... + [java] Getting stock quote... + [java] Nov 6, 2007 3:52:30 PM org.apache.commons.httpclient.HttpMethodBase readResponse + [java] INFO: Discarding unexpected response: HTTP/1.1 100 Continue + [java] Calculating total value... + [java] Checking Balance: xs:double: 1000 + [java] Saving Blance: xs:double: 20000 + [java] Stock Value: xs:integer: 0 + [java] Total Value [1]: xs:double: 21000 + [java] Total Value=USD 21000.0 + [java] EUR: 14428.050000000001 + +BUILD SUCCESSFUL +Total time: 7 seconds + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/build.xml b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/build.xml new file mode 100644 index 0000000000..0ba1b069aa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/build.xml @@ -0,0 +1,63 @@ + + +]> + + + &buildDependency; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/pom.xml b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/pom.xml new file mode 100644 index 0000000000..c86f6d9624 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/pom.xml @@ -0,0 +1,115 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 2.0-incubating-SNAPSHOT + ../pom.xml + + demo-xml-bigbank + jar + Apache Tuscany SCA XML BigBank Demo + Apache Tuscany SCA XML BigBank Demo + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-binding-rss-rome + 2.0-incubating-SNAPSHOT + compile + + + + org.apache.tuscany.sca + tuscany-databinding-saxon + 2.0-incubating-SNAPSHOT + runtime + + + + + org.apache.tuscany.sca + tuscany-implementation-xquery + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + ${artifactId} + + + org.apache.tuscany.sca + tuscany-maven-ant-generator + 2.0-incubating-SNAPSHOT + + + + bigbank.BigBankClient + true + + + generate + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountData.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountData.java new file mode 100644 index 0000000000..c3ae8d0912 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountData.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 bigbank; + +import java.io.IOException; + +import javax.xml.stream.XMLStreamReader; + +/** + * @version $Rev$ $Date$ + */ +public interface AccountData { + /** + * Get the StAX stream that represent the accounts data + * @return The StAX stream containign the accounts + * @throws IOException + */ + XMLStreamReader getAccounts() throws IOException; +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java new file mode 100644 index 0000000000..1c0c612987 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.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 bigbank; + +import java.io.IOException; +import java.net.URL; + +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamReader; + +import org.osoa.sca.annotations.Service; + +/** + * @version $Rev$ $Date$ + */ +@Service(AccountData.class) +public class AccountDataImpl implements AccountData { + private XMLInputFactory factory = XMLInputFactory.newInstance(); + + public XMLStreamReader getAccounts() throws IOException { + URL doc = getClass().getResource("/accounts.xml"); + XMLStreamReader reader = null; + try { + reader = factory.createXMLStreamReader(doc.openStream()); + } catch (Exception e) { + e.printStackTrace(); + } + return reader; + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountService.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountService.java new file mode 100644 index 0000000000..4c72384e7b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountService.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 bigbank; + + +/** + * @version $Rev$ $Date$ + */ +public interface AccountService { + /** + * Get the total value of all accounts owned by the customer + * @return The total value + */ + double getTotalValue(); +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java new file mode 100644 index 0000000000..2ce1e86062 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.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 bigbank; + +import java.io.StringReader; + +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamReader; + +import org.apache.axiom.om.OMElement; +import org.osoa.sca.ServiceRuntimeException; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * @version $Rev$ $Date$ + */ +@Service(AccountService.class) +public class AccountServiceImpl implements AccountService { + private static final String STOCK_QUOTE_REQUEST = + "IBM GOOG MSFT"; + + private XMLInputFactory factory = XMLInputFactory.newInstance(); + + @Reference + protected ExchangeRate exchangeRate; + + @Reference + protected StockQuote stockQuote; + + @Reference + protected AccountData accountData; + + @Reference + protected StockValue stockValue; + + @Property + protected String currency; + + public double getTotalValue() { + try { + double rate = exchangeRate.getExchangeRate(currency); + + System.out.println("Loading account data..."); + XMLStreamReader accounts = accountData.getAccounts(); + + System.out.println("Getting stock quote..."); + XMLStreamReader request = factory.createXMLStreamReader(new StringReader(STOCK_QUOTE_REQUEST)); + + OMElement quotes = stockQuote.GetQuote(request); + + String xml = quotes.getText(); + System.out.println(xml); + XMLStreamReader qts = factory.createXMLStreamReader(new StringReader(xml)); + System.out.println("Calculating total value..."); + double value = stockValue.calculate(qts, accounts); + + System.out.println("Total Value=USD " + value); + + return value * rate; + } catch (Exception e) { + throw new ServiceRuntimeException(e); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java new file mode 100644 index 0000000000..a7703787fb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.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 bigbank; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This client program to invoke the Account service + */ +public class BigBankClient { + + public static void main(String[] args) throws Exception { + + SCADomain domain = SCADomain.newInstance("BigBank.composite"); + AccountService accountService = domain.getService(AccountService.class, "AccountService"); + + System.out.println("EUR: " + accountService.getTotalValue()); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java new file mode 100644 index 0000000000..f5f1ca90b6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.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 bigbank; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * @version $Rev$ $Date$ + */ +public class BigBankServer { + public static void main(String[] args) throws Exception { + + System.out.println("Starting the BigBank Service..."); + + SCADomain domain = SCADomain.newInstance("http://localhost", "/", "BigBank.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + System.out.println("Bye"); + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java new file mode 100644 index 0000000000..bb8ff85f45 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.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 bigbank; + +import org.osoa.sca.annotations.Remotable; + +import com.sun.syndication.feed.synd.SyndFeed; + +/** + * @version $Rev$ $Date$ + */ +@Remotable +public interface CurrencyExchange { + /** + * Get the currency exchange rates as a RSS feed + * @return + */ + SyndFeed getRates(); +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java new file mode 100644 index 0000000000..358e5e19a2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.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 bigbank; + +/** + * @version $Rev$ $Date$ + */ +public interface ExchangeRate { + /** + * Look up the exchange rate of a currency against USD + * @param currency The currency + * @return The exchange rate + */ + double getExchangeRate(String currency); +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java new file mode 100644 index 0000000000..fcb3707cfe --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.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 bigbank; + +import java.io.ByteArrayInputStream; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.xpath.XPath; +import javax.xml.xpath.XPathConstants; +import javax.xml.xpath.XPathExpression; +import javax.xml.xpath.XPathFactory; + +import org.osoa.sca.ServiceRuntimeException; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.SyndFeed; + +/** + * @version $Rev$ $Date$ + */ +@Service(ExchangeRate.class) +public class ExchangeRateImpl { + @Reference + protected CurrencyExchange exchangeRate; + + private final DocumentBuilder builder; + + public ExchangeRateImpl() { + try { + builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); + } catch (ParserConfigurationException e) { + throw new IllegalArgumentException(e); + } + } + + /** + * Retrieve the live currency exchange rate from a live feed and extract the data for a given + * currecy using XPath + * @param currency The currency + * @return The exchange rate + */ + public double getExchangeRate(String currency) { + try { + System.out.println("Retrieving exchange rate..."); + SyndFeed feed = exchangeRate.getRates(); + SyndEntry entry = (SyndEntry)feed.getEntries().get(0); + String rateTable = entry.getDescription().getValue(); + + Document doc = builder.parse(new ByteArrayInputStream(rateTable.getBytes())); + Node node = doc.getDocumentElement(); + XPath path = XPathFactory.newInstance().newXPath(); + XPathExpression exp = path.compile("/TABLE/TR[TD[1]='" + currency.toUpperCase() + "']/TD[2]"); + Node rateNode = (Node)exp.evaluate(node, XPathConstants.NODE); + double rate = Double.valueOf(rateNode.getTextContent().trim()); + System.out.println("Exchange rate: USD 1.0=" + currency + " " + rate); + return rate; + } catch (Exception e) { + throw new ServiceRuntimeException(e); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java new file mode 100644 index 0000000000..26753a9e9e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockQuote.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 bigbank; + +import javax.xml.stream.XMLStreamReader; + +import org.apache.axiom.om.OMElement; +import org.osoa.sca.annotations.Remotable; + +/** + * @version $Rev$ $Date$ + */ +@Remotable +public interface StockQuote { + /** + * Invoke the stock quote web service to get the live quotes + * @param input The StAX stream of the request + * @return The StAX stream of the response + */ + public OMElement GetQuote(XMLStreamReader input); +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockValue.java b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockValue.java new file mode 100644 index 0000000000..c300103398 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/java/bigbank/StockValue.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 bigbank; + +import javax.xml.stream.XMLStreamReader; + +import org.osoa.sca.annotations.Remotable; + +/** + * @version $Rev$ $Date$ + */ +@Remotable +public interface StockValue { + /** + * Join the quotes and accounts document to calculate the value + * @param quotes The quotes XML document + * @param accounts The accounts XML document + * @return The value + */ + double calculate(XMLStreamReader quotes, XMLStreamReader accounts); +} diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/BigBank.composite b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/BigBank.composite new file mode 100644 index 0000000000..8afde4bf80 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/BigBank.composite @@ -0,0 +1,51 @@ + + + + + + + + + + EUR + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/accounts.xml b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/accounts.xml new file mode 100644 index 0000000000..52ffd41fa7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/accounts.xml @@ -0,0 +1,29 @@ + + + + John + Smith + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/customer.xsd b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/customer.xsd new file mode 100644 index 0000000000..b22efb74c4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/customer.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/stock.xq b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/stock.xq new file mode 100644 index 0000000000..03c19e457d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/stock.xq @@ -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. +:) +declare namespace q="http://www.webserviceX.NET/"; +declare namespace c="http://example.com/customer"; +declare namespace stock="scaservice:java/bigbank.StockValue"; +(: declare namespace currency="scaproperty:java/java.lang.String"; :) + +declare function stock:calculate($quoteDoc, $accountDoc) as xs:double { + let $checking := + trace( + sum( + for $a in $accountDoc/c:customer/c:accounts/c:checking + return $a/@balance + ), "Checking Balance") + + let $saving := + trace( + sum( + for $a in $accountDoc/c:customer/c:accounts/c:saving + return $a/@balance + ), "Saving Blance") + + let $value := + trace( + sum( + for $quote in $quoteDoc/StockQuotes/Stock, + $account in $accountDoc/c:customer/c:accounts/c:stock + where string($quote/Symbol) = string($account/@symbol) + return + trace(number($quote/Last),"Stock Price") * trace(number($account/@quantity), "Quantity") + ), "Stock Value") + return trace($checking + $saving + $value, "Total Value") +}; + + + diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/wsdl/StockQuotes.wsdl b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/wsdl/StockQuotes.wsdl new file mode 100644 index 0000000000..8411e22ff7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/src/main/resources/wsdl/StockQuotes.wsdl @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.png b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.png new file mode 100644 index 0000000000..0743a413a3 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.png differ diff --git a/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.svg b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.svg new file mode 100644 index 0000000000..c7acc03324 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/demos/xml-bigbank/xml-bigbank.svg @@ -0,0 +1,447 @@ + + + + + + + + + + image/svg+xml + + + + + + + + BigBank + AccountData(Local file orDatabase) + + StockValue (XQuery) + + + + + + + + + + + + + + WS XML Feed(rss) + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + AccountService (Java) + + + ExchangeRate (Java) + + StockQuote(Live WebService) CurrencyExchangeRate (Live RSS Feed) + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/bundle/pom.xml b/sandbox/sebastien/java/sca-node/distribution/bundle/pom.xml new file mode 100644 index 0000000000..3f98f63633 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/bundle/pom.xml @@ -0,0 +1,700 @@ + + + + 4.0.0 + + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + tuscany-bundle + Apache Tuscany SCA Bundle Jar + jar + + + true + ${pom.version} + + + + + ${pom.groupId} + tuscany-assembly + ${pom.version} + + + ${pom.groupId} + tuscany-assembly-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-atom-abdera + ${pom.version} + + + ${pom.groupId} + tuscany-binding-dwr + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ejb-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-atom + ${pom.version} + + + ${pom.groupId} + tuscany-binding-http-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-jms + ${pom.version} + + + ${pom.groupId} + tuscany-binding-jsonrpc-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-notification + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rss + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rss-rome + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca-axis2 + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws-axis2 + ${pom.version} + + + org.apache.ant + ant-nodeps + + + org.apache.axis2 + addressing + + + org.apache.axis2 + axis2-xmlbeans + + + org.apache.axis2 + axis2-adb-codegen + + + bouncycastle + bcprov-jdk15 + + + opensaml + opensaml + + + + + ${pom.groupId} + tuscany-binding-ws-xml + ${pom.version} + + + ${pom.groupId} + tuscany-contribution + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-groovy + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-impl + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-java + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-namespace + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-resource + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-groovy + ${pom.version} + + + ${pom.groupId} + tuscany-core + ${pom.version} + + + ${pom.groupId} + tuscany-core-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-core-spi + ${pom.version} + + + ${pom.groupId} + tuscany-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-jaxb + ${pom.version} + + + + ${pom.groupId} + tuscany-databinding-sdo-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-host-embedded + ${pom.version} + + + ${pom.groupId} + tuscany-host-http + ${pom.version} + + + ${pom.groupId} + tuscany-host-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-host-webapp + ${pom.version} + + + ${pom.groupId} + tuscany-host-jetty + ${pom.version} + + + + ${pom.groupId} + tuscany-interface + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl-xml + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-bpel + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-bpel-ode + ${pom.version} + + + ${pom.groupId} + tuscany-data-api + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-ejb + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-ejb + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-host-tomcat + + + + + ${pom.groupId} + tuscany-implementation-osgi + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-resource-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-script + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-spring + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-xquery + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-widget-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-node2-api + ${pom.version} + + + ${pom.groupId} + tuscany-node2-impl + ${pom.version} + + + ${pom.groupId} + tuscany-node2-launcher + ${pom.version} + + + ${pom.groupId} + tuscany-policy + ${pom.version} + + + ${pom.groupId} + tuscany-policy-logging + ${pom.version} + + + ${pom.groupId} + tuscany-policy-security + ${pom.version} + + + ${pom.groupId} + tuscany-policy-xml + ${pom.version} + + + ${pom.groupId} + tuscany-definitions + ${pom.version} + + + ${pom.groupId} + tuscany-runtime-tomcat + ${pom.version} + + + ${pom.groupId} + tuscany-workspace + ${pom.version} + + + ${pom.groupId} + tuscany-domain-manager + ${pom.version} + + + ${pom.groupId} + tuscany-host-tomcat + + + + + ${pom.groupId} + tuscany-workspace-impl + ${pom.version} + + + ${pom.groupId} + tuscany-workspace-xml + ${pom.version} + + + ${pom.groupId} + tuscany-sca-api + ${pom.version} + + + + + + stax + stax-api + 1.0.1 + + + + org.codehaus.woodstox + wstx-asl + 3.2.1 + runtime + + + + org.apache.geronimo.specs + geronimo-commonj_1.1_spec + 1.0 + + + + org.apache.neethi + neethi + 2.0.2 + + + + + + + + + + src/main/resources + + **/* + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + + package + + shade + + + org.apache.tuscany.sca + + false + ${createSourcesJar} + false + true + + + org.apache.tuscany.sca:tuscany-interface-java-jaxws + + com/example/** + + + + org.apache.tuscany.sca:tuscany-databinding-jaxb + + com/example/** + + + + org.apache.tuscany.sca:tuscany-databinding-sdo + + com/example/** + + + + ${project.groupId}:${project.artifactId} + + + org/** + + + + + + + META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory + + + META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory + + + META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory + + + META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory + + + META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory + + + META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory + + + META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory + + + META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory + + + META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory + + + META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor + + + META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver + + + META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener + + + META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.core.ModuleActivator + + + META-INF/services/org.apache.tuscany.sca.databinding.DataBinding + + + META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer + + + META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer + + + META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator + + + META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator + + + META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory + + + META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory + + + META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor + + + META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory + + + META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory + + + META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory + + + META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory + + + META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint + + + META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator + + + META-INF/services/org.apache.tuscany.sca.work.WorkScheduler + + + META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler + + + META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory + + + META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/manifest/pom.xml b/sandbox/sebastien/java/sca-node/distribution/manifest/pom.xml new file mode 100644 index 0000000000..9dad7081fd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/manifest/pom.xml @@ -0,0 +1,586 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + tuscany-sca-manifest + Apache Tuscany SCA Manifest Jar + + + true + ${pom.version} + + + + + ${pom.groupId} + tuscany-assembly + ${pom.version} + + + ${pom.groupId} + tuscany-assembly-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-dwr + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ejb-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-atom + ${pom.version} + + + ${pom.groupId} + tuscany-binding-atom-abdera + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rss + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rss-rome + ${pom.version} + + + ${pom.groupId} + tuscany-binding-http-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-jms + ${pom.version} + + + org.apache.activemq + apache-activemq + 4.1.1 + + + commons-httpclient + commons-httpclient + + + commons-fileupload + commons-fileupload + + + commons-beanutils + commons-beanutils + + + org.apache.activemq + activemq-console + + + org.apache.activemq + activemq-core + + + org.apache.activemq + activemq-optional + + + org.apache.activemq + activemq-web + + + org.apache.activemq + activemq-web-demo + + + org.apache.activemq + activemq-jaas + + + org.apache.geronimo.specs + geronimo-j2ee-connector_1.5_spec + + + org.apache.geronimo.specs + geronimo-j2ee-jacc_1.0_spec + + + org.apache.geronimo.specs + geronimo-jms_1.1_spec + + + org.apache.geronimo.specs + geronimo-jsp_2.0_spec + + + org.apache.geronimo.specs + geronimo-j2ee-management_1.0_spec + + + org.mortbay.jetty + servlet-api-2.5 + + + org.mortbay.jetty + jetty + + + org.mortbay.jetty + jetty-util + + + xerces + xercesImpl + + + backport-util-concurrent + backport-util-concurrent + + + activesoap + jaxp-api + + + activemq + jmdns + + + jrms + jrms + + + xerces + xmlParserAPIs + + + xstream + xstream + + + xmlpull + xmlpull + + + mx4j + mx4j + + + mx4j + mx4j-remote + + + + + ${pom.groupId} + tuscany-binding-jsonrpc-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-binding-notification + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca-axis2 + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws-axis2 + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws-xml + ${pom.version} + + + ${pom.groupId} + tuscany-contribution + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-groovy + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-impl + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-java + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-namespace + ${pom.version} + + + ${pom.groupId} + tuscany-core + ${pom.version} + + + ${pom.groupId} + tuscany-core-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-core-spi + ${pom.version} + + + ${pom.groupId} + tuscany-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-jaxb + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-sdo + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-sdo-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-host-embedded + ${pom.version} + + + ${pom.groupId} + tuscany-host-http + ${pom.version} + + + ${pom.groupId} + tuscany-host-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-host-webapp + ${pom.version} + + + ${pom.groupId} + tuscany-host-jetty + ${pom.version} + + + + ${pom.groupId} + tuscany-interface + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl-xml + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-bpel + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-bpel-ode + ${pom.version} + + + ant + ant + + + + + ${pom.groupId} + tuscany-implementation-ejb + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-ejb + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-host-tomcat + + + + + ${pom.groupId} + tuscany-implementation-osgi + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-resource-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-script + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-spring + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-xquery + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-widget-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-node2-api + ${pom.version} + + + ${pom.groupId} + tuscany-node2-impl + ${pom.version} + + + ${pom.groupId} + tuscany-node2-launcher + ${pom.version} + + + ${pom.groupId} + tuscany-policy + ${pom.version} + + + ${pom.groupId} + tuscany-policy-logging + ${pom.version} + + + ${pom.groupId} + tuscany-policy-security + ${pom.version} + + + ${pom.groupId} + tuscany-policy-xml + ${pom.version} + + + ${pom.groupId} + tuscany-definitions + ${pom.version} + + + ${pom.groupId} + tuscany-workspace + ${pom.version} + + + ${pom.groupId} + tuscany-domain-manager + ${pom.version} + + + ${pom.groupId} + tuscany-host-tomcat + + + + + ${pom.groupId} + tuscany-workspace-impl + ${pom.version} + + + ${pom.groupId} + tuscany-workspace-xml + ${pom.version} + + + ${pom.groupId} + tuscany-java2wsdl + ${pom.version} + + + ${pom.groupId} + tuscany-wsdl2java + ${pom.version} + + + ${pom.groupId} + tuscany-sca-api + ${pom.version} + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + org.codehaus.woodstox + wstx-asl + + + + + org.apache.tuscany.sdo + tuscany-sdo-tools + 1.1-incubating + + + + + + + + + src/main/java + + **/* + + + + + + org.apache.maven.plugins + maven-jar-plugin + + tuscany-sca-manifest + + + true + + + + tuscany-sca-all-${pom.version}.jar + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/pom.xml b/sandbox/sebastien/java/sca-node/distribution/pom.xml new file mode 100644 index 0000000000..1c0baf148c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/pom.xml @@ -0,0 +1,381 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../pom.xml + + + tuscany-distribution + Apache Tuscany SCA Distribution + pom + + + true + ${pom.version} + + + + bundle + manifest + + + + + + ${pom.groupId} + tuscany-bundle + ${pom.version} + + + + + avalon-framework + avalon-framework + + + junit + junit + + + avalon-framework + avalon-framework + + + org.apache.ant + ant + + + org.apache.ant + ant-launcher + + + jline + jline + + + + stax + stax-api + + + + + org.apache.tuscany.sca + tuscany-host-webapp + 2.0-incubating-SNAPSHOT + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + org.codehaus.woodstox + wstx-asl + + + + stax + stax-api + + + + org.apache.felix + org.apache.felix.main + + + + + org.apache.activemq + apache-activemq + 4.1.1 + + + + commons-httpclient + commons-httpclient + + + commons-fileupload + commons-fileupload + + + commons-beanutils + commons-beanutils + + + org.apache.activemq + activemq-console + + + org.apache.activemq + activemq-core + + + org.apache.activemq + activemq-optional + + + org.apache.activemq + activemq-web + + + org.apache.activemq + activemq-web-demo + + + org.apache.activemq + activemq-jaas + + + org.apache.geronimo.specs + geronimo-j2ee-connector_1.5_spec + + + org.apache.geronimo.specs + geronimo-j2ee-jacc_1.0_spec + + + org.apache.geronimo.specs + geronimo-jms_1.1_spec + + + org.apache.geronimo.specs + geronimo-jsp_2.0_spec + + + org.apache.geronimo.specs + geronimo-j2ee-management_1.0_spec + + + org.mortbay.jetty + servlet-api-2.5 + + + org.mortbay.jetty + jetty + + + org.mortbay.jetty + jetty-util + + + xerces + xercesImpl + + + backport-util-concurrent + backport-util-concurrent + + + activesoap + jaxp-api + + + activemq + jmdns + + + jrms + jrms + + + xerces + xmlParserAPIs + + + xstream + xstream + + + xmlpull + xmlpull + + + mx4j + mx4j + + + mx4j + mx4j-remote + + + + + + + + + + src/main/java + + **/* + + + + + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + distribution-package + package + + single + + + + src/main/assembly/bin.xml + src/main/assembly/src.xml + + gnu + apache-tuscany-sca-${pom.version} + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/bin.xml b/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/bin.xml new file mode 100644 index 0000000000..2f043c667b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/bin.xml @@ -0,0 +1,350 @@ + + + + + + false + + dir + tar.gz + zip + + + + + + src/main/release + tuscany-sca-${tuscany.version} + + CHANGES + DISCLAIMER + README + RELEASE_NOTES + + + + src/main/release/bin + tuscany-sca-${tuscany.version} + + INSTALL + LICENSE + NOTICE + + + + + target/javadoc + tuscany-sca-${tuscany.version}/docs/javadoc + + **/* + + + + + ../samples + tuscany-sca-${tuscany.version}/samples + + **/* + + + + */.classpath + */.project + */.settings + */.settings/**/* + */.externalToolBuilders + */.externalToolBuilders/**/* + */work + */work/**/* + **/derby.log + **/target/war/** + */target/mvn-eclipse-cache.properties + */target/classes + */target/classes/**/* + */target/dependency-maven-plugin-markers + */target/dependency-maven-plugin-markers/**/* + */target/test-classes + */target/test-classes/**/* + */target/surefire-reports + */target/surefire-reports/**/* + */target/sdo-source + */target/sdo-source/**/* + */target/wsdl2java-source + */target/wsdl2java-source/**/* + */**/derby.log + */**/*.svg + + pom.xml + calculator-distributed/work + calculator-distributed/work/**/* + calculator-webapp/target/sample-calculator-webapp + calculator-webapp/target/sample-calculator-webapp/**/* + calculator-ws-webapp/target/sample-calculator-ws-webapp + calculator-ws-webapp/target/sample-calculator-ws-webapp/**/* + calculator-ws-secure-webapp + calculator-ws-secure-webapp/**/* + calculator-ws-secure-webapp/work + callback-ws-client/work + callback-ws-client/work/**/* + callback-ws-service/work + callback-ws-service/work/**/* + chat-webapp/target/sample-chat-webapp + chat-webapp/target/sample-chat-webapp/**/* + domain-webapp + domain-webapp/**/* + feed-aggregator-webapp/target/sample-feed-aggregator-webapp + feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/* + feed-aggregator-webapp/target/war + helloworld-bpel/target + helloworld-bpel/target/**/* + helloworld-dojo-webapp/src/main/webapp/dojo + helloworld-dojo-webapp/src/main/webapp/dojo/**/* + helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp + helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp/**/* + helloworld-dojo-webapp/target/war + helloworld-jms-webapp + helloworld-jms-webapp/**/* + helloworld-jms-webapp/work + helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp + helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp/**/* + helloworld-ws-deep-webapp + helloworld-ws-deep-webapp/**/* + helloworld-ws-deep-webapp/work + helloworld-ws-deep-webapp/work/**/* + helloworld-ws-reference/work + helloworld-ws-reference/work/**/* + helloworld-ws-reference-jms/activemq-data + helloworld-ws-reference-jms/activemq-data/**/* + helloworld-ws-reference-secure/work + helloworld-ws-reference-secure/work/**/* + helloworld-ws-service-webapp + helloworld-ws-service-webapp/**/* + helloworld-ws-service/work + helloworld-ws-service/secure/work/**/* + helloworld-ws-service/secure/work + helloworld-ws-service/work/**/* + helloworld-ws-service-jms/activemq-data + helloworld-ws-service-jms/activemq-data/**/* + helloworld-ws-service-secure/work + helloworld-ws-service-secure/work/**/* + helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp + helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp/**/* + helloworld-ws-sdo/work + helloworld-ws-sdo/work/**/* + helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp + helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp/**/* + loanapplication + loanapplication/**/* + osgi-supplychain/.felix + osgi-supplychain/.felix/**/* + osgi-supplychain/target/sample-osgi-supplychain + osgi-supplychain/target/sample-osgi-supplychain/**/* + simple-callback-ws/work + simple-callback-ws/work/**/* + spi-implementation-pojo + spi-implementation-pojo/**/* + + calculator-ws-secure-webapp/target/sample-calculator-ws-secure-webapp.war + calculator-ws-webapp/target/sample-calculator-ws-webapp.war + chat-webapp/target/sample-chat-webapp.war + domain-webapp/target/sample-domain-webapp.war + feed-aggregator-webapp/target/sample-feed-aggregator-webapp.war + helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp.war + helloworld-jms-webapp/target/sample-helloworld-jms-webapp.war + helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp.war + helloworld-ws-deep-webapp/target/sample-helloworld-ws-deep-webapp.war + helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp.war + helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp.war + + + + + ../demos + + tuscany-sca-${tuscany.version}/demos + + **/* + + + */.classpath + */.project + */.settings + */.settings/**/* + */work + */work/**/* + */target/classes + */target/classes/**/* + */target/test-classes + */target/test-classes/**/* + */target/surefire-reports + */target/surefire-reports/**/* + **/derby.log + */**/derby.log + */**/*.svg + */**/*.ruleset + alert-aggregator-webapp/bin + alert-aggregator-webapp/bin/**/* + alert-aggregator-webapp/src/main/webapp/dojo + alert-aggregator-webapp/src/main/webapp/dojo/**/* + alert-aggregator-webapp/target/demo-alert-aggregator + alert-aggregator-webapp/target/demo-alert-aggregator/**/* + alert-aggregator-webapp/target/sdo-source + alert-aggregator-webapp/target/sdo-source/**/* + alert-aggregator-webapp/target + alert-aggregator-webapp/target/**/* + bigbank/src/main/resources/web/dojo + bigbank/src/main/resources/web/dojo/**/* + bigbank/target + bigbank/target/**/* + bigbank-account/src/main/resources/web/dojo + bigbank-account/src/main/resources/web/dojo/**/* + bigbank-account/target + bigbank-account/target/**/* + bigbank-calculator/target + bigbank-calculator/target/**/* + bigbank-stockquote/target + bigbank-stockquote/target/**/* + helloworld-ws-sdo/work + helloworld-ws-sdo/work/**/* + mortgage-creditcheck/target/demo-mortgage-creditcheck + mortgage-creditcheck/target/demo-mortgage-creditcheck/**/* + mortgage-creditcheck/target + mortgage-creditcheck/target/**/* + mortgage-loanapproval/target + mortgage-loanapproval/target/**/* + secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo + secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/* + secure-bigbank/secure-bigbank-account/target + secure-bigbank/secure-bigbank-account/target/**/* + secure-bigbank/secure-bigbank-calculator/target + secure-bigbank/secure-bigbank-calculator/target/**/* + secure-bigbank/secure-bigbank-stockquote/target + secure-bigbank/secure-bigbank-stockquote/target/**/* + xml-bigbank/target + xml-bigbank/target/**/* + target + target/**/* + + + + + ../tutorial + + tuscany-sca-${tuscany.version}/tutorial + + **/* + + + */.classpath + */.project + */.settings + */.settings/**/* + */work + */work/**/* + */target/classes + */target/classes/**/* + */target/test-classes + */target/test-classes/**/* + */target/surefire-reports + */target/surefire-reports/**/* + */target/war + */target/war/**/* + **/derby.log + */**/derby.log + */**/*.svg + */**/*.ruleset + target + target/**/* + catalog-webapp/target/war + catalog-webapp/target/war/**/* + catalog-webapp/target/tutorial-catalog-webapp + catalog-webapp/target/tutorial-catalog-webapp/**/* + store-db/target/cart-db/ + store-db/target/cart-db/**/* + store-eu/target/cart-eu-db/ + store-eu/target/cart-eu-db/**/* + store-supplier/target/cart-db/ + store-supplier/target/cart-db/**/* + + + + + manifest/target + tuscany-sca-${tuscany.version}/lib + + tuscany-sca-manifest.jar + + + + + ../modules/node2-launcher-webapp/target + tuscany-sca-${tuscany.version}/modules + + *.war + + + + + + + + + + + tuscany-sca-${tuscany.version}/modules + false + + org.apache.tuscany.sca:* + + + + org.apache.tuscany.sca:tuscany-bundle + + runtime + + + + tuscany-sca-${tuscany.version}/lib + false + + org.apache.tuscany.sca:* + + runtime + + + + tuscany-sca-${tuscany.version}/lib + false + + org.apache.tuscany.sca:tuscany-bundle + + runtime + tuscany-sca-all-${version}.jar + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/src.xml b/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/src.xml new file mode 100644 index 0000000000..653122ccb2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/assembly/src.xml @@ -0,0 +1,184 @@ + + + + + src + false + + tar.gz + zip + + + + + src/main/release + tuscany-sca-${tuscany.version}-src + + CHANGES + DISCLAIMER + README + RELEASE_NOTES + + + + src/main/release/src + tuscany-sca-${tuscany.version}-src + + BUILDING + LICENSE + NOTICE + + + + target/maven-shared-archive-resources/META-INF + tuscany-sca-${tuscany.version}-src + + NOTICE + + + + .. + tuscany-sca-${tuscany.version}-src + + **/* + + + contrib + contrib/**/* + doc + doc/**/* + **/target + **/target/**/* + **/build + **/build/**/* + **/.settings + **/.settings/**/* + **/.classpath + **/.project + **/.wtpmodules + **/surefire* + **/cobertura.ser + bin + bin/* + **/var/journal + **/build.out* + velocity.log + distribution/target-last-successful + distribution/target-last-successful/**/* + itest/velocity.log + itest/callablereferences/work + itest/callablereferences/work/**/* + itest/callablereferences-ws/work + itest/callablereferences-ws/work/**/* + itest/contribution-import-export/import-composite/work + itest/contribution-import-export/import-composite/work/**/* + itest/contribution-import-export/import-resource/work + itest/contribution-import-export/import-resource/work/**/* + itest/contribution-import-export/import-wsdl/work + itest/contribution-import-export/import-wsdl/work/**/* + itest/conversations-ws/work + itest/conversations-ws/work/**/* + itest/databindings/jaxbgen/velocity.log + itest/domain/work + itest/domain/work/**/* + itest/exceptions-simple-ws/work + itest/exceptions-simple-ws/work/**/* + itest/large-sdo-ws/ + itest/large-sdo-ws/**/* + itest/policy/work + itest/policy/work/**/* + itest/transaction/derbydb + itest/transaction/derbydb/**/* + itest/ws-void-args-return/work + itest/ws-void-args-return/work/**/* + modules/domain-impl/work + modules/domain-impl/work/**/* + modules/host-tomcat/work + modules/host-tomcat/work/**/* + modules/node-impl/work + modules/node-impl/work/**/* + modules/implementation-bpel-ode/derby.log + modules/implementation-das + modules/implementation-das/**/* + modules/implementation-data + modules/implementation-data/**/* + modules/implementation-osgi/.felix + modules/implementation-osgi/.felix/**/* + modules/osgi-runtime/.felix + modules/osgi-runtime/.felix/**/* + samples/old + samples/old/**/* + samples/calculator-distributed/work + samples/calculator-distributed/work/**/* + samples/callback-ws-client/work + samples/callback-ws-client/work/**/* + samples/callback-ws-service/work + samples/callback-ws-service/work/**/* + samples/domain-webapp + samples/domain-webapp/**/* + samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo + samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo/**/* + samples/helloworld-dojo-webapp/src/main/webapp/dojo + samples/helloworld-dojo-webapp/src/main/webapp/dojo/**/* + samples/helloworld-ws-deep-webapp + samples/helloworld-ws-deep-webapp/**/* + samples/helloworld-ws-deep-webapp/work + samples/helloworld-ws-deep-webapp/work/**/* + samples/helloworld-ws-reference/work + samples/helloworld-ws-reference/work/**/* + samples/helloworld-ws-reference-jms/activemq-data + samples/helloworld-ws-reference-jms/activemq-data/**/* + samples/helloworld-ws-reference-secure/work + samples/helloworld-ws-reference-secure/work/**/* + samples/helloworld-ws-sdo/work + samples/helloworld-ws-sdo/work/**/* + samples/helloworld-ws-service/work + samples/helloworld-ws-service/work/**/* + samples/helloworld-ws-service-jms/activemq-data + samples/helloworld-ws-service-jms/activemq-data/**/* + samples/helloworld-ws-service-secure/work + samples/helloworld-ws-service-secure/work/**/* + samples/helloworld-ws-service-webapp + samples/helloworld-ws-service-webapp/**/* + samples/osgi-supplychain/.felix + samples/osgi-supplychain/.felix/**/* + samples/spi-implementation-pojo + samples/spi-implementation-pojo/**/* + samples/simple-callback-ws/work + samples/simple-callback-ws/work/**/* + demos/alert-aggregator-webapp/bin + demos/alert-aggregator-webapp/bin/**/* + demos/alert-aggregator-webapp/src/main/webapp/dojo + demos/alert-aggregator-webapp/src/main/webapp/dojo/**/* + demos/bigbank/src/main/resources/web/dojo + demos/bigbank/src/main/resources/web/dojo/**/* + demos/bigbank-account/src/main/resources/web/dojo + demos/bigbank-account/src/main/resources/web/dojo/**/* + demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo + demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/* + */**/derby.log + */**/*.svg + */**/*.ruleset + */**/*.pmd + */**/*.checkstyle + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/CHANGES b/sandbox/sebastien/java/sca-node/distribution/src/main/release/CHANGES new file mode 100644 index 0000000000..3de7358ec6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/CHANGES @@ -0,0 +1,431 @@ +Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 +=========================================================== + +- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): + * TUSCANY-2027 + * TUSCANY-1999 + * TUSCANY-2037 + * TUSCANY-2034 + * TUSCANY-2038 + * TUSCANY-2043 + * TUSCANY-2046 + * TUSCANY-2047 + * TUSCANY-2028 + * TUSCANY-1873 + * TUSCANY-2049 + * TUSCANY-2035 + * TUSCANY-1206 + * TUSCANY-2036 + * TUSCANY-1771 + * TUSCANY-2013 + * TUSCANY-1926 + * TUSCANY-1917 + * TUSCANY-1949 + * TUSCANY-1941 + * TUSCANY-2045 + * TUSCANY-2057 + * TUSCANY-2055 + * TUSCANY-2056 + * TUSCANY-2072 + * TUSCANY-2047 + * TUSCANY-2073 + * TUSCANY-1977 + * TUSCANY-2075 + * TUSCANY-1894 + * TUSCANY-2079 + * TUSCANY-2078 + * TUSCANY-2080 + * TUSCANY-2068 + * TUSCANY-1950 + * TUSCANY-2077 + * TUSCANY-2056 + * TUSCANY-2088 + * TUSCANY-2086 + * TUSCANY-2094 + * TUSCANY-2106 + + Features and/or Enhancements + + * Core + - Interceptor Enhancements + - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked + - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference + - PolicyProvider SPIs to allow extensions to plugin policy interceptors + - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification + - Improvement of contribution service to allow it to be used outside of the runtime environment + - Support for Contribution Import/Export resource + - Enhanced Distributed Domain story using Workspace + - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites + - Set of core services providing management capabilities + - Administration web interface + - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. + - Enhanced support for SCA Policy spec + - Ability to apply external policy definitions to a SCA composition + - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain + - Bug fixes + - Improvements of http binding to support servlet components + - Enable Tuscany to run inside an OSGi runtime + + * Web 2.0 Extensions + - Enhancements to implementation.widget (support for properties) + - New atom binding based on Apache Abdera + - Refactoring of rss-rome binding + * Other Extensions + - Binding JMS + - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec + - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html + - Enhancements to Binding RMI + - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict + - Enhancements to Groovy extension + - Support for 'native' groovy classes + - Enhancements to OSGi bundle contributions + - Support Bundle URLs to be added as contributions + + * Tools + - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment + - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager + + * Samples/Tutorial/Demos + - calculator-distributed migrated to use new Tuscany Distributed Workspace + - sample-calculator-ws-secure-webapp + - sample-helloworld-jms-webapp + - new jms samples + - improve bigbank demo to include support for policies + - tutorial store changes + - use of import/export + - development of contribution without requiring dependencies on the Tuscany runtime + - usage of new sca domain infrastructure + + * Testing + - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) + + +Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 +=============================================================== + +- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): + * TUSCANY-1939 + * TUSCANY-1914 + * TUSCANY-1854 + * TUSCANY-1931 + * TUSCANY-1547 + * TUSCANY-1909 + * TUSCANY-1919 + * TUSCANY-1930 + * TUSCANY-1806 + * TUSCANY-1804 + * TUSCANY-1916 + * TUSCANY-1913 + * TUSCANY-1834 + * TUSCANY-1857 + * TUSCANY-1687 + * TUSCANY-1801 + * TUSCANY-1742 + * TUSCANY-1762 + * TUSCANY-1945 + * TUSCANY-1595 + * TUSCANY-1594 + * TUSCANY-1849 + * TUSCANY-1836 + * TUSCANY-1934 + * TUSCANY-1902 + * TUSCANY-1608 + * TUSCANY-1943 + * TUSCANY-1896 + * TUSCANY-1626 + * TUSCANY-1797 + * TUSCANY-1601 + * TUSCANY-1415 + +- Better JMS support + * binding.jms supporting point to point text based messaging only + * New SOAP/JMS sample (helloworld-ws-reference/service-jms) + +- Improvements in PolicyFramework Support + * Support for policy specifications on operation elements in a composite definition + * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies + (uses logging and JAAS Authentication) + +- Modeling of client side java script components + * See implementation.widget + +- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running + connected together in a domain. This is still experimental. + +- Class loading and OSGI improvements + * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, + Tuscany continues to run using a single CLASSPATH-based classloader. + * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be + explicitly specified (as described in the spec). + +- JAXB based POJO transformations + +Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 +================================================================ + +The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. + +- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): + * TUSCANY-1848 + * TUSCANY-1857 + * TUSCANY-1859 + * TUSCANY-1801 + * TUSCANY-1823 + * TUSCANY-1839 + * TUSCANY-1814 + * TUSCANY-1818 + * TUSCANY-1834 + * TUSCANY-1637 + * TUSCANY-1826 + * TUSCANY-1823 + * TUSCANY-1819 + * TUSCANY-1821 + * TUSCANY-1822 + * TUSCANY-1806 + * TUSCANY-1808 + * TUSCANY-1756 + * TUSCANY-1757 + +- Fix build issues with Maven 2.0.7 and JDK 6 + +- Reduce memory consumption for WSDLs that import large XSDs + +- Add more logging statements for better servicibility + +- Add an extension point to allow extensions to plug-in extension schemas. + +- Add a demo application to showcase XML integration story + +- Improve in databinding framework + * Add support for JSON Databindings and other refactoring + * Set databinding for introspected data type and enhance the checking of wrapper style + * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach + * Add a tree-iterator based XMLStreamReader base impl + * Add default element info to java interface + * Rename Interface.setDefaultDataBinding to resetDataBinding + +- Limit the method injection to setters and allow the setter annotation to override field annotation + +- Evolving support in Intent and Policy handling + * Add support for policies in implementation + * Fix the algorithm for macthing policySets defined on bindings for the wire + * Add policy intent for implementation.java + * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module + * Add policy module for logging + +- Evolving development in the SCA Domain/Node + +- Update NOTICE files with missing dependencies + + +Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 +=============================================================== + +- Tuscany Java SCA now implements V1.0 of the core SCA + specifications + SCA Assembly Model V1.0 + SCA Java Common Annotations and APIs V1.0 + SCA Java Component Implementation V1.0 + SCA Web Services Binding V1.0 + Including callbacks, conversations and callable references + + +- Support for ws-security configurable in the web services binding + thro Tuscany SCA policy intents and policysets using the policy framework + introduced in the last release. + + Note : This release supports specifications of policies around axis2 + config params - see helloworld-ws-service-secure sample. The policy + intents that have been tested are authentication, integrity and + confidentiality. + There is no sample or test that exercises confidentiality since there + are some unresolved licensing issue around bouncycastle libraries. + However, users who are not encumbered by the bouncycastle license + restrictions can try the 'confidentiality' intent. See FAQ - + http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html + + This release does not include support for WS-Policy + attachments in Tuscany Policysets for ws-security. + + +- An XQuery component implementation type + implementation-xquery + + +- A Databinding for converting data to and from nodes for XQuery + processing + databinding-saxon + + +- OSGI support has been extended to allow Tuscany contributions + packaged as OSGI bundles hence taking advantage of OSGI's bundle + loading an dependency management capabilities + + +- A BPEL component implementation type experimental implementation +based on SCA BPEL Client and Implementation V1.0. At the moment only +supports BPEL process as services. + implementation-bpel + + +- The distributed runtime implementation has been separated out + into + *) domain + *) node + It is now wrapped by a SCADomain interface as is the standalone + runtime. + + Note: This release does not include support for WebApp host deployment + for a distributed SCA Domain + + + +- The web service binding will now generate WSDL automatically + based on the service interface if no WSDL is provided + + +- A new "store" sample and associated document show how a + simple store front application can be constructed + samples/store + +- The following features of this release are still experimental: + - BPEL implementation type, integrating with Apache ODE + - OSGI implementation type, integrating with Apache Felix + - XQuery implementation type + + + +Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 +============================================================= + +The following are the significant additions to release 0.99 +over and above all of what was offered in release 0.91. + +- A version of the default sca binding that works between + components runing in separate Java virtual machines + binding-sca-axis + +- A simple node implementation and a service discovery + function for running sca applications distributed + across more than one node + distributed + distributed-impl + +- integration with OSGi runtimes is now supported with + a new implementation-osgi component type + +- PUB/SUB interactions are now supported by using new + notification binding and implementation types, and + samples demonstrating the feature. + +- The Tuscany runtime now has a policy framework supporting + the SCA policy specification + +- the endpoint URIs used by SCA bindings has been rationalized + and now follows the SCA Assembly specification + +- binding-ajax has been renamed to binding-dwr + +Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 +=========================================================== + +The following are the significant additions to release 0.91 +over and above all of what was offered in release 0.90. + + +- Enhancements to support multiple contributions to the SCA Domain + +- The inclusion of a alternative simplified extensions-helper +SPI layer to faciliate rapid development of extensions + +- More Implementation Extenstions + Spring + WebResource + +- More Binding Extensions + AJAX + EJB + RSS/ATOM Feeds + +- Demos that demonstrate the use of a mix of extensions + alert-aggregator-webapp + bigbank-account + bigbank-calculator + bigbank-stockquote + + +- Samples + Samples to demostrate use of Spring, Resource, AJAX extensions + +Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 +=========================================================== + +- Implementations for all of the Java Annotations and API Specification V1.0 found at + (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) + apart from the following. + @ComponentName + Conversation + RequestContext + +- New assembly model implementation taking into account SCA 1.0 artifacts + Data duplication between assembly model and runtime removed + +- Simple single process domain support + Contribution support to scope items being deployed into the runtime + +- Improved Package/Class naming consistency across modules + +- Extensions now loaded via Java service mechanism + Refactored extensions to use new SPIs (see below) + +- Maven and Ant based sample builds in the binary distribution + +- Implementation Extensions + Java + Script supporting (Ruby, Python, Groovy, JavaScript) + +- Binding Extensions + Axis2 + RMI + JSONRPC + +-Databinding Extensions + Axiom + JAXB + SDO + +- Host environments + Embedded + Tomcat + Jetty + RMI + +- A clear set of SPIs intended to be stable over future releases + SCA assembly model + org.apache.tuscany.sca.assembly + org.apache.tuscany.sca.interfacedef + org.apache.tuscany.sca.interfacedef.java + org.apache.tuscany.sca.interfacedef.wsdl + org.apache.tuscany.sca.policy + + SCA contribution model + org.apache.tuscany.sca.contribution + + Runtime extensions + org.apache.tuscany.sca.core + org.apache.tuscany.sca.invocation + org.apache.tuscany.sca.provider + org.apache.tuscany.sca.runtime + org.apache.tuscany.sca.work + + Data binding support + org.apache.tuscany.sca.databinding + + Embedding Tuscany + org.apache.tuscany.sca.host.embedded + + Servlet container integration + org.apache.tuscany.sca.http + +- For this point release a partial set of JavaDoc is provided to + be filled out as we close on release 1.0 diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/DISCLAIMER b/sandbox/sebastien/java/sca-node/distribution/src/main/release/DISCLAIMER new file mode 100644 index 0000000000..a65af91c5a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/DISCLAIMER @@ -0,0 +1,7 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/README b/sandbox/sebastien/java/sca-node/distribution/src/main/release/README new file mode 100644 index 0000000000..4d83dcfde9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/README @@ -0,0 +1,19 @@ +Apache Tuscany SCA 1.2 (incubating) April 2008 README +===================================================== + +Welcome to the Tuscany SCA 1.2 release. + +See the RELEASE_NOTES file for information specific to this release. + +In the binary release see the INSTALL file for information on how to +install the release. + +In the source distribution see the BUILDING file for information on +building the source code. + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/RELEASE_NOTES b/sandbox/sebastien/java/sca-node/distribution/src/main/release/RELEASE_NOTES new file mode 100644 index 0000000000..a04ef5c553 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/RELEASE_NOTES @@ -0,0 +1,83 @@ +Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes +============================================================ + +Apache Tuscany provides a runtime based on the Service Component +Architecture. SCA is a set of specifications aimed at simplifying SOA +Application Development which are being standardized at OASIS as part +of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. + +Overview +-------- + + The Apache Tuscany SCA 1.2 release includes implementations of the + main SCA specifications including: + + SCA Assembly Model V1.0 + SCA Policy Framework V1.0 + SCA Java Common Annotations and APIs V1.0 + SCA Java Component Implementation V1.0 + SCA Spring Component Implementation V1.0 + SCA BPEL Client and Implementation V1.0 + SCA Web Services Binding V1.0 + SCA EJB Session Bean Binding V1.0 + + It also includes implementations of many features not yet defined + by SCA specifications, including: + + - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, + HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. + - SCA implementation types for OSGI, XQuery, BPEL, Widget and various + dynamic languages including Groovy, Javascript, Python and Ruby + - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, + Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX + + The Tuscany SCA Runtime can be configured as a single node SCA domain or + as an SCA domain distributed across multiple nodes. + In addition Tuscany SCA supports the following host-deployment options: - + - running standalone + - running with distributed nodes across multiple JVMs + - running with embedded Jetty or Tomcat + - running as part of a standard web application + + The Wepapp samples included in this release have been tried and tested on + - Tomcat 5.5.20 and Tomcat 6.0.14 + - Jetty 6.1.3 + - Geronimo 2.0.2 Tomcat6 jee5 + - WebSphere 6.1 fix pack 9 + +See the CHANGES file for a detailed list of the features in this release. + +Support +------- + +For more information on Apache Tuscany visit the website at: + + http://incubator.apache.org/tuscany/ + +Any issues with this release can be reported to Apache Tuscany +using the mailing lists or in the JIRA issue tracker. + + Mailing list archives: + + http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ + http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ + + Jira: + + http://issues.apache.org/jira/browse/TUSCANY + +To join the project's mailing lists follow the instructions at: + + http://incubator.apache.org/tuscany/mailing-lists.html + +To find out more about OASIS Open CSA go to: + + http://www.oasis-opencsa.org. + +Apache Tuscany welcomes your help. Any contribution, including code, +testing, improving the documentation, or bug reporting is always +appreciated. + +Thank you for using Apache Tuscany! + +- The Tuscany Team. diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/INSTALL b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/INSTALL new file mode 100644 index 0000000000..2da53a2b44 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/INSTALL @@ -0,0 +1,27 @@ +Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution +========================================================================================= + +Unzip Tuscany binary distribution archive and you get the following: + +tuscany-sca-1.1-incubating + DISCLAIMER - the ASF incubation disclaimer + INSTALL - this help file + LICENSE - the Apache License and any dependecy licenses + NOTICE - attribution notices associated with the licenses + README - readme for the release + RELEASE_NOTES - description of this release + CHANGES - A note of the major changes in this release + + /demos - Demo applications showcasing the use of Apache Tuscany + + /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies + + /modules - all of the individual Tuscany jars + + /samples - all the Tuscany samples, see the README in that directory + + /tutorial - The store tutorial, see the README in that directory + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/LICENSE b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/LICENSE new file mode 100644 index 0000000000..5e1f585d46 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/LICENSE @@ -0,0 +1,2366 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + +APACHE TUSCANY SUBCOMPONENTS: + +The Apache Tuscany binary distribution includes a number of subcomponents +with separate copyright notices and license terms. Your use of the +code for the these subcomponents is subject to the terms and +conditions of the following licenses. + +=============================================================================== + +The following components come under Apache Software License 1.1 + + commons-discovery-0.2.jar + commons-primitives-1.0.jar + +The following components come under Apache Software License 2.0 + + abdera-core-0.3.0-incubating.jar + abdera-i18n-0.3.0-incubating.jar + abdera-parser-0.3.0-incubating.jar + activeio-2.0-r118.jar + activeio-core-3.0.0-incubator.jar + apache-activemq-4.1.1.jar + addressing-1.3.mar + annogen-0.1.0.jar + annotations-api-6.0.14.jar + aopalliance-1.0.jar + axiom-api-1.2.5.jar + axiom-dom-1.2.5.jar + axiom-impl-1.2.5.jar + axis2-adb-1.3.jar + axis2-codegen-1.3.jar + axis2-java2wsdl-1.3.jar + axis2-kernel-1.3.jar + axis2-mtompolicy-1.3.jar + bsf-all-3.0-beta2.jar + catalina-6.0.14.jar + cglib-nodep-2.1_3.jar + commons-collections-3.1.jar + commons-codec-1.3.jar + commons-fileupload-1.1.1.jar + commons-httpclient-3.0.1.jar + commons-io-1.2.jar + commons-jexl-1.1.jar + commons-lang-2.1.jar + commons-logging-1.1.jar + coyote-6.0.14.jar + derby-10.1.3.1.jar + geronimo-activation_1.1_spec-1.0-M1.jar + geronimo-common-1.2-beta.jar + geronimo-commonj_1.1_spec-1.0.jar + geronimo-connector-1.2-beta.jar + geronimo-core-1.2-beta.jar + geronimo-deployment-1.2-beta.jar + geronimo-ejb_3.0_spec-1.0.jar + geronimo-interceptor-1.2-beta.jar + geronimo-j2ee-1.2-beta.jar + geronimo-j2ee-connector_1.5_spec-1.1.jar + geronimo-j2ee-jacc_1.0_spec-1.1.jar + geronimo-j2ee-management_1.0_spec-1.1.jar + geronimo-javamail_1.4_spec-1.0-M1.jar + geronimo-jms_1.1_spec-1.1.jar + geronimo-jpa_3.0_spec-1.0.jar + geronimo-jta_1.0.1B_spec-1.0.jar + geronimo-kernel-1.2-beta.jar + geronimo-management-1.2-beta.jar + geronimo-naming-1.2-beta.jar + geronimo-security-1.2-beta.jar + geronimo-spec-j2ee-connector-1.5-rc4.jar + geronimo-spec-jta-1.0.1B-rc4.jar + geronimo-system-1.2-beta.jar + geronimo-transaction-1.2-beta.jar + geronimo-util-1.2-beta.jar + httpcore-4.0-alpha5.jar + httpcore-nio-4.0-alpha5.jar + httpcore-niossl-4.0-alpha5.jar + jettison-1.0-RC2.jar + jetty-6.1.7.jar + jetty-util-6.1.7.jar + json-rpc-1.0.jar + juli-6.0.14.jar + log4j-1.2.12.jar + logkit-1.0.1.jar + neethi-2.0.2.jar + ode-bpel-api-1.1.jar + ode-bpel-compiler-1.1.jar + ode-bpel-dao-1.1.jar + ode-bpel-epr-1.1.jar + ode-bpel-obj-1.1.jar + ode-bpel-runtime-1.1.jar + ode-bpel-schemas-1.1.jar + ode-bpel-store-1.1.jar + ode-dao-jpa-1.1.jar + ode-dao-jpa-ojpa-derby-1.1.zip + ode-jacob-1.1.jar + ode-jacob-ap-1.1.jar + ode-scheduler-simple-1.1.jar + ode-utils-1.1.jar + openjpa-all-0.9.7-incubating.jar + openjpa-persistence-0.9.7-incubating.jar + org.apache.felix.bundlerepository-1.0.2.jar + org.apache.felix.framework-1.0.3.jar + org.apache.felix.main-1.0.3.jar + org.apache.felix.shell-1.0.0.jar + org.apache.felix.shell.tui-1.0.0.jar + rampart-core-1.3.jar + rampart-policy-1.3.jar + rampart-trust-1.3.jar + regexp-1.3.jar + spring-beans-2.0.6.jar + spring-context-2.0.6.jar + spring-core-2.0.6.jar + tranql-connector-1.1.jar + tuscany-sdo-api-r2.1-1.0-incubating.jar + tuscany-sdo-impl-1.0-incubating.jar + tuscany-sdo-lib-1.0-incubating.jar + tuscany-sdo-tools-1.0-incubating.jar + woden-1.0-incubating-M7b.jar + wss4j-1.5.3.jar + wstx-asl-3.2.1.jar + xalan-2.7.0.jar + xbean-naming-2.7.jar + xercesImpl-2.8.1.jar + xml-apis-1.3.03.jar + xmlbeans-2.3.0.jar + xml-resolver-1.1.jar + xmlsec-1.4.0.jar + XmlSchema-1.3.2.jar + +=============================================================================== +axion-1.0-M3-dev.jar + +Copyright (c) 2002-2003 Axion Development Team. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The names "Tigris", "Axion", nor the names of its contributors may + not be used to endorse or promote products derived from this + software without specific prior written permission. + +4. Products derived from this software may not be called "Axion", nor + may "Tigris" or "Axion" appear in their names without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The "Axion Development Team" is defined to be: + + * Chuck Burdick + * James Burke + * Morgan Delagrange + * Geir Magnusson Jr. + * Martin Poeschl + * Steve Polyak + * Daniel Rall + * Ahimanikya Satapathy + * Doug Sale + * James Strachan + * Rodney Waldhoff + * Jason van Zyl + +License changes are to be determined by a simple majority vote of the +Axion Development Team. + +=============================================================================== +dom4j-1.6.1.jar + +Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions of source code must retain copyright + statements and notices. Redistributions must also contain a + copy of this document. + +2. Redistributions in binary form must reproduce the + above copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +3. The name "DOM4J" must not be used to endorse or promote + products derived from this Software without prior written + permission of MetaStuff, Ltd. For written permission, + please contact dom4j-info@metastuff.com. + +4. Products derived from this Software may not be called "DOM4J" + nor may "DOM4J" appear in their names without prior written + permission of MetaStuff, Ltd. DOM4J is a registered + trademark of MetaStuff, Ltd. + +5. Due credit should be given to the DOM4J Project - + http://www.dom4j.org + +THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================== + +The EMF jars; + codegen-2.2.3.jar + codegen-ecore-2.2.3.jar + common-2.2.3.jar + ecore-2.2.3.jar + ecore-change-2.2.3.jar + ecore-xmi-2.2.3.jar + xsd-2.2.3.jar + +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and +are distributed by that particular Contributor. A Contribution +'originates' from a Contributor if it was added to the Program by such +Contributor itself or anyone acting on such Contributor's behalf. +Contributions do not include additions to the Program which: (i) are +separate modules of software distributed in conjunction with the +Program under their own license agreement, and (ii) are not derivative +works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor +which are necessarily infringed by the use or sale of its Contribution +alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this +Agreement, including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free copyright +license to reproduce, prepare derivative works of, publicly display, +publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and +object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free patent +license under Licensed Patents to make, use, sell, offer to sell, +import and otherwise transfer the Contribution of such Contributor, if +any, in source code and object code form. This patent license shall +apply to the combination of the Contribution and the Program if, at +the time the Contribution is added by the Contributor, such addition +of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder. + +c) Recipient understands that although each Contributor grants the +licenses to its Contributions set forth herein, no assurances are +provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow +Recipient to distribute the Program, it is Recipient's responsibility +to acquire that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright +license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties +and conditions, express and implied, including warranties or +conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability +for damages, including direct, indirect, special, incidental and +consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are +offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such +Contributor, and informs licensees how to obtain it in a reasonable +manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the +Program. + +Contributors may not remove or alter any copyright notices contained +within the Program. + +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a +commercial product offering should do so in a manner which does not +create potential liability for other Contributors. Therefore, if a +Contributor includes the Program in a commercial product offering, +such Contributor ("Commercial Contributor") hereby agrees to defend +and indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") arising +from claims, lawsuits and other legal actions brought by a third party +against the Indemnified Contributor to the extent caused by the acts +or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. +In order to qualify, an Indemnified Contributor must: a) promptly +notify the Commercial Contributor in writing of such claim, and b) +allow the Commercial Contributor to control, and cooperate with the +Commercial Contributor in, the defense and any related settlement +negotiations. The Indemnified Contributor may participate in any such +claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable +laws, damage to or loss of data, programs or equipment, and +unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that +the Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of +the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign +the responsibility to serve as the Agreement Steward to a suitable +separate entity. Each new version of the Agreement will be given a +distinguishing version number. The Program (including Contributions) +may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the +Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives +no rights or licenses to the intellectual property of any Contributor +under this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No +party to this Agreement will bring a legal action under this Agreement +more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation. + +=============================================================================== +For Saxon including + saxon-8.7.jar + saxon-dom-8.7.jar + saxon-xpath-8.7.jar + + MOZILLA PUBLIC LICENSE +Version 1.0 + +1. Definitions. + + 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. + + 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. + + 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. + + 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. + + 1.5. ``Executable'' means Covered Code in any form other than Source Code. + + 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. + + 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. + + 1.8. ``License'' means this document. + + 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: + + A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or previous Modifications. + + 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. + + 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. + + 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: + + (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and + + (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. + + 2.2. Contributor Grant. + Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: + + (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and + + (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + + (a) Third Party Claims. + If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. + + 6.3. Derivative Works. + If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. + +12. RESPONSIBILITY FOR CLAIMS. + + Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. + +EXHIBIT A. + + ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. + + Contributor(s): ______________________________________.'' + +=============================================================================== + +For the Rhino JavaScript engine js-1.6R7.jar: + + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + + +=============================================================================== +Groovy (groovy-all-minimal-1.5.4.jar): + +/* + $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ + + Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. + + Redistribution and use of this software and associated documentation + ("Software"), with or without modification, are permitted provided + that the following conditions are met: + + 1. Redistributions of source code must retain copyright + statements and notices. Redistributions must also contain a + copy of this document. + + 2. Redistributions in binary form must reproduce the + above copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + 3. The name "groovy" must not be used to endorse or promote + products derived from this Software without prior written + permission of The Codehaus. For written permission, + please contact info@codehaus.org. + + 4. Products derived from this Software may not be called "groovy" + nor may "groovy" appear in their names without prior written + permission of The Codehaus. "groovy" is a registered + trademark of The Codehaus. + + 5. Due credit should be given to The Codehaus - + http://groovy.codehaus.org/ + + THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + + */ + +=============================================================================== + +Jython (jython-2.2.jar): + +A. HISTORY OF THE SOFTWARE +======================= + +JPython was created in late 1997 by Jim Hugunin. Jim was also the +primary developer while he was at CNRI. In February 1999 Barry Warsaw +took over as primary developer and released JPython version 1.1. + +In October 2000 Barry helped move the software to SourceForge +where it was renamed to Jython. Jython 2.0 and on are licensed under +the Jython specific license below. + +The standard library is covered by the Python Software Foundation +license. See the LICENSE_CPython.txt file for details. + +The zxJDBC package was written by Brian Zimmer and originally licensed +under the GNU Public License. The package is now covered by the Jython +Software License. + +The command line interpreter is covered by the Apache Software +License. See the LICENSE_Apache.txt file for details. + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON +================================ + +Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + - Neither the name of the Jython Developers nor the names of + its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + +JPython 1.1.x Software License. +========================= + +______________________________________________________________________ + +IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. + +BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, +COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO +THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +______________________________________________________________________ + +JPython version 1.1.x + + 1. This LICENSE AGREEMENT is between the Corporation for National Research + Initiatives, having an office at 1895 Preston White Drive, Reston, VA + 20191 ("CNRI"), and the Individual or Organization ("Licensee") + accessing and using JPython version 1.1.x in source or binary form and + its associated documentation as provided herein ("Software"). + + 2. Subject to the terms and conditions of this License Agreement, CNRI + hereby grants Licensee a non-exclusive, non-transferable, royalty-free, + world-wide license to reproduce, analyze, test, perform and/or display + publicly, prepare derivative works, distribute, and otherwise use the + Software alone or in any derivative version, provided, however, that + CNRI's License Agreement and CNRI's notice of copyright, i.e., + "Copyright ©1996-1999 Corporation for National Research Initiatives; + All Rights Reserved" are both retained in the Software, alone or in any + derivative version prepared by Licensee. + + Alternatively, in lieu of CNRI's License Agreement, Licensee may + substitute the following text (omitting the quotes), provided, however, + that such text is displayed prominently in the Software alone or in any + derivative version prepared by Licensee: "JPython (Version 1.1.x) is + made available subject to the terms and conditions in CNRI's License + Agreement. This Agreement may be located on the Internet using the + following unique, persistent identifier (known as a handle): + 1895.22/1006. The License may also be obtained from a proxy server on + the Web using the following URL: http://hdl.handle.net/1895.22/1006." + + 3. In the event Licensee prepares a derivative work that is based on or + incorporates the Software or any part thereof, and wants to make the + derivative work available to the public as provided herein, then + Licensee hereby agrees to indicate in any such work, in a prominently + visible way, the nature of the modifications made to CNRI's Software. + + 4. Licensee may not use CNRI trademarks or trade name, including JPython + or CNRI, in a trademark sense to endorse or promote products or + services of Licensee, or any third party. Licensee may use the mark + JPython in connection with Licensee's derivative versions that are + based on or incorporate the Software, but only in the form + "JPython-based ___________________," or equivalent. + + 5. CNRI is making the Software available to Licensee on an "AS IS" basis. + CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY + OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY + REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY + PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE + ANY THIRD PARTY RIGHTS. + + 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR + ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF + USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE + THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT + ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER + MAY NOT APPLY TO LICENSEE. + + 7. This License Agreement may be terminated by CNRI (i) immediately upon + written notice from CNRI of any material breach by the Licensee, if the + nature of the breach is such that it cannot be promptly remedied; or + (ii) sixty (60) days following notice from CNRI to Licensee of a + material remediable breach, if Licensee has not remedied such breach + within that sixty-day period. + + 8. This License Agreement shall be governed by and interpreted in all + respects by the law of the State of Virginia, excluding conflict of law + provisions. Nothing in this Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between CNRI and + Licensee. + + 9. By clicking on the "ACCEPT" button where indicated, or by installing, + copying or otherwise using the Software, Licensee agrees to be bound by + the terms and conditions of this License Agreement. + + +=============================================================================== + +The jars; +activation-1.1.jar, +jaxb-api-2.1.jar, +jaxb-impl-2.1.6.jar, +jaxb-xjc-2.1.4.jar, +jaxb2-reflection-2.1.4.jar, +jsr181-api-1.0-MR1.jar, +jsr250-api-1.0.jar, +jaxws-api-2.1-1.jar, +mail-1.4.jar, +saaj-api-1.3.jar, +servlet-api-2.5.jar, +stax-api-1.0-commons-cli-1.0.jar2.jar + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + + + 1. Definitions. + + 1.1. "Contributor" means each individual or entity that + creates or contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the + Original Software, prior Modifications used by a + Contributor (if any), and the Modifications made by that + particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or + (b) Modifications, or (c) the combination of files + containing Original Software with files containing + Modifications, in each case including portions thereof. + + 1.4. "Executable" means the Covered Software in any form + other than Source Code. + + 1.5. "Initial Developer" means the individual or entity + that first makes Original Software available under this + License. + + 1.6. "Larger Work" means a work which combines Covered + Software or portions thereof with code not governed by the + terms of this License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the + maximum extent possible, whether at the time of the initial + grant or subsequently acquired, any and all of the rights + conveyed herein. + + 1.9. "Modifications" means the Source Code and Executable + form of any of the following: + + A. Any file that results from an addition to, + deletion from or modification of the contents of a + file containing Original Software or previous + Modifications; + + B. Any new file that contains any part of the + Original Software or previous Modification; or + + C. Any new file that is contributed or otherwise made + available under the terms of this License. + + 1.10. "Original Software" means the Source Code and + Executable form of computer software code that is + originally released under this License. + + 1.11. "Patent Claims" means any patent claim(s), now owned + or hereafter acquired, including without limitation, + method, process, and apparatus claims, in any patent + Licensable by grantor. + + 1.12. "Source Code" means (a) the common form of computer + software code in which modifications are made and (b) + associated documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal + entity exercising rights under, and complying with all of + the terms of, this License. For legal entities, "You" + includes any entity which controls, is controlled by, or is + under common control with You. For purposes of this + definition, "control" means (a) the power, direct or + indirect, to cause the direction or management of such + entity, whether by contract or otherwise, or (b) ownership + of more than fifty percent (50%) of the outstanding shares + or beneficial ownership of such entity. + + 2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, the + Initial Developer hereby grants You a world-wide, + royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than + patent or trademark) Licensable by Initial Developer, + to use, reproduce, modify, display, perform, + sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, + using or selling of Original Software, to make, have + made, use, practice, sell, and offer for sale, and/or + otherwise dispose of the Original Software (or + portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) + are effective on the date Initial Developer first + distributes or otherwise makes the Original Software + available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent + license is granted: (1) for code that You delete from + the Original Software, or (2) for infringements + caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original + Software with other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, each + Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + (a) under intellectual property rights (other than + patent or trademark) Licensable by Contributor to + use, reproduce, modify, display, perform, sublicense + and distribute the Modifications created by such + Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as + Covered Software and/or as part of a Larger Work; and + + + (b) under Patent Claims infringed by the making, + using, or selling of Modifications made by that + Contributor either alone and/or in combination with + its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, + have made, and/or otherwise dispose of: (1) + Modifications made by that Contributor (or portions + thereof); and (2) the combination of Modifications + made by that Contributor with its Contributor Version + (or portions of such combination). + + (c) The licenses granted in Sections 2.2(a) and + 2.2(b) are effective on the date Contributor first + distributes or otherwise makes the Modifications + available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent + license is granted: (1) for any code that Contributor + has deleted from the Contributor Version; (2) for + infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the + combination of Modifications made by that Contributor + with other software (except as part of the + Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the + absence of Modifications made by that Contributor. + + 3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make + available in Executable form must also be made available in + Source Code form and that Source Code form must be + distributed only under the terms of this License. You must + include a copy of this License with every copy of the + Source Code form of the Covered Software You distribute or + otherwise make available. You must inform recipients of any + such Covered Software in Executable form as to how they can + obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used + for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You + contribute are governed by the terms of this License. You + represent that You believe Your Modifications are Your + original creation(s) and/or You have sufficient rights to + grant the rights conveyed by this License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications + that identifies You as the Contributor of the Modification. + You may not remove or alter any copyright, patent or + trademark notices contained within the Covered Software, or + any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered + Software in Source Code form that alters or restricts the + applicable version of this License or the recipients' + rights hereunder. You may choose to offer, and to charge a + fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on + behalf of the Initial Developer or any Contributor. You + must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by + You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred + by the Initial Developer or such Contributor as a result of + warranty, support, indemnity or liability terms You offer. + + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered + Software under the terms of this License or under the terms + of a license of Your choice, which may contain terms + different from this License, provided that You are in + compliance with the terms of this License and that the + license for the Executable form does not attempt to limit + or alter the recipient's rights in the Source Code form + from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a + different license, You must make it absolutely clear that + any terms which differ from this License are offered by You + alone, not by the Initial Developer or Contributor. You + hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms + You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software + with other code not governed by the terms of this License + and distribute the Larger Work as a single product. In such + a case, You must make sure the requirements of this License + are fulfilled for the Covered Software. + + 4. Versions of the License. + + 4.1. New Versions. + + Sun Microsystems, Inc. is the initial license steward and + may publish revised and/or new versions of this License + from time to time. Each version will be given a + distinguishing version number. Except as provided in + Section 4.3, no one other than the license steward has the + right to modify this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. If the Initial Developer includes a + notice in the Original Software prohibiting it from being + distributed or otherwise made available under any + subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. Otherwise, You may also choose to + use, distribute or otherwise make the Covered Software + available under the terms of any subsequent version of the + License published by the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a + new license for Your Original Software, You may create and + use a modified version of this License if You: (a) rename + the license and remove any references to the name of the + license steward (except to note that the license differs + from this License); and (b) otherwise make it clear that + the license contains terms which differ from this License. + + + 5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" + BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED + SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR + PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND + PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY + COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE + INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF + ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF + WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS + DISCLAIMER. + + 6. TERMINATION. + + 6.1. This License and the rights granted hereunder will + terminate automatically if You fail to comply with terms + herein and fail to cure such breach within 30 days of + becoming aware of the breach. Provisions which, by their + nature, must remain in effect beyond the termination of + this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or + a Contributor (the Initial Developer or Contributor against + whom You assert such claim is referred to as "Participant") + alleging that the Participant Software (meaning the + Contributor Version where the Participant is a Contributor + or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any + patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial + Developer (if the Initial Developer is not the Participant) + and all Contributors under Sections 2.1 and/or 2.2 of this + License shall, upon 60 days notice from Participant + terminate prospectively and automatically at the expiration + of such 60 day notice period, unless if within such 60 day + period You withdraw Your claim with respect to the + Participant Software against such Participant either + unilaterally or pursuant to a written agreement with + Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 + above, all end user licenses that have been validly granted + by You or any distributor hereunder prior to termination + (excluding licenses granted to You by any distributor) + shall survive termination. + + 7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE + LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK + STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL + INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO + NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR + CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT + APPLY TO YOU. + + 8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is + defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial + computer software" (as that term is defined at 48 C.F.R. + 252.227-7014(a)(1)) and "commercial computer software + documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. + 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users + acquire Covered Software with only those rights set forth herein. + This U.S. Government Rights clause is in lieu of, and supersedes, + any other FAR, DFAR, or other clause or provision that addresses + Government rights in computer software under this License. + + 9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the + extent necessary to make it enforceable. This License shall be + governed by the law of the jurisdiction specified in a notice + contained within the Original Software (except to the extent + applicable law, if any, provides otherwise), excluding such + jurisdiction's conflict-of-law provisions. Any litigation + relating to this License shall be subject to the jurisdiction of + the courts located in the jurisdiction and venue specified in a + notice contained within the Original Software, with the losing + party responsible for costs, including, without limitation, court + costs and reasonable attorneys' fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall + be construed against the drafter shall not apply to this License. + You agree that You alone are responsible for compliance with the + United States export administration regulations (and the export + control laws and regulation of any other countries) when You use, + distribute or otherwise make available any Covered Software. + + 10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or + indirectly, out of its utilization of rights under this License + and You agree to work with Initial Developer and Contributors to + distribute such responsibility on an equitable basis. Nothing + herein is intended or shall be deemed to constitute any admission + of liability. + +=============================================================================== + +JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): + +Common Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. + +=============================================================================== + +backport-util-concurrent-2.2.jar: + +The software comprising backport-util-concurrent is based in large +part on the code from JSR166, and the package dl.util.concurrent. +The software has been released to the public domain, as explained at: +http://creativecommons.org/licenses/publicdomain, excepting portions +of the class +edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, +which were adapted from class java.util.ArrayList, written by Sun +Microsystems, Inc, which are used with kind permission, and subject +to the following: + +Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is +subject to the following license terms. + + "Sun hereby grants you a non-exclusive, worldwide, non-transferrable + license to use and distribute the Java Software technologies as part + of a larger work in source and binary forms, with or without + modification, provided that the following conditions are met: + + -Neither the name of or trademarks of Sun may be used to endorse or + promote products derived from the Java Software technology without + specific prior written permission. + + -Redistributions of source or binary code must be accompanied by the + following notice and disclaimers: + + Portions copyright Sun Microsystems, Inc. Used with kind permission. + + This software is provided AS IS, without a warranty of any kind. ALL + EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND + WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR + NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE + FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF + USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS + DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR + DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL + OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF + THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR + INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + You acknowledge that Software is not designed, licensed or intended for + use in the design, construction, operation or maintenance of any nuclear + facility." + +=============================================================================== +rome-0.9.jar + +Copyright 2004 Sun Microsystems, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +=============================================================================== +jdom-1.0.jar : + +$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ + + Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the disclaimer that follows + these conditions in the documentation and/or other materials + provided with the distribution. + + 3. The name "JDOM" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact . + + 4. Products derived from this software may not be called "JDOM", nor + may "JDOM" appear in their name, without prior written permission + from the JDOM Project Management . + + In addition, we request (but do not require) that you include in the + end-user documentation provided with the redistribution and/or in the + software itself an acknowledgement equivalent to the following: + "This product includes software developed by the + JDOM Project (http://www.jdom.org/)." + Alternatively, the acknowledgment may be graphical using the logos + available at http://www.jdom.org/images/logos. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + This software consists of voluntary contributions made by many + individuals on behalf of the JDOM Project and was originally + created by Jason Hunter and + Brett McLaughlin . For more information + on the JDOM Project, please see . + +======================================================================== + +dwr-2.0.1.jar : + +/* +* Copyright 2005 Joe Walker +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +========================================================================== + +dojotoolkit V1.0.0: + +The "New" BSD License: +********************** + +Copyright (c) 2005, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ + +The module tuscany-implementation-script-1.0-incubating.jar temporarily includes +one file under the below BSD license with the following copyright: + + Copyright (c) 2006, Sun Microsystems, Inc. + All rights reserved. + +BSD license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Sun Microsystems, Inc. nor the names of + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +================================================================================ + +The serp-1.12.0.jar is distributed under the BSD license with the following copyright: + + Copyright (c) 2002, A. Abram White + All rights reserved. + +BSD license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Sun Microsystems, Inc. nor the names of + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +================================================================================ +The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ + +The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: + +License for the Service Component Architecture JavaDoc, Interface +Definition files and XSD files. + +The Service Component Architecture JavaDoc, Interface Definition files, +and XSD files are being provided by the copyright holders under the +following license. By using and/or copying this work, you agree that +you have read, understood and will comply with the following terms and +conditions: + +Permission to copy, display, make derivative works of, and distribute +the Service Component Architecture JavaDoc, Interface Definition Files +and XSD files (the "Artifacts") in any medium without fee or royalty is +hereby granted, provided that you include the following on ALL copies +of the Artifacts, or portions thereof, that you make: + +1. A link or URL to the Artifacts at this location: +http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications + +2. The full text of this copyright notice as shown in the Artifacts. + +THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE +ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT +LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, NON-INFRINGEMENT OR TITLE. + +THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY +USE OR DISTRIBUTION OF THE ARTIFACTS. + +The name and trademarks of the Authors may NOT be used in any manner, +including advertising or publicity pertaining to the Service Component +Architecture Specification or its contents without specific, written +prior permission. Title to copyright in the Service Component +Architecture Specification and the JavaDoc, Interface Definition Files +and XSD Files will at all times remain with the Authors. + +No other rights are granted by implication, estoppel or otherwise. + +Revision level 1.1, last updated on 2007/11/19 + +================================================================================ +License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) + +These files being ... +commonj/sdo/ChangeSummary$Setting.class +commonj/sdo/ChangeSummary.class +commonj/sdo/DataGraph.class +commonj/sdo/DataObject.class +commonj/sdo/helper/CopyHelper.class +commonj/sdo/helper/DataFactory.class +commonj/sdo/helper/DataHelper.class +commonj/sdo/helper/EqualityHelper.class +commonj/sdo/helper/HelperContext.class +commonj/sdo/helper/TypeHelper.class +commonj/sdo/helper/XMLDocument.class +commonj/sdo/helper/XMLHelper.class +commonj/sdo/helper/XSDHelper.class +commonj/sdo/impl/ExternalizableDelegator$Resolvable.class +commonj/sdo/impl/ExternalizableDelegator.class +commonj/sdo/Property.class +commonj/sdo/Sequence.class +commonj/sdo/Type.class +xml/datagraph.xsd +xml/sdoJava.xml +xml/sdoJava.xsd +xml/sdoModel.xml +xml/sdoModel.xsd +xml/sdoXML.xml +xml/sdoXML.xsd + + +License for the Service Data Objects JavaDoc and Interface Definition files. + +The Service Data Objects Specification is being provided by the copyright holders under the following +license. By using and/or copying this work, you agree that you have read, understood and will comply with +the following terms and conditions: + +Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without +modification, in any medium without fee or royalty is hereby granted, provided that you include the +following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: + +1. A link or URL to the Service Data Objects Specification at this location: +http://www.osoa.org/display/Main/Service+Data+Objects+Specifications + +2. The full text of this copyright notice as shown in the Service Data Objects Specification. + +BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, +Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, +non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data +Objects Specification. + +THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR +WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, +INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS +SPECIFICATION. + +The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity +pertaining to the Service Data Objects Specification or its contents without specific, written prior +permission. Title to copyright in the Service Data Objects Specification will at all times remain with the +Authors. + +No other rights are granted by implication, estoppel or otherwise. +================================================================================ + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/NOTICE b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/NOTICE new file mode 100644 index 0000000000..0b2fe5dff3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/bin/NOTICE @@ -0,0 +1,95 @@ +Apache Tuscany +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +This product includes/uses XmlSchema developed at +The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) + Portions Copyright 2006 International Business Machines Corp. + +This product includes/uses ode-bpel-api-1.1 developed at +The Apache Software Foundation (http://ode.apache.org) + - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) + - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) + +"This product includes software developed by the Spring Framework + Project (http://www.springframework.org)." + +This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), +developed by Mort Bay Consulting (http://www.mortbay.com) + +This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), +Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. + +This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) + Copyright (c) 2002-2003 Axion Development Team. All rights reserved. + +This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) + Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. + +This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) +License: Public Domain + +This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) + +This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) + Copyright (c) 2003-2004 Jan-Klaas Kollhof + Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd + +This product includes software from the GlassFish project (https://glassfish.dev.java.net/) + Copyright (c) 2006, Sun Microsystems, Inc. + +This product includes software from the Rome project (https://rome.dev.java.net/) + Copyright (c) 2006, Sun Microsystems, Inc. + +This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) + +This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) + +This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i + +This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) + +This product includes/uses JDOM (http://www.jdom.org/) + Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. + +This product includes/uses DWR (http://getahead.org/dwr) + Copyright 2005 Joe Walker. All rights reserved. + +This product includes/uses dojotoolkit (http://dojotoolkit.org/) + Copyright (c) 2005, The Dojo Foundation. All rights reserved. + +This product includes/uses Howl (http://howl.objectweb.org/) + Copyright (c) 2004, Bull S.A. + +This product includes/uses axion (http://axion.tigris.org/) + Copyright (c) 2002-2003 Axion Development Team. + +This product includes/uses javacc (https://javacc.dev.java.net/) + Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. + +The Program includes all or portions of the following software: "The +Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under +an MPL v1.0 license. Please refer to the homepage URL at +http://www.saxonica.com/. + +This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: + Copyright (c) 2002, A. Abram White. All rights reserved. + +This product also includes software under the BSD license +with the following copyright: + Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. + +This product includes software under the Service Component Architecture JavaDoc, +Interface Definition files and XSD files license. + (c) Copyright SCA Collaboration 2006, 2007 + +This product includes software under the Service Data Objects JavaDoc and +Interface Definition file license + +(c) Copyright BEA Systems, Inc., International Business Machines Corporation, +Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., +Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, +2005, 2006. All rights reserved. + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/BUILDING b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/BUILDING new file mode 100644 index 0000000000..65d09c5eae --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/BUILDING @@ -0,0 +1,55 @@ +Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution +======================================================================================= + +Initial Setup +------------- + +1) Install J2SE 5.0 SDK, which can be downloaded from + http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. + +2) Make sure that your JAVA_HOME environment variable is set to the newly installed + JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or + $JAVA_HOME$/bin (unix). + +3) Install Maven 2.0.7 or higher, which can be downloaded from + http://maven.apache.org/download.html. Make sure that your PATH includes + the MVN_HOME/bin directory. + +4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), + you can manually do this by executing the following in your prompt : + Windows users: + set MAVEN_OPTS=-Xmx128M + Unix users: + export MAVEN_OPTS=-Xmx128M + + +Building +-------- + +1) Change to the top level directory of Apache Tuscany source distribution. +2) Run + + $> mvn + + This will compile Apache Tuscany and run all of the tests in the source + distribution. + + Depending on the load of remote Maven 2.0 repositories, you may have + to run "mvn" several times utill the required dependencies are + all located in your local maven repository. It usually takes some time for + maven to download required dependencies in the first build. Once all the + dependencies have been downloaded you may use the -o option to run maven + in offline mode, for example, 'mvn clean install -o'. + + +Building the distributions +-------------------------- + +1) Change to the distribution folder +2) Run + + $> mvn + + This will build the binary and source distribution with .zip and .gz + formats in the distribution/target directory. + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/LICENSE b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/LICENSE new file mode 100644 index 0000000000..144d8ae692 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/LICENSE @@ -0,0 +1,397 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================================================== + +Apache Tuscany SCA for Java Subcomponents +=========================================: + +The Tuscany SCA for Java release includes a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the following licenses. + +=============================================================================================================== + +The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd +under the following license: + +License for the Service Data Objects JavaDoc, Interface Definition files +and XSD files. + +The Service Data Objects JavaDoc, Interface Definition files and XSD files +are being provided by the copyright holders under the following license. +By using and/or copying this work, you agree that you have read, +understood and will comply with the following terms and conditions: + +Permission to copy, display, make derivative works of and distribute +the Service Data Objects JavaDoc, Interface Definition files and XSD files +(the "Artifacts") in any medium without fee or royalty is hereby granted, +provided that you include the following on ALL copies of the Artifacts, +or portions thereof, that you make: + +1. A link or URL to the Artifacts at this location: +http://www.osoa.org/display/Main/Service+Data+Objects+Specifications + +2. The full text of this copyright notice as shown in the Artifacts. + + + +THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE +ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, +INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. + +THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY +USE OR DISTRIBUTION OF THE ARTIFACTS. + +The name and trademarks of the Authors may NOT be used in any manner, +including advertising or publicity pertaining to the Service Data +Objects Specification or its contents without specific, written prior +permission. Title to copyright in the Service Data Objects +Specification will at all times remain with the Authors. + +No other rights are granted by implication, estoppel or otherwise. + +Revision level 1.11, last updated on 2007/12/21 + +================================================================================================================= + +The module implementation-script temporarily includes one file under the following BSD license: + + Copyright (c) 2006, Sun Microsystems, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Sun Microsystems, Inc. nor the names of + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +================================================================================================================= + +The module assembly-xsd includes XSD files under the following SCA Collaboration license: + +License for the Service Component Architecture JavaDoc, Interface +Definition files and XSD files. + +The Service Component Architecture JavaDoc, Interface Definition files, +and XSD files are being provided by the copyright holders under the +following license. By using and/or copying this work, you agree that +you have read, understood and will comply with the following terms and +conditions: + +Permission to copy, display, make derivative works of, and distribute +the Service Component Architecture JavaDoc, Interface Definition Files +and XSD files (the "Artifacts") in any medium without fee or royalty is +hereby granted, provided that you include the following on ALL copies +of the Artifacts, or portions thereof, that you make: + +1. A link or URL to the Artifacts at this location: +http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications + +2. The full text of this copyright notice as shown in the Artifacts. + +THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE +ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT +LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, NON-INFRINGEMENT OR TITLE. + +THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY +USE OR DISTRIBUTION OF THE ARTIFACTS. + +The name and trademarks of the Authors may NOT be used in any manner, +including advertising or publicity pertaining to the Service Component +Architecture Specification or its contents without specific, written +prior permission. Title to copyright in the Service Component +Architecture Specification and the JavaDoc, Interface Definition Files +and XSD Files will at all times remain with the Authors. + +No other rights are granted by implication, estoppel or otherwise. + +Revision level 1.1, last updated on 2007/11/19 + +================================================================================================================= +The modules + +binding-ws-xml +databinding +databinding-axiom +databinding-jaxb +databinding-json +databinding-sdo +databinding-sdo-axiom +databinding-xmlbeans +interface-wsdl-xml + +Include the ipo.xsd and address.xsd information from the XML Schema Primer +(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the +file ipo.xsd and extended with UK postcode structures. + +The ipo.xsd file is include under the following license: + +W3C(c) SOFTWARE NOTICE AND LICENSE +http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +This work (and included software, documentation such as READMEs, or other +related items) is being provided by the copyright holders under the following +license. By obtaining, using and/or copying this work, you (the licensee) agree +that you have read, understood, and will comply with the following terms and conditions. + +Permission to copy, modify, and distribute this software and its documentation, +with or without modification, for any purpose and without fee or royalty is +hereby granted, provided that you include the following on ALL copies of the +software and documentation or portions thereof, including modifications: + + 1. The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. + 2. Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, the W3C Software Short Notice should be + included (hypertext is preferred, text is permitted) within the body of + any redistributed or derivative code. + 3. Notice of any changes or modifications to the files, including the date + changes were made. (We recommend you provide URIs to the location from which + the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE +NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, +WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, +COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in advertising or +publicity pertaining to the software without specific, written prior permission. +Title to copyright in this software and any associated documentation will at all +times remain with copyright holders. diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/NOTICE b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/NOTICE new file mode 100644 index 0000000000..a37f9b03f5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/release/src/NOTICE @@ -0,0 +1,39 @@ +Apache Tuscany +Copyright (c) 2005 - 2008 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) + Copyright (c) 2003-2004 Jan-Klaas Kollhof + Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd + +This product also includes software under the BSD license +(see the LICENSE file contained in this distribution), with +the following copyright: + Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. + +This product includes software under the Service Component Architecture JavaDoc, +Interface Definition files and XSD files license. + (c) Copyright SCA Collaboration 2006, 2007 + +This product includes software under the Service Data Objects JavaDoc and +Interface Definition file license + +(c) Copyright BEA Systems, Inc., International Business Machines Corporation, +Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., +Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, +2005, 2006. All rights reserved. + +This product includes software under the W3C(c) Software License +with the following copyright: + +Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, +European Research Consortium for Informatics and Mathematics, Keio University). +All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in +the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + diff --git a/sandbox/sebastien/java/sca-node/distribution/src/main/xsl/srcbuild_paths.xsl b/sandbox/sebastien/java/sca-node/distribution/src/main/xsl/srcbuild_paths.xsl new file mode 100644 index 0000000000..ab7a40b94a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/src/main/xsl/srcbuild_paths.xsl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + ${user.home}/.m2/maven.properties + + + ${user.home}/.m2/repository + + + + + + + ${user.home}/.m2/repository + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/standalone/pom.xml b/sandbox/sebastien/java/sca-node/distribution/standalone/pom.xml new file mode 100644 index 0000000000..204ea28180 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/standalone/pom.xml @@ -0,0 +1,71 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + Apache Tuscany SCA Standalone Runtime + tuscany-standalone + jar + + + + ${pom.groupId} + tuscany-runtime-standalone + ${pom.version} + + + + + + + src/main/java + + **/* + + + + + + org.apache.maven.plugins + maven-jar-plugin + + tuscany-sca + + + org.apache.tuscany.sca.runtime.standalone.StandaloneLauncher + false + + + + tuscany-standalone-${pom.version}.jar + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/standalone/src/test/resources/repo/tuscany.properties b/sandbox/sebastien/java/sca-node/distribution/standalone/src/test/resources/repo/tuscany.properties new file mode 100644 index 0000000000..a0d83168f7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/standalone/src/test/resources/repo/tuscany.properties @@ -0,0 +1,21 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +nodeName=http://localhost:8080/myNode/ +#domainName=http://localhost:8777/tuscany/foo/ +#startManager=true +#hotDeployInterval=10000 +#useHotUpdate=true diff --git a/sandbox/sebastien/java/sca-node/distribution/tomcat/pom.xml b/sandbox/sebastien/java/sca-node/distribution/tomcat/pom.xml new file mode 100644 index 0000000000..9bc2893071 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/tomcat/pom.xml @@ -0,0 +1,79 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + Apache Tuscany SCA WebApp Runtime + tuscany-tomcat-overlay + pom + + + + ${pom.groupId} + tuscany-runtime-tomcat + ${pom.version} + + + + + + + + src/main/java + + **/* + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + distribution-package + package + + single + + + + src/main/assembly/bin.xml + + gnu + apache-tuscany-tomcat-overlay-${pom.version} + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/assembly/bin.xml b/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/assembly/bin.xml new file mode 100644 index 0000000000..a664e719e9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/assembly/bin.xml @@ -0,0 +1,62 @@ + + + + + bin + false + + dir + tar.gz + zip + + + + + + + + + src/main/resources/sca-contributions + /sca-contributions + + tuscany.properties + + + + + + + + /lib + false + runtime + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties b/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties new file mode 100644 index 0000000000..6e2ca20deb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +#nodeName=http://localhost:8080/tuscany/ +#domainName=http://localhost:8877 +hotDeployInterval=10000 diff --git a/sandbox/sebastien/java/sca-node/distribution/war/pom.xml b/sandbox/sebastien/java/sca-node/distribution/war/pom.xml new file mode 100644 index 0000000000..f928fea5ed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/pom.xml @@ -0,0 +1,90 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + Apache Tuscany SCA WAR Distribution + tuscany-war + pom + + + + + ${pom.groupId} + tuscany-runtime-war + ${pom.version} + + + + + junit + junit + + + javax.servlet + servlet-api + + + avalon-framework + avalon-framework + + + + + + + + package + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + distribution-package + package + + single + + + + war.xml + + gnu + tuscany + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/DISCLAIMER b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/DISCLAIMER new file mode 100644 index 0000000000..a65af91c5a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/DISCLAIMER @@ -0,0 +1,7 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/LICENSE b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/LICENSE new file mode 100644 index 0000000000..815617a23b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/LICENSE @@ -0,0 +1,2296 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + +APACHE TUSCANY SUBCOMPONENTS: + +The Apache Tuscany binary distribution includes a number of subcomponents +with separate copyright notices and license terms. Your use of the +code for the these subcomponents is subject to the terms and +conditions of the following licenses. + +=============================================================================== + +The following components come under Apache Software License 2.0 + + activeio-2.0-r118.jar + addressing-1.3.mar + annogen-0.1.0.jar + annotations-api-6.0.10.jar + aopalliance-1.0.jar + axiom-api-1.2.5.jar + axiom-dom-1.2.5.jar + axiom-impl-1.2.5.jar + axis2-adb-1.3.jar + axis2-adb-codegen-1.3.jar + axis2-codegen-1.3.jar + axis2-java2wsdl-1.3.jar + axis2-kernel-1.3.jar + axis2-mtompolicy-1.3.jar + bsf-all-3.0-beta1.jar + catalina-6.0.10.jar + cglib-nodep-2.1_3.jar + common-2.2.2.jar + commons-collections-3.1.jar + commons-codec-1.3.jar + commons-fileupload-1.1.1.jar + commons-httpclient-3.0.1.jar + commons-io-1.2.jar + commons-jexl-1.1.jar + commons-lang-2.1.jar + commons-logging-1.1.jar + commons-primitives-1.0.jar + coyote-6.0.10.jar + derby-10.1.3.1.jar + geronimo-activation_1.1_spec-1.0-M1.jar + geronimo-common-1.2-beta.jar + geronimo-commonj_1.1_spec-1.0.jar + geronimo-connector-1.2-beta.jar + geronimo-core-1.2-beta.jar + geronimo-deployment-1.2-beta.jar + geronimo-ejb_3.0_spec-1.0.jar + geronimo-interceptor-1.2-beta.jar + geronimo-jms_1.1_spec-1.1.jar + geronimo-j2ee-1.2-beta.jar + geronimo-j2ee-connector_1.5_spec-1.1.jar + geronimo-j2ee-jacc_1.0_spec-1.1.jar + geronimo-j2ee-management_1.0_spec-1.1.jar + geronimo-javamail_1.4_spec-1.0-M1.jar + geronimo-jpa_3.0_spec-1.0.jar + geronimo-jta_1.0.1B_spec-1.0.jar + geronimo-kernel-1.2-beta.jar + geronimo-management-1.2-beta.jar + geronimo-naming-1.2-beta.jar + geronimo-security-1.2-beta.jar + geronimo-spec-j2ee-connector-1.5-rc4.jar + geronimo-spec-jta-1.0.1B-rc4.jar + geronimo-system-1.2-beta.jar + geronimo-transaction-1.2-beta.jar + geronimo-util-1.2-beta.jar + httpcore-4.0-alpha5.jar + httpcore-nio-4.0-alpha5.jar + httpcore-niossl-4.0-alpha5.jar + jetty-6.1.3.jar + jetty-util-6.1.3.jar + json-rpc-1.0.jar + juli-6.0.10.jar + log4j-1.2.12.jar + logkit-1.0.1.jar + maven-artifact-2.0.2.jar + maven-artifact-manager-2.0.2.jar + maven-error-diagnostics-2.0.2.jar + maven-model-2.0.2.jar + maven-profile-2.0.2.jar + maven-project-2.0.2.jar + maven-repository-metadata-2.0.2.jar + maven-settings-2.0.2.jar + neethi-2.0.2.jar + ode-bpel-api-1.1.jar + ode-bpel-compiler-1.1.jar + ode-bpel-dao-1.1.jar + ode-bpel-epr-1.1.jar + ode-bpel-obj-1.1.jar + ode-bpel-runtime-1.1.jar + ode-bpel-schemas-1.1.jar + ode-bpel-store-1.1.jar + ode-dao-jpa-1.1.jar + ode-dao-jpa-ojpa-derby-1.1.zip + ode-jacob-1.1.jar + ode-jacob-ap-1.1.jar + ode-scheduler-simple-1.1.jar + ode-utils-1.1.jar + openjpa-all-0.9.7-incubating.jar + openjpa-persistence-0.9.7-incubating.jar + opensaml-1.1.jar + org.apache.felix.bundlerepository-1.0.0.jar + org.apache.felix.framework-1.0.0.jar + org.apache.felix.main-1.0.0.jar + org.apache.felix.shell-1.0.0.jar + org.apache.felix.shell.tui-1.0.0.jar + plexus-container-default-1.0-alpha-9.jar + plexus-utils-1.1.jar + rampart-1.3.mar + rampart-core-1.3.jar + rampart-policy-1.3.jar + rampart-trust-1.3.jar + regexp-1.3.jar + spring-beans-2.0.6.jar + spring-context-2.0.6.jar + spring-core-2.0.6.jar + stax-api-1.0.2.jar + tranql-connector-1.1.jar + tuscany-sdo-api-r2.1-1.0-incubating.jar + tuscany-sdo-impl-1.0-incubating.jar + tuscany-sdo-lib-1.0-incubating.jar + tuscany-sdo-tools-1.0-incubating.jar + wagon-file-1.0-alpha-7.jar + wagon-http-lightweight-1.0-alpha-6.jar + wagon-provider-api-1.0-alpha-6.jar + woden-1.0-incubating-M7b.jar + wss4j-1.5.3.jar + wstx-asl-3.2.1.jar + xalan-2.7.0.jar + xmlbeans-2.3.0.jar + xbean-naming-2.7.jar + xercesImpl-2.8.1.jar + xml-apis-1.3.03.jar + xml-resolver-1.1.jar + xmlsec-1.4.0.jar + XmlSchema-1.3.2.jar + +=============================================================================== + +jaxen-1.1-beta-9.jar: + + Copyright 2003-2006 The Werken Company. All Rights Reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Jaxen Project nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================== + +The EMF jars; + codegen-2.2.3.jar + codegen-ecore-2.2.3.jar + common-2.2.3.jar + ecore-2.2.3.jar + ecore-change-2.2.3.jar + ecore-xmi-2.2.3.jar + xsd-2.2.3.jar + +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and +are distributed by that particular Contributor. A Contribution +'originates' from a Contributor if it was added to the Program by such +Contributor itself or anyone acting on such Contributor's behalf. +Contributions do not include additions to the Program which: (i) are +separate modules of software distributed in conjunction with the +Program under their own license agreement, and (ii) are not derivative +works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor +which are necessarily infringed by the use or sale of its Contribution +alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this +Agreement, including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free copyright +license to reproduce, prepare derivative works of, publicly display, +publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and +object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free patent +license under Licensed Patents to make, use, sell, offer to sell, +import and otherwise transfer the Contribution of such Contributor, if +any, in source code and object code form. This patent license shall +apply to the combination of the Contribution and the Program if, at +the time the Contribution is added by the Contributor, such addition +of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder. + +c) Recipient understands that although each Contributor grants the +licenses to its Contributions set forth herein, no assurances are +provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow +Recipient to distribute the Program, it is Recipient's responsibility +to acquire that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright +license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties +and conditions, express and implied, including warranties or +conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability +for damages, including direct, indirect, special, incidental and +consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are +offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such +Contributor, and informs licensees how to obtain it in a reasonable +manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the +Program. + +Contributors may not remove or alter any copyright notices contained +within the Program. + +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a +commercial product offering should do so in a manner which does not +create potential liability for other Contributors. Therefore, if a +Contributor includes the Program in a commercial product offering, +such Contributor ("Commercial Contributor") hereby agrees to defend +and indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") arising +from claims, lawsuits and other legal actions brought by a third party +against the Indemnified Contributor to the extent caused by the acts +or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. +In order to qualify, an Indemnified Contributor must: a) promptly +notify the Commercial Contributor in writing of such claim, and b) +allow the Commercial Contributor to control, and cooperate with the +Commercial Contributor in, the defense and any related settlement +negotiations. The Indemnified Contributor may participate in any such +claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable +laws, damage to or loss of data, programs or equipment, and +unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that +the Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of +the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign +the responsibility to serve as the Agreement Steward to a suitable +separate entity. Each new version of the Agreement will be given a +distinguishing version number. The Program (including Contributions) +may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the +Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives +no rights or licenses to the intellectual property of any Contributor +under this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No +party to this Agreement will bring a legal action under this Agreement +more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation. + +=============================================================================== +For Saxon including + saxon-8.7.jar + saxon-dom-8.7.jar + saxon-xpath-8.7.jar + + MOZILLA PUBLIC LICENSE +Version 1.0 + +1. Definitions. + + 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. + + 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. + + 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. + + 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. + + 1.5. ``Executable'' means Covered Code in any form other than Source Code. + + 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. + + 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. + + 1.8. ``License'' means this document. + + 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: + + A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or previous Modifications. + + 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. + + 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. + + 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: + + (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and + + (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. + + 2.2. Contributor Grant. + Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: + + (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and + + (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + + (a) Third Party Claims. + If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. + + 6.3. Derivative Works. + If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. + +12. RESPONSIBILITY FOR CLAIMS. + + Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. + +EXHIBIT A. + + ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. + + Contributor(s): ______________________________________.'' + +=============================================================================== + +For the Rhino JavaScript engine js-1.6R6.jar: + + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + + +=============================================================================== +Groovy: + +/* + $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ + + Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. + + Redistribution and use of this software and associated documentation + ("Software"), with or without modification, are permitted provided + that the following conditions are met: + + 1. Redistributions of source code must retain copyright + statements and notices. Redistributions must also contain a + copy of this document. + + 2. Redistributions in binary form must reproduce the + above copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + 3. The name "groovy" must not be used to endorse or promote + products derived from this Software without prior written + permission of The Codehaus. For written permission, + please contact info@codehaus.org. + + 4. Products derived from this Software may not be called "groovy" + nor may "groovy" appear in their names without prior written + permission of The Codehaus. "groovy" is a registered + trademark of The Codehaus. + + 5. Due credit should be given to The Codehaus - + http://groovy.codehaus.org/ + + THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + + */ + +=============================================================================== + +Jython: + +A. HISTORY OF THE SOFTWARE +======================= + +JPython was created in late 1997 by Jim Hugunin. Jim was also the +primary developer while he was at CNRI. In February 1999 Barry Warsaw +took over as primary developer and released JPython version 1.1. + +In October 2000 Barry helped move the software to SourceForge +where it was renamed to Jython. Jython 2.0 and on are licensed under +the Jython specific license below. + +The standard library is covered by the Python Software Foundation +license. See the LICENSE_CPython.txt file for details. + +The zxJDBC package was written by Brian Zimmer and originally licensed +under the GNU Public License. The package is now covered by the Jython +Software License. + +The command line interpreter is covered by the Apache Software +License. See the LICENSE_Apache.txt file for details. + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON +================================ + +Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + - Neither the name of the Jython Developers nor the names of + its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + +JPython 1.1.x Software License. +========================= + +______________________________________________________________________ + +IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. + +BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, +COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO +THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +______________________________________________________________________ + +JPython version 1.1.x + + 1. This LICENSE AGREEMENT is between the Corporation for National Research + Initiatives, having an office at 1895 Preston White Drive, Reston, VA + 20191 ("CNRI"), and the Individual or Organization ("Licensee") + accessing and using JPython version 1.1.x in source or binary form and + its associated documentation as provided herein ("Software"). + + 2. Subject to the terms and conditions of this License Agreement, CNRI + hereby grants Licensee a non-exclusive, non-transferable, royalty-free, + world-wide license to reproduce, analyze, test, perform and/or display + publicly, prepare derivative works, distribute, and otherwise use the + Software alone or in any derivative version, provided, however, that + CNRI's License Agreement and CNRI's notice of copyright, i.e., + "Copyright ©1996-1999 Corporation for National Research Initiatives; + All Rights Reserved" are both retained in the Software, alone or in any + derivative version prepared by Licensee. + + Alternatively, in lieu of CNRI's License Agreement, Licensee may + substitute the following text (omitting the quotes), provided, however, + that such text is displayed prominently in the Software alone or in any + derivative version prepared by Licensee: "JPython (Version 1.1.x) is + made available subject to the terms and conditions in CNRI's License + Agreement. This Agreement may be located on the Internet using the + following unique, persistent identifier (known as a handle): + 1895.22/1006. The License may also be obtained from a proxy server on + the Web using the following URL: http://hdl.handle.net/1895.22/1006." + + 3. In the event Licensee prepares a derivative work that is based on or + incorporates the Software or any part thereof, and wants to make the + derivative work available to the public as provided herein, then + Licensee hereby agrees to indicate in any such work, in a prominently + visible way, the nature of the modifications made to CNRI's Software. + + 4. Licensee may not use CNRI trademarks or trade name, including JPython + or CNRI, in a trademark sense to endorse or promote products or + services of Licensee, or any third party. Licensee may use the mark + JPython in connection with Licensee's derivative versions that are + based on or incorporate the Software, but only in the form + "JPython-based ___________________," or equivalent. + + 5. CNRI is making the Software available to Licensee on an "AS IS" basis. + CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY + OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY + REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY + PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE + ANY THIRD PARTY RIGHTS. + + 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR + ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF + USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE + THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT + ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER + MAY NOT APPLY TO LICENSEE. + + 7. This License Agreement may be terminated by CNRI (i) immediately upon + written notice from CNRI of any material breach by the Licensee, if the + nature of the breach is such that it cannot be promptly remedied; or + (ii) sixty (60) days following notice from CNRI to Licensee of a + material remediable breach, if Licensee has not remedied such breach + within that sixty-day period. + + 8. This License Agreement shall be governed by and interpreted in all + respects by the law of the State of Virginia, excluding conflict of law + provisions. Nothing in this Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between CNRI and + Licensee. + + 9. By clicking on the "ACCEPT" button where indicated, or by installing, + copying or otherwise using the Software, Licensee agrees to be bound by + the terms and conditions of this License Agreement. + + +=============================================================================== + +The jars; activation, jaxb-api, jaxb-impl, jaxb-xjc, jsr181-api, +jsr250-api, jaxws-api, mail, saaj-api, servlet-api-2.5.jar: + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + + + 1. Definitions. + + 1.1. "Contributor" means each individual or entity that + creates or contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the + Original Software, prior Modifications used by a + Contributor (if any), and the Modifications made by that + particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or + (b) Modifications, or (c) the combination of files + containing Original Software with files containing + Modifications, in each case including portions thereof. + + 1.4. "Executable" means the Covered Software in any form + other than Source Code. + + 1.5. "Initial Developer" means the individual or entity + that first makes Original Software available under this + License. + + 1.6. "Larger Work" means a work which combines Covered + Software or portions thereof with code not governed by the + terms of this License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the + maximum extent possible, whether at the time of the initial + grant or subsequently acquired, any and all of the rights + conveyed herein. + + 1.9. "Modifications" means the Source Code and Executable + form of any of the following: + + A. Any file that results from an addition to, + deletion from or modification of the contents of a + file containing Original Software or previous + Modifications; + + B. Any new file that contains any part of the + Original Software or previous Modification; or + + C. Any new file that is contributed or otherwise made + available under the terms of this License. + + 1.10. "Original Software" means the Source Code and + Executable form of computer software code that is + originally released under this License. + + 1.11. "Patent Claims" means any patent claim(s), now owned + or hereafter acquired, including without limitation, + method, process, and apparatus claims, in any patent + Licensable by grantor. + + 1.12. "Source Code" means (a) the common form of computer + software code in which modifications are made and (b) + associated documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal + entity exercising rights under, and complying with all of + the terms of, this License. For legal entities, "You" + includes any entity which controls, is controlled by, or is + under common control with You. For purposes of this + definition, "control" means (a) the power, direct or + indirect, to cause the direction or management of such + entity, whether by contract or otherwise, or (b) ownership + of more than fifty percent (50%) of the outstanding shares + or beneficial ownership of such entity. + + 2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, the + Initial Developer hereby grants You a world-wide, + royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than + patent or trademark) Licensable by Initial Developer, + to use, reproduce, modify, display, perform, + sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, + using or selling of Original Software, to make, have + made, use, practice, sell, and offer for sale, and/or + otherwise dispose of the Original Software (or + portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) + are effective on the date Initial Developer first + distributes or otherwise makes the Original Software + available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent + license is granted: (1) for code that You delete from + the Original Software, or (2) for infringements + caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original + Software with other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, each + Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + (a) under intellectual property rights (other than + patent or trademark) Licensable by Contributor to + use, reproduce, modify, display, perform, sublicense + and distribute the Modifications created by such + Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as + Covered Software and/or as part of a Larger Work; and + + + (b) under Patent Claims infringed by the making, + using, or selling of Modifications made by that + Contributor either alone and/or in combination with + its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, + have made, and/or otherwise dispose of: (1) + Modifications made by that Contributor (or portions + thereof); and (2) the combination of Modifications + made by that Contributor with its Contributor Version + (or portions of such combination). + + (c) The licenses granted in Sections 2.2(a) and + 2.2(b) are effective on the date Contributor first + distributes or otherwise makes the Modifications + available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent + license is granted: (1) for any code that Contributor + has deleted from the Contributor Version; (2) for + infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the + combination of Modifications made by that Contributor + with other software (except as part of the + Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the + absence of Modifications made by that Contributor. + + 3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make + available in Executable form must also be made available in + Source Code form and that Source Code form must be + distributed only under the terms of this License. You must + include a copy of this License with every copy of the + Source Code form of the Covered Software You distribute or + otherwise make available. You must inform recipients of any + such Covered Software in Executable form as to how they can + obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used + for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You + contribute are governed by the terms of this License. You + represent that You believe Your Modifications are Your + original creation(s) and/or You have sufficient rights to + grant the rights conveyed by this License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications + that identifies You as the Contributor of the Modification. + You may not remove or alter any copyright, patent or + trademark notices contained within the Covered Software, or + any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered + Software in Source Code form that alters or restricts the + applicable version of this License or the recipients' + rights hereunder. You may choose to offer, and to charge a + fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on + behalf of the Initial Developer or any Contributor. You + must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by + You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred + by the Initial Developer or such Contributor as a result of + warranty, support, indemnity or liability terms You offer. + + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered + Software under the terms of this License or under the terms + of a license of Your choice, which may contain terms + different from this License, provided that You are in + compliance with the terms of this License and that the + license for the Executable form does not attempt to limit + or alter the recipient's rights in the Source Code form + from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a + different license, You must make it absolutely clear that + any terms which differ from this License are offered by You + alone, not by the Initial Developer or Contributor. You + hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms + You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software + with other code not governed by the terms of this License + and distribute the Larger Work as a single product. In such + a case, You must make sure the requirements of this License + are fulfilled for the Covered Software. + + 4. Versions of the License. + + 4.1. New Versions. + + Sun Microsystems, Inc. is the initial license steward and + may publish revised and/or new versions of this License + from time to time. Each version will be given a + distinguishing version number. Except as provided in + Section 4.3, no one other than the license steward has the + right to modify this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. If the Initial Developer includes a + notice in the Original Software prohibiting it from being + distributed or otherwise made available under any + subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. Otherwise, You may also choose to + use, distribute or otherwise make the Covered Software + available under the terms of any subsequent version of the + License published by the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a + new license for Your Original Software, You may create and + use a modified version of this License if You: (a) rename + the license and remove any references to the name of the + license steward (except to note that the license differs + from this License); and (b) otherwise make it clear that + the license contains terms which differ from this License. + + + 5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" + BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED + SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR + PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND + PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY + COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE + INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF + ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF + WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS + DISCLAIMER. + + 6. TERMINATION. + + 6.1. This License and the rights granted hereunder will + terminate automatically if You fail to comply with terms + herein and fail to cure such breach within 30 days of + becoming aware of the breach. Provisions which, by their + nature, must remain in effect beyond the termination of + this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or + a Contributor (the Initial Developer or Contributor against + whom You assert such claim is referred to as "Participant") + alleging that the Participant Software (meaning the + Contributor Version where the Participant is a Contributor + or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any + patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial + Developer (if the Initial Developer is not the Participant) + and all Contributors under Sections 2.1 and/or 2.2 of this + License shall, upon 60 days notice from Participant + terminate prospectively and automatically at the expiration + of such 60 day notice period, unless if within such 60 day + period You withdraw Your claim with respect to the + Participant Software against such Participant either + unilaterally or pursuant to a written agreement with + Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 + above, all end user licenses that have been validly granted + by You or any distributor hereunder prior to termination + (excluding licenses granted to You by any distributor) + shall survive termination. + + 7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE + LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK + STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL + INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO + NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR + CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT + APPLY TO YOU. + + 8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is + defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial + computer software" (as that term is defined at 48 C.F.R. + 252.227-7014(a)(1)) and "commercial computer software + documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. + 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users + acquire Covered Software with only those rights set forth herein. + This U.S. Government Rights clause is in lieu of, and supersedes, + any other FAR, DFAR, or other clause or provision that addresses + Government rights in computer software under this License. + + 9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the + extent necessary to make it enforceable. This License shall be + governed by the law of the jurisdiction specified in a notice + contained within the Original Software (except to the extent + applicable law, if any, provides otherwise), excluding such + jurisdiction's conflict-of-law provisions. Any litigation + relating to this License shall be subject to the jurisdiction of + the courts located in the jurisdiction and venue specified in a + notice contained within the Original Software, with the losing + party responsible for costs, including, without limitation, court + costs and reasonable attorneys' fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall + be construed against the drafter shall not apply to this License. + You agree that You alone are responsible for compliance with the + United States export administration regulations (and the export + control laws and regulation of any other countries) when You use, + distribute or otherwise make available any Covered Software. + + 10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or + indirectly, out of its utilization of rights under this License + and You agree to work with Initial Developer and Contributors to + distribute such responsibility on an equitable basis. Nothing + herein is intended or shall be deemed to constitute any admission + of liability. + +=============================================================================== + +JRuby, wsdl4j: + +Common Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. + +=============================================================================== + +backport-util-concurrent: + +The software comprising backport-util-concurrent is based in large +part on the code from JSR166, and the package dl.util.concurrent. +The software has been released to the public domain, as explained at: +http://creativecommons.org/licenses/publicdomain, excepting portions +of the class +edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, +which were adapted from class java.util.ArrayList, written by Sun +Microsystems, Inc, which are used with kind permission, and subject +to the following: + +Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is +subject to the following license terms. + + "Sun hereby grants you a non-exclusive, worldwide, non-transferrable + license to use and distribute the Java Software technologies as part + of a larger work in source and binary forms, with or without + modification, provided that the following conditions are met: + + -Neither the name of or trademarks of Sun may be used to endorse or + promote products derived from the Java Software technology without + specific prior written permission. + + -Redistributions of source or binary code must be accompanied by the + following notice and disclaimers: + + Portions copyright Sun Microsystems, Inc. Used with kind permission. + + This software is provided AS IS, without a warranty of any kind. ALL + EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND + WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR + NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE + FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF + USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS + DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR + DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL + OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF + THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR + INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + You acknowledge that Software is not designed, licensed or intended for + use in the design, construction, operation or maintenance of any nuclear + facility." + +=============================================================================== +rome-0.9.jar + +Copyright 2004 Sun Microsystems, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +=============================================================================== +jdom-1.0.jar : + +$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ + + Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the disclaimer that follows + these conditions in the documentation and/or other materials + provided with the distribution. + + 3. The name "JDOM" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact . + + 4. Products derived from this software may not be called "JDOM", nor + may "JDOM" appear in their name, without prior written permission + from the JDOM Project Management . + + In addition, we request (but do not require) that you include in the + end-user documentation provided with the redistribution and/or in the + software itself an acknowledgement equivalent to the following: + "This product includes software developed by the + JDOM Project (http://www.jdom.org/)." + Alternatively, the acknowledgment may be graphical using the logos + available at http://www.jdom.org/images/logos. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + This software consists of voluntary contributions made by many + individuals on behalf of the JDOM Project and was originally + created by Jason Hunter and + Brett McLaughlin . For more information + on the JDOM Project, please see . + +======================================================================== + +dwr-2.0.1.jar : + +/* +* Copyright 2005 Joe Walker +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +========================================================================== + +dojotoolkit : + +The "New" BSD License: +********************** + +Copyright (c) 2005, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ + +The module tuscany-implementation-script-1.0-incubating.jar temporarily includes +one file under the below BSD license with the following copyright: + + Copyright (c) 2006, Sun Microsystems, Inc. + All rights reserved. + +BSD license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Sun Microsystems, Inc. nor the names of + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +================================================================================ + +The serp jar is distributed under the BSD license with the following copyright: + + Copyright (c) 2002, A. Abram White + All rights reserved. + +BSD license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Sun Microsystems, Inc. nor the names of + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +================================================================================ +The axion, javacc, and howl are distributed under the BSD license: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ + +The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: + +License for the Service Component Architecture JavaDoc, Interface +Definition files and XSD files. + +The Service Component Architecture JavaDoc, Interface Definition files, +and XSD files are being provided by the copyright holders under the +following license. By using and/or copying this work, you agree that +you have read, understood and will comply with the following terms and +conditions: + +Permission to copy, display, make derivative works of, and distribute +the Service Component Architecture JavaDoc, Interface Definition Files +and XSD files (the "Artifacts") in any medium without fee or royalty is +hereby granted, provided that you include the following on ALL copies +of the Artifacts, or portions thereof, that you make: + +1. A link or URL to the Artifacts at this location: +http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications + +2. The full text of this copyright notice as shown in the Artifacts. + +THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE +ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT +LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, NON-INFRINGEMENT OR TITLE. + +THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY +USE OR DISTRIBUTION OF THE ARTIFACTS. + +The name and trademarks of the Authors may NOT be used in any manner, +including advertising or publicity pertaining to the Service Component +Architecture Specification or its contents without specific, written +prior permission. Title to copyright in the Service Component +Architecture Specification and the JavaDoc, Interface Definition Files +and XSD Files will at all times remain with the Authors. + +No other rights are granted by implication, estoppel or otherwise. + +Revision level 1.1, last updated on 2007/11/19 + +================================================================================ +License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) + +These files being ... +commonj/sdo/ChangeSummary$Setting.class +commonj/sdo/ChangeSummary.class +commonj/sdo/DataGraph.class +commonj/sdo/DataObject.class +commonj/sdo/helper/CopyHelper.class +commonj/sdo/helper/DataFactory.class +commonj/sdo/helper/DataHelper.class +commonj/sdo/helper/EqualityHelper.class +commonj/sdo/helper/HelperContext.class +commonj/sdo/helper/TypeHelper.class +commonj/sdo/helper/XMLDocument.class +commonj/sdo/helper/XMLHelper.class +commonj/sdo/helper/XSDHelper.class +commonj/sdo/impl/ExternalizableDelegator$Resolvable.class +commonj/sdo/impl/ExternalizableDelegator.class +commonj/sdo/Property.class +commonj/sdo/Sequence.class +commonj/sdo/Type.class +xml/datagraph.xsd +xml/sdoJava.xml +xml/sdoJava.xsd +xml/sdoModel.xml +xml/sdoModel.xsd +xml/sdoXML.xml +xml/sdoXML.xsd + + +License for the Service Data Objects JavaDoc and Interface Definition files. + +The Service Data Objects Specification is being provided by the copyright holders under the following +license. By using and/or copying this work, you agree that you have read, understood and will comply with +the following terms and conditions: + +Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without +modification, in any medium without fee or royalty is hereby granted, provided that you include the +following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: + +1. A link or URL to the Service Data Objects Specification at this location: +http://www.osoa.org/display/Main/Service+Data+Objects+Specifications + +2. The full text of this copyright notice as shown in the Service Data Objects Specification. + +BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, +Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, +non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data +Objects Specification. + +THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR +WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, +INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS +SPECIFICATION. + +The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity +pertaining to the Service Data Objects Specification or its contents without specific, written prior +permission. Title to copyright in the Service Data Objects Specification will at all times remain with the +Authors. + +No other rights are granted by implication, estoppel or otherwise. +================================================================================ + diff --git a/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/NOTICE b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/NOTICE new file mode 100644 index 0000000000..c34934e5cd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/NOTICE @@ -0,0 +1,98 @@ +Apache Tuscany +Copyright (c) 2005 - 2008 The Apache Software Foundation + +========================================================================= +== NOTICE file corresponding to the section 4 d of == +== the Apache License, Version 2.0, == +== in this case for the Apache Tuscany distribution. == +========================================================================= + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +This product includes/uses XmlSchema developed at +The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) + Portions Copyright 2006 International Business Machines Corp. + +This product includes/uses ode-bpel-api-1.1 developed at +The Apache Software Foundation (http://ode.apache.org) + - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) + - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) + +"This product includes software developed by the Spring Framework + Project (http://www.springframework.org)." + +This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), +developed by Mort Bay Consulting (http://www.mortbay.com) + +This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), +Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. + +This product includes/uses the Jaxen XPATH engine (http://jaxen.org/) + Copyright 2003-2006 The Werken Company. All Rights Reserved. + +This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) +License: Public Domain + +This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) + +This product includes software from the GlassFish project (https://glassfish.dev.java.net/) + Copyright (c) 2006, Sun Microsystems, Inc. + +This product includes software from the Rome project (https://rome.dev.java.net/) + Copyright (c) 2006, Sun Microsystems, Inc. + +This product also includes software developed by: +- the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) +- the Mozilla Rhino project (http://www.mozilla.org/rhino/) + +This product includes/uses JDOM (http://www.jdom.org/) + Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. + +This product includes/uses DWR (http://getahead.org/dwr) + Copyright 2005 Joe Walker. All rights reserved. + +This product includes/uses dojotoolkit (http://dojotoolkit.org/) + Copyright (c) 2005, The Dojo Foundation. All rights reserved. + +This product includes/uses Howl (http://howl.objectweb.org/) + Copyright (c) 2004, Bull S.A. + +This product includes/uses axion (http://axion.tigris.org/) + Copyright (c) 2002-2003 Axion Development Team. + +This product includes/uses javacc (https://javacc.dev.java.net/) + Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. + +The Program includes all or portions of the following software: "The +Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under +an MPL v1.0 license. Please refer to the homepage URL at +http://www.saxonica.com/. + +This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: + Copyright (c) 2002, A. Abram White. All rights reserved. + +This product also includes software under the BSD license +with the following copyright: + + Copyright (c) 2006, Sun Microsystems, Inc. + All rights reserved. + +This product also includes software under the OSOA license +(see the LICENSE file contained in this distribution), with +the following copyright: + +(c) Copyright SCA Collaboration 2006, 2007 + +This product includes software under the Service Data Objects JavaDoc and +Interface Definition file license + +(c) Copyright BEA Systems, Inc., International Business Machines Corporation, +Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., +Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, +2005, 2006. All rights reserved. + +Please see the LICENSE file present in the root directory of this +distribution. + + diff --git a/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/README b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/README new file mode 100644 index 0000000000..7c5ba2db37 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/src/main/release/README @@ -0,0 +1,12 @@ +Apache Tuscany 1.2 WAR Distribution September 2007 README +========================================================= + +Welcome to the Tuscany SCA WAR Distribution see the RELEASE_NOTES +and CHANGES files for information specific to this release. + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/war/src/main/webapp/web.xml b/sandbox/sebastien/java/sca-node/distribution/war/src/main/webapp/web.xml new file mode 100644 index 0000000000..787ff847b0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/src/main/webapp/web.xml @@ -0,0 +1,48 @@ + + + + + + + Apache Tuscany WAR Distribution + + + org.apache.tuscany.sca.runtime.war.WarContextListener + + + + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/war/war.xml b/sandbox/sebastien/java/sca-node/distribution/war/war.xml new file mode 100644 index 0000000000..8fb1044714 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/war/war.xml @@ -0,0 +1,82 @@ + + + + + + + false + + + war + + + + + + + src/main/release + + + * + + + + + + src/main/webapp + WEB-INF/ + + * + + + + + + ../../samples/feed-aggregator/target + repository/ + + *.jar + + + + ../../samples/helloworld-ws-service/target + repository/ + + *.jar + + + + + + + + + + WEB-INF/lib + false + + org.apache.tuscany.sca:sample-* + + runtime + + + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/pom.xml b/sandbox/sebastien/java/sca-node/distribution/webapp/pom.xml new file mode 100644 index 0000000000..7d38fbe7e0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/pom.xml @@ -0,0 +1,350 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-incubating-SNAPSHOT + ../../pom.xml + + + Apache Tuscany SCA WebApp Runtime + tuscany-webapp + war + + + + ${pom.groupId} + tuscany-assembly + ${pom.version} + + + ${pom.groupId} + tuscany-assembly-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-dwr + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ejb + ${pom.version} + + + ${pom.groupId} + tuscany-binding-feed + ${pom.version} + + + ${pom.groupId} + tuscany-binding-http + ${pom.version} + + + ${pom.groupId} + tuscany-binding-jsonrpc + ${pom.version} + + + ${pom.groupId} + tuscany-binding-notification + ${pom.version} + + + ${pom.groupId} + tuscany-binding-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca + ${pom.version} + + + ${pom.groupId} + tuscany-binding-sca-xml + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws + ${pom.version} + + + ${pom.groupId} + tuscany-binding-ws-axis2 + ${pom.version} + + + javax.servlet + servlet-api + + + junit + junit + + + + + ${pom.groupId} + tuscany-binding-ws-xml + ${pom.version} + + + ${pom.groupId} + tuscany-contribution + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-impl + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-java + ${pom.version} + + + ${pom.groupId} + tuscany-contribution-namespace + ${pom.version} + + + ${pom.groupId} + tuscany-core + ${pom.version} + + + ${pom.groupId} + tuscany-core-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-core-spi + ${pom.version} + + + ${pom.groupId} + tuscany-core-spring + ${pom.version} + + + ${pom.groupId} + tuscany-databinding + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-jaxb + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-sdo + ${pom.version} + + + ${pom.groupId} + tuscany-databinding-sdo-axiom + ${pom.version} + + + ${pom.groupId} + tuscany-definitions + ${pom.version} + + + ${pom.groupId} + tuscany-definitions-xml + ${pom.version} + + + ${pom.groupId} + tuscany-domain + ${pom.version} + + + ${pom.groupId} + tuscany-domain-api + ${pom.version} + + + ${pom.groupId} + tuscany-domain-impl + ${pom.version} + + + ${pom.groupId} + tuscany-extension-helper + ${pom.version} + + + ${pom.groupId} + tuscany-host-embedded + ${pom.version} + + + ${pom.groupId} + tuscany-host-http + ${pom.version} + + + ${pom.groupId} + tuscany-host-rmi + ${pom.version} + + + ${pom.groupId} + tuscany-host-webapp + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-java-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-node-runtime + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-notification + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-resource + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-script + ${pom.version} + + + ${pom.groupId} + tuscany-implementation-spring + ${pom.version} + + + ${pom.groupId} + tuscany-interface + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java + ${pom.version} + + + ${pom.groupId} + tuscany-interface-java-xml + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl + ${pom.version} + + + ${pom.groupId} + tuscany-interface-wsdl-xml + ${pom.version} + + + ${pom.groupId} + tuscany-node + ${pom.version} + + + ${pom.groupId} + tuscany-node-api + ${pom.version} + + + ${pom.groupId} + tuscany-node-impl + ${pom.version} + + + ${pom.groupId} + tuscany-policy + ${pom.version} + + + ${pom.groupId} + tuscany-policy-xml + ${pom.version} + + + ${pom.groupId} + tuscany-sca-api + ${pom.version} + + + javax.servlet + servlet-api + 2.3 + provided + + + commons-fileupload + commons-fileupload + 1.1.1 + + + commons-io + commons-io + 1.1 + + + + + tuscany + + diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java new file mode 100644 index 0000000000..9a0c66a776 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.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.webapp; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Iterator; +import java.util.List; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.fileupload.servlet.ServletFileUpload; + +import org.apache.tuscany.sca.host.webapp.HotUpdateContextListener; + +/** + * A Servlet to upload a contribution file. + */ +public class ContributionUploaderServlet extends HttpServlet { + + private static final long serialVersionUID = System.currentTimeMillis(); + + private File repository; + + @Override + public void init(ServletConfig config) throws ServletException { + ServletContext servletContext = config.getServletContext(); + repository = new File(servletContext.getRealPath(HotUpdateContextListener.REPOSITORY_FOLDER_NAME)); + } + + @Override + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + // Check that we have a file upload request + boolean isMultipart = ServletFileUpload.isMultipartContent(request); + if (!isMultipart) { + throw new RuntimeException("Need multipart content"); + } + + // Create a factory for disk-based file items + FileItemFactory factory = new DiskFileItemFactory(); + + // Create a new file upload handler + ServletFileUpload upload = new ServletFileUpload(factory); + + try { + // Parse the request + List /* FileItem */ items = upload.parseRequest(request); + // Process the uploaded items + Iterator iter = items.iterator(); + while (iter.hasNext()) { + FileItem item = (FileItem) iter.next(); + + if (!item.isFormField()) { + String fileName = item.getName(); + int index = fileName.lastIndexOf("\\") + 1; + String uploadedFileName = repository.getAbsolutePath() + "/" + fileName.substring(index); + File uploadedFile = new File(uploadedFileName); + item.write(uploadedFile); + } + } + } + catch(FileUploadException e) { + throw new RuntimeException(e); + } + catch(Throwable e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + + setResponse(response, request); + } + + private void setResponse(HttpServletResponse response, HttpServletRequest request) throws IOException { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + out.println(""); + out.println(""); + out.println("Apache Tuscany WebApp Runtime"); + out.println(""); + out.println(""); + out.println("

Composite file uploaded

"); + int port = request.getServerPort(); + String portSubStr = ((port == -1) ? "" : (":" + request.getServerPort())); + String backPath = request.getScheme() + "://" + request.getServerName() + portSubStr + request.getContextPath(); + out.println("Go back"); + out.println(""); + out.println(""); + } +} diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java new file mode 100644 index 0000000000..e46cadfa3d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java @@ -0,0 +1,304 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.webapp; + +import java.io.File; +import java.io.FilenameFilter; +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.servlet.ServletContext; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +import org.apache.tuscany.sca.domain.SCADomain; +import org.apache.tuscany.sca.node.NodeException; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; + +/** + * A ServletContextListener for the Tuscany WAR distribution. + * + * Starts and stops a Tuscany SCA domain Node for the webapp. + */ +public class WarContextListener implements ServletContextListener { + private final static Logger logger = Logger.getLogger(WarContextListener.class.getName()); + + protected SCANode node; + protected SCADomain domain; + protected AddableURLClassLoader classLoader; + protected File repository; + + protected boolean useHotUpdate; + protected long hotDeployInterval = 2000; // 2 seconds, 0 = no hot deploy + protected Thread hotDeployThread; + protected boolean stopHotDeployThread; + + protected HashMap existingContributions; // value is last modified time + + private String domainName; + private String nodeName; + + protected static final String NODE_ATTRIBUTE = WarContextListener.class.getName() + ".TuscanyNode"; + protected static final String REPOSITORY_FOLDER_NAME = "sca-contributions"; + + public void contextInitialized(ServletContextEvent event) { + ServletContext servletContext = event.getServletContext(); + initParameters(servletContext); + try { + + initNode(); + + } catch (Throwable e) { + e.printStackTrace(); + servletContext.log("exception initializing SCA node", e); + } + } + + public void contextDestroyed(ServletContextEvent event) { + if (node != null) { + stopNode(); + } + } + + protected void stopNode() { + try { + + node.stop(); + logger.log(Level.INFO, "SCA node stopped"); + + } catch (Throwable e) { + e.printStackTrace(); + logger.log(Level.SEVERE, "exception stopping SCA Node", e); + } + } + + protected void initNode() throws NodeException, URISyntaxException { + logger.log(Level.INFO, "SCA node starting"); + + classLoader = new AddableURLClassLoader(new URL[] {}, Thread.currentThread().getContextClassLoader()); + Thread.currentThread().setContextClassLoader(classLoader); + + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + node = nodeFactory.createSCANode(nodeName, domainName); + domain = node.getDomain(); + + existingContributions = new HashMap(); + URL[] contributions = getContributionJarURLs(repository); + for (URL contribution : contributions) { + addContribution(contribution); + } + + node.start(); + + initHotDeploy(repository); + } + + protected void addContribution(URL contribution) throws URISyntaxException, NodeException { + classLoader.addURL(contribution); + node.addContribution(contribution.toString(), contribution); + existingContributions.put(contribution, new Long(new File(contribution.toURI()).lastModified())); + logger.log(Level.INFO, "Added contribution: " + contribution); + } + + protected URL[] getContributionJarURLs(File repositoryDir) { + + String[] jarNames = repositoryDir.list(new FilenameFilter() { + public boolean accept(File dir, String name) { + return name.endsWith(".jar"); + }}); + + List contributionJars = new ArrayList(); + if (jarNames != null) { + for (String jar : jarNames) { + try { + contributionJars.add(new File(repositoryDir, jar).toURL()); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } + } + + return contributionJars.toArray(new URL[contributionJars.size()]); + } + + private void initHotDeploy(final File repository) { + + if (hotDeployInterval == 0) { + return; // hotUpdateInterval of 0 disables hotupdate + } + + Runnable runable = new Runnable() { + + public void run() { + logger.info("Contribution hot deploy activated"); + while (!stopHotDeployThread) { + try { + Thread.sleep(hotDeployInterval); + } catch (InterruptedException e) { + } + if (!stopHotDeployThread) { + checkForUpdates(repository); + } + } + logger.info("Tuscany contribution hot deploy stopped"); + } + }; + hotDeployThread = new Thread(runable, "TuscanyHotDeploy"); + stopHotDeployThread = false; + hotDeployThread.start(); + } + + protected void checkForUpdates(File repository) { + URL[] currentContributions = getContributionJarURLs(repository); + + List addedContributions = getAddedContributions(currentContributions); + for (URL contribution : addedContributions) { + try { + addContribution(contribution); + // node.startContribution(contribution.toString()); + } catch (Throwable e) { + e.printStackTrace(); + logger.log(Level.WARNING, "Exception adding contribution: " + e); + } + } + if (addedContributions.size() > 0) { + try { + node.start(); + } catch (NodeException e) { + e.printStackTrace(); + logger.log(Level.WARNING, "Exception restarting node for added contributions: " + e); + } + } + + if (useHotUpdate && areContributionsAltered(currentContributions)) { + stopNode(); + try { + initNode(); + } catch (Throwable e) { + e.printStackTrace(); + logger.log(Level.SEVERE, "exception starting SCA Node", e); + } + } + } + + protected List getAddedContributions(URL[] currentContrabutions) { + List urls = new ArrayList(); + for (URL url : currentContrabutions) { + if (!existingContributions.containsKey(url)) { + urls.add(url); + } + } + return urls; + } + + protected boolean areContributionsAltered(URL[] currentContrabutions) { + try { + + List removedContributions = getRemovedContributions(currentContrabutions); + List updatedContributions = getUpdatedContributions(currentContrabutions); + + return (removedContributions.size() > 0 || updatedContributions.size() > 0); + + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + } + + protected List getUpdatedContributions(URL[] currentContrabutions) throws URISyntaxException { + List urls = new ArrayList(); + for (URL url : currentContrabutions) { + if (existingContributions.containsKey(url)) { + File curentFile = new File(url.toURI()); + if (curentFile.lastModified() != existingContributions.get(url)) { + urls.add(url); + logger.info("updated contribution: " + curentFile.getName()); + } + } + } + return urls; + } + + protected List getRemovedContributions(URL[] currentContrabutions) throws URISyntaxException { + List currentUrls = Arrays.asList(currentContrabutions); + List urls = new ArrayList(); + for (URL url : existingContributions.keySet()) { + if (!currentUrls.contains(url)) { + urls.add(url); + } + } + for (URL url : urls) { + logger.info("removed contributions: " + new File(url.toURI()).getName()); + } + return urls; + } + + protected void initParameters(ServletContext servletContext) { + if (servletContext.getInitParameter("domainName") != null) { + domainName = servletContext.getInitParameter("domainName"); + } else { + domainName = null; + } + + if (servletContext.getInitParameter("nodeName") != null) { + nodeName = servletContext.getInitParameter("nodeName"); + } else { + nodeName = "DefaultNode"; + } + + if (servletContext.getInitParameter("hotDeployInterval") != null) { + hotDeployInterval = Long.parseLong(servletContext.getInitParameter("hotDeployInterval")); + } + + useHotUpdate = Boolean.valueOf(servletContext.getInitParameter("hotUpdate")).booleanValue(); + + if (servletContext.getInitParameter("repositoryFolder") != null) { + repository = new File(servletContext.getInitParameter("repositoryFolder")); + } else { + repository = new File(servletContext.getRealPath(REPOSITORY_FOLDER_NAME)); + } + logger.info("Tuscany Contribution Repository -> " + repository); + } + +} + +class AddableURLClassLoader extends URLClassLoader { + + public AddableURLClassLoader(URL[] urls, ClassLoader parent) { + super(urls, parent); + } + + /** + * Make URLClassLoader addURL public + */ + @Override + public void addURL(URL url) { + super.addURL(url); + } + +} diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..8e65a9b96d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,66 @@ + + + + + + + Apache Tuscany WebApp Runtime + + + org.apache.tuscany.sca.webapp.WarContextListener + + + + repositoryFolder + /TuscanyRepository + + + + + + nodeName + http://localhost:8080/ + + + + hotDeployInterval + 2000 + + + + hotUpdate + no + + + + tuscany + org.apache.tuscany.sca.host.webapp.TuscanyServletFilter + + + + tuscany + /* + + + diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp new file mode 100644 index 0000000000..4efe4b5db3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp @@ -0,0 +1 @@ +File just to get the sca-contributions folder included in webapp \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar new file mode 100644 index 0000000000..0df7ab8d74 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar differ diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar new file mode 100644 index 0000000000..acf47451b3 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar differ diff --git a/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/scaDomainInfo.jsp b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/scaDomainInfo.jsp new file mode 100644 index 0000000000..c92c164cfb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/distribution/webapp/src/main/webapp/scaDomainInfo.jsp @@ -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. +--%> + +<%@ page import="org.apache.tuscany.sca.host.embedded.SCADomain"%> +<%@ page import="org.apache.tuscany.sca.host.embedded.management.ComponentManager"%> +<%@ page import="org.apache.tuscany.sca.assembly.ComponentService"%> +<%@ page import="org.apache.tuscany.sca.assembly.Binding"%> + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<% + SCADomain scaDomain = (SCADomain) application.getAttribute("org.apache.tuscany.sca.SCADomain"); + ComponentManager componentManager = scaDomain.getComponentManager(); +%> + +Apache Tuscany WebApp Runtime + + +Apache Tuscany WebApp Runtime +
+Components in SCA Domain: + <% + java.util.Iterator i = componentManager.getComponentNames().iterator(); + while (i.hasNext()) { + String compName = i.next().toString(); + + %>
<%=compName%>
<% + + org.apache.tuscany.sca.assembly.Component comp = componentManager.getComponent(compName); + java.util.Iterator j = comp.getServices().iterator(); + while (j.hasNext()) { + ComponentService compService = (ComponentService)j.next(); + + %><%=" - Service: " + compService.getName()%>
<% + + java.util.Iterator k = compService.getBindings().iterator(); + while (k.hasNext()) { + Binding b = (Binding)k.next(); + String bindingType = b.getClass().getName(); + + %><%="-- Binding: " + b.getName() + "(" + bindingType.substring(bindingType.lastIndexOf('.')+1) + ") URI: " + b.getURI()%>
<% + } + } + } + %> +
+ +
+You can fill in a composite file to upload + +
+Composite file to upload:
+
+ to upload the composite file +
+ + + + diff --git a/sandbox/sebastien/java/sca-node/itest/admin/README b/sandbox/sebastien/java/sca-node/itest/admin/README new file mode 100644 index 0000000000..c4e96d7af0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/README @@ -0,0 +1,28 @@ +This is a simple test compiled to test simple features of SCA + +There are interfaces to different services that have been included + +1. MyListService +2. MyListServiceByYear +3. MyService +4. MyServiceByDate +5. MyTotalservice + +The service that has been used in the tests primarily is MyService/MyTotalService. +in the test cases. + +There are three test cases and three composites (MySimppleService,Iteration1,Iteration3). + +1. MySimpleServiceTestCase - Checks if the components in MySimpleService.composite are initialized properly. + It tries to call simple functions implemented in MySimpleServiceImpl. + +2. MyTotalServiceTestCase - Initializes the components in the Iteration3Composite.composite file. + tries to call simple functions implemented in MyTotalServiceImpl. + +3. MySimpleServiceInRecursiveTestCase - Initializes the components in the Iteration1Composite.composite file. + It initializes its components using implementation:composite tag in the + composite file which points to MySimpleService.composite. + The test case recursively calls functions initialized in MySimpleService.composite. + + + diff --git a/sandbox/sebastien/java/sca-node/itest/admin/pom.xml b/sandbox/sebastien/java/sca-node/itest/admin/pom.xml new file mode 100644 index 0000000000..6b6c4bb16b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/pom.xml @@ -0,0 +1,60 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + tuscany-itest-admin + Apache Tuscany Admin Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-core-databinding + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-databinding-sdo + 2.0-incubating-SNAPSHOT + compile + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java new file mode 100644 index 0000000000..b3d2137767 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListService.java @@ -0,0 +1,9 @@ +package org.apache.tuscany.sca.itest.admin; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface MyListService { + String[] getHolidays(); + String getYear(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java new file mode 100644 index 0000000000..025302fb6d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceByYear.java @@ -0,0 +1,8 @@ +package org.apache.tuscany.sca.itest.admin; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface MyListServiceByYear { + String[] getHolidays(int year); +} diff --git a/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java new file mode 100644 index 0000000000..de480e6d85 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/src/main/java/org/apache/tuscany/sca/itest/admin/MyListServiceImpl.java @@ -0,0 +1,69 @@ +package org.apache.tuscany.sca.itest.admin; + + +import java.util.List; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import org.apache.tuscany.sca.itest.admin.MyListService; +import org.apache.tuscany.sca.itest.admin.MyListServiceByYear; + +@Service(interfaces={MyListService.class,MyListServiceByYear.class}) + +public class MyListServiceImpl implements MyListService,MyListServiceByYear +{ + + // This is multiplicity=1:n + @Reference(name="myListServiceList",required=true) + public List myListServicesList; + + // This is multiplicity=0:n + @Reference(name="myListServiceArray",required=false) + public MyListService[] myListServicesArray; + + @Property(name="serviceYear") + protected String year = "2006"; + + public String[] getHolidays() + { + return getHolidays(new Integer(year).intValue()); + } + + public String[] getHolidays(int year) + { + MyListService myService; + if (myListServicesList!=null) + { + for (int i=0; i=0 && index + + + + Raleigh + 2008 + + Durham + 2009 + + + + + + + + Durham + 2009 + + + diff --git a/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/Iteration3Composite.composite b/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/Iteration3Composite.composite new file mode 100644 index 0000000000..dd06d030d6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/Iteration3Composite.composite @@ -0,0 +1,68 @@ + + + + + Raleigh + 2008 + + + + + + + + CARY + 2007 + + + + + + + + + + + + + + + + + + + + + Durham + 2009 + + + + + + + + Durham + 2009 + + diff --git a/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/MySimpleService.composite b/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/MySimpleService.composite new file mode 100644 index 0000000000..a1f8abb8da --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/admin/src/test/resources/MySimpleService.composite @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + Raleigh + 2008 + + + + + + + + CARY + 2007 + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/pom.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/pom.xml new file mode 100644 index 0000000000..fd46cab75f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/pom.xml @@ -0,0 +1,210 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-bpel + 2.0-incubating-SNAPSHOT + ../../pom.xml + + itest-bpel-helloworld-reference + Apache Tuscany SCA HelloWorld Reference BPEL iTest + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-bpel-ode + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1 + zip + + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + xerces + xercesImpl + 2.8.0 + + + + junit + junit + 4.2 + test + + + + + ${artifactId} + + + org.apache.maven.plugins + maven-surefire-plugin + + 2.3.1 + + false + false + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack + generate-sources + + unpack + + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1 + zip + true + ${project.build.directory}/test-classes/ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsService.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsService.java new file mode 100644 index 0000000000..532b84bd22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsService.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 greetings; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface GreetingsService { + + public String getGreetings(String name); +} + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsServiceImpl.java new file mode 100644 index 0000000000..86d7f245e8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsServiceImpl.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 greetings; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(GreetingsService.class) +public class GreetingsServiceImpl implements GreetingsService { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsTestCase.java new file mode 100644 index 0000000000..8dea2715bf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/greetings/GreetingsTestCase.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 greetings; + +import java.io.IOException; +import java.net.Socket; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the Greetings service + * + * @version $Rev$ $Date$ + */ +public class GreetingsTestCase extends TestCase { + + private SCADomain scaDomain; + GreetingsService greetingsService = null; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("greetings/greetings.composite"); + greetingsService = scaDomain.getService(GreetingsService.class, "GreetingsServiceComponent"); + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testInvoke() { + String response = greetingsService.getGreetings("Luciano"); + assertEquals("Hello Luciano", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..672dbdc0b5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldService.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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for the helloworld service + */ +@Remotable +public interface HelloWorldService { + public String hello(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldServiceImpl.java new file mode 100644 index 0000000000..d7ebd5cbb8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldServiceImpl.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 helloworld; + +import greetings.GreetingsService; + +import org.osoa.sca.annotations.Reference; + +/** + * The HelloWorld service implementation + */ +public class HelloWorldServiceImpl implements HelloWorldService { + + protected GreetingsService greetingsService; + + public GreetingsService getGreetingsService() { + System.out.println("Got Injected greetingsService"); + return greetingsService; + } + + @Reference + public void setGreetingsService(GreetingsService greetingsService) { + System.out.println("Injected greetingsService"); + this.greetingsService = greetingsService; + } + + public String hello(String name) { + System.out.println("Calling greeting services getGreetings"); + return greetingsService.getGreetings(name); + } +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldTestCase.java new file mode 100644 index 0000000000..bdfedee2f8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/java/helloworld/HelloWorldTestCase.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 helloworld; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL Helloworld Service + * + * @version $Rev$ $Date$ + */ +public class HelloWorldTestCase extends TestCase { + private SCADomain scaDomain; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("helloworld/helloworld.composite"); + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testServiceInvocation() { + HelloWorldService bpelService = scaDomain.getService(HelloWorldService.class, "HelloWorldService"); + String response = bpelService.hello("Luciano"); + assertEquals("Hello Luciano", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.composite b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.composite new file mode 100644 index 0000000000..dfec43e8e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.wsdl new file mode 100644 index 0000000000..e768707ccd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/greetings/greetings.wsdl @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/deploy.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/deploy.xml new file mode 100644 index 0000000000..25d676bcfc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/deploy.xml @@ -0,0 +1,35 @@ + + + + + + true + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.bpel b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.bpel new file mode 100644 index 0000000000..5ec2cc9f2e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.bpel @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + $helloMessage.TestPart + $greetingsRequest.parameters + + + + + + + + $greetingsResponse.parameters/greetings:getGreetingsReturn + $helloResponse.TestPart + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.componentType new file mode 100644 index 0000000000..13d12e32a0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.componentType @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.composite b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.composite new file mode 100644 index 0000000000..504e2ccc5d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.composite @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.wsdl new file mode 100644 index 0000000000..0f51b96b27 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/helloworld/helloworld.wsdl @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/log4j.properties b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/log4j.properties new file mode 100644 index 0000000000..4e13380e0b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-reference/src/test/resources/log4j.properties @@ -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. +# + +# Set root logger level to WARN and its only appender to CONSOLE +log4j.rootLogger=OFF, CONSOLE + +# log4j properties to work with commandline tools. +log4j.category.org.mortbay=OFF +log4j.category.org.hibernate.type=OFF +log4j.category.org.objectweb=OFF +log4j.category.org.apache.ode.axis2=OFF +log4j.category.org.apache.ode.bpel.engine=OFF +log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF +log4j.category.org.apache.ode.bpel.epr=OFF +log4j.category.org.apache.tuscany.sca.implementation.bpel=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.ode=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.provider=DEBUG + +# Console appender +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=[%p] - %C{1}.%M(%L) | %m%n diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/pom.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/pom.xml new file mode 100644 index 0000000000..5cc01ae8de --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/pom.xml @@ -0,0 +1,176 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-bpel + 2.0-incubating-SNAPSHOT + ../../pom.xml + + itest-bpel-helloworld-ws + Apache Tuscany SCA HelloWorld BPEL iTest + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-bpel-ode + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + xerces + xercesImpl + 2.8.1 + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + ${artifactId} + + + org.apache.maven.plugins + maven-surefire-plugin + + 2.3.1 + + false + false + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack + test-compile + + unpack + + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1 + zip + true + ${project.build.directory}/test-classes/ + + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-plugin + 1.1-incubating + + + generate-bpel-helloworld + generate-sources + + ${basedir}/src/test/resources/helloworld/helloworld.wsdl + ${basedir}/target/wsdl2java-source + HelloWorld + true + true + true + + + generate + + + + + + org.apache.tuscany.sca + tuscany-maven-wsdl2java + 2.0-incubating-SNAPSHOT + + + + + + ${basedir}/src/test/resources/helloworld/helloworld.wsdl + + + + + generate + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorld.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorld.java new file mode 100644 index 0000000000..ffdbc50a22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorld.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 helloworld; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.osoa.sca.annotations.Reference; + +/** + * @version $Rev$ $Date$ + */ +public class HelloWorld { + private HelloPortType helloService; + + public HelloWorld() { + super(); + } + + @Reference + public void setHelloService(HelloPortType helloService){ + this.helloService = helloService; + } + + public String hello(String hello) throws java.rmi.RemoteException { + System.out.println(">>> Invoking helloService.hello with : " + hello); + return this.helloService.hello(hello); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorldTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorldTestCase.java new file mode 100644 index 0000000000..6971151a77 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/java/helloworld/HelloWorldTestCase.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 helloworld; + +import java.io.IOException; +import java.net.Socket; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL Helloworld Service + * + * @version $Rev$ $Date$ + */ +public class HelloWorldTestCase extends TestCase { + + private SCADomain scaDomain; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("helloworld/helloworld.composite"); + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testPing() throws IOException { + new Socket("127.0.0.1", 8085); + } + + public void testServiceInvocation() throws Exception { + HelloPortType bpelService = scaDomain.getService(HelloPortType.class, "BPELHelloWorldServiceComponent"); + String response = bpelService.hello("Hello"); + assertEquals("Hello World", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/deploy.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/deploy.xml new file mode 100644 index 0000000000..9bd95b2c58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/deploy.xml @@ -0,0 +1,31 @@ + + + + + + true + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.bpel b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.bpel new file mode 100644 index 0000000000..8cf91adc2c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.bpel @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + concat($tmpVar,' World') + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.componentType new file mode 100644 index 0000000000..2b360111cb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.composite b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.composite new file mode 100644 index 0000000000..f864f45613 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.wsdl new file mode 100644 index 0000000000..610bda3cc4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/helloworld/helloworld.wsdl @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/log4j.properties b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/log4j.properties new file mode 100644 index 0000000000..37f66e4189 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld-ws/src/test/resources/log4j.properties @@ -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. +# + +# Set root logger level to WARN and its only appender to CONSOLE +log4j.rootLogger=OFF, CONSOLE + +# log4j properties to work with commandline tools. +log4j.category.org.mortbay=OFF +log4j.category.org.hibernate.type=OFF +log4j.category.org.objectweb=OFF +log4j.category.org.apache.ode.axis2=OFF +log4j.category.org.apache.ode.bpel.engine=OFF +log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF +log4j.category.org.apache.ode.bpel.epr=OFF +log4j.category.org.apache.tuscany.sca.implementation.bpel=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.ode=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.provider=DEBUG + +# Console appender +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=[%p] - %C{1}.%M(%L) | %m%n diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/pom.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/pom.xml new file mode 100644 index 0000000000..31d36a4ce9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/pom.xml @@ -0,0 +1,162 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-bpel + 2.0-incubating-SNAPSHOT + ../../pom.xml + + itest-bpel-helloworld + Apache Tuscany SCA HelloWorld BPEL iTest + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-bpel-ode + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + xerces + xercesImpl + 2.8.1 + + + + junit + junit + 4.2 + test + + + + + ${artifactId} + + + org.apache.maven.plugins + maven-surefire-plugin + + 2.3.1 + + false + false + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack + test-compile + + unpack + + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1 + zip + true + ${project.build.directory}/test-classes/ + + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-plugin + 1.1-incubating + + + generate-bpel-helloworld + generate-sources + + ${basedir}/src/test/resources/helloworld/helloworld.wsdl + ${basedir}/target/wsdl2java-source + HelloWorld + true + true + true + + + generate + + + + + + org.apache.tuscany.sca + tuscany-maven-wsdl2java + 2.0-incubating-SNAPSHOT + + + + + + ${basedir}/src/test/resources/helloworld/helloworld.wsdl + + + + + generate + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorld.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorld.java new file mode 100644 index 0000000000..ffdbc50a22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorld.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 helloworld; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.osoa.sca.annotations.Reference; + +/** + * @version $Rev$ $Date$ + */ +public class HelloWorld { + private HelloPortType helloService; + + public HelloWorld() { + super(); + } + + @Reference + public void setHelloService(HelloPortType helloService){ + this.helloService = helloService; + } + + public String hello(String hello) throws java.rmi.RemoteException { + System.out.println(">>> Invoking helloService.hello with : " + hello); + return this.helloService.hello(hello); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorldTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorldTestCase.java new file mode 100644 index 0000000000..76fcd35c2d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/java/helloworld/HelloWorldTestCase.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 helloworld; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL Helloworld Service + * + * @version $Rev$ $Date$ + */ +public class HelloWorldTestCase extends TestCase { + + private SCADomain scaDomain; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("helloworld/helloworld.composite"); + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testServiceInvocation() throws Exception { + HelloPortType bpelService = scaDomain.getService(HelloPortType.class, "BPELHelloWorldService"); + String response = bpelService.hello("Hello"); + assertEquals("Hello World", response); + } + + public void testReferenceInvocation() throws Exception { + HelloWorld bpelService = scaDomain.getService(HelloWorld.class, "BPELHelloWorld"); + String response = bpelService.hello("Hello"); + assertEquals("Hello World", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/deploy.xml b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/deploy.xml new file mode 100644 index 0000000000..9bd95b2c58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/deploy.xml @@ -0,0 +1,31 @@ + + + + + + true + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.bpel b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.bpel new file mode 100644 index 0000000000..8cf91adc2c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.bpel @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + concat($tmpVar,' World') + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.componentType new file mode 100644 index 0000000000..2b360111cb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.composite b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.composite new file mode 100644 index 0000000000..f6b12fb14b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.composite @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.wsdl new file mode 100644 index 0000000000..610bda3cc4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/helloworld/helloworld.wsdl @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/log4j.properties b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/log4j.properties new file mode 100644 index 0000000000..37f66e4189 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/helloworld/src/test/resources/log4j.properties @@ -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. +# + +# Set root logger level to WARN and its only appender to CONSOLE +log4j.rootLogger=OFF, CONSOLE + +# log4j properties to work with commandline tools. +log4j.category.org.mortbay=OFF +log4j.category.org.hibernate.type=OFF +log4j.category.org.objectweb=OFF +log4j.category.org.apache.ode.axis2=OFF +log4j.category.org.apache.ode.bpel.engine=OFF +log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF +log4j.category.org.apache.ode.bpel.epr=OFF +log4j.category.org.apache.tuscany.sca.implementation.bpel=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.ode=DEBUG +log4j.category.org.apache.tuscany.sca.implementation.bpel.provider=DEBUG + +# Console appender +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=[%p] - %C{1}.%M(%L) | %m%n diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/pom.xml b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/pom.xml new file mode 100644 index 0000000000..901c6fa92e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/pom.xml @@ -0,0 +1,195 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-bpel + 2.0-incubating-SNAPSHOT + ../../pom.xml + + itest-bpel-ping-pong + Apache Tuscany SCA HelloWorld Reference BPEL iTest + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-bpel-ode + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sdo + tuscany-sdo-impl + 1.1-incubating + + + + xerces + xercesImpl + 2.8.0 + + + + junit + junit + 4.2 + test + + + + + ${artifactId} + + + org.apache.maven.plugins + maven-surefire-plugin + + 2.3.1 + + false + false + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack + test-compile + + unpack + + + + + org.apache.ode + ode-dao-jpa-ojpa-derby + 1.1 + zip + true + ${project.build.directory}/test-classes/ + + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-plugin + 1.1-incubating + + + generate-bpel-ping + generate-sources + + ${basedir}/src/test/resources/ping/ping.wsdl + ${basedir}/target/wsdl2java-source + Ping + true + true + true + + + generate + + + + + generate-bpel-pong + generate-sources + + ${basedir}/src/test/resources/pong/pong.wsdl + ${basedir}/target/wsdl2java-source + Pong + true + true + true + + + generate + + + + + + + org.apache.tuscany.sca + tuscany-maven-wsdl2java + 2.0-incubating-SNAPSHOT + + + + + + ${basedir}/src/test/resources/ping/ping.wsdl + + + ${basedir}/src/test/resources/pong/pong.wsdl + + + + + generate + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingPongTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingPongTestCase.java new file mode 100644 index 0000000000..1ab2ba3d5d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingPongTestCase.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.implementation.bpel; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.ping.PingPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL service + * + * @version $Rev$ $Date$ + */ +public class BPELPingPongTestCase extends TestCase { + + private SCADomain scaDomain; + PingPortType bpelPing = null; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + //scaDomain = SCADomain.newInstance("ping-pong/ping-pong.composite"); + //bpelPing = scaDomain.getService(PingPortType.class, "BPELPingPong-PingComponent/PingService"); + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + //scaDomain.close(); + } + + public void testPing() { + //String response = bpelPing.Ping("Ping"); + //System.out.println("response:" + response); + //assertNotNull(response); + // assertEquals("Hello World", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingTestCase.java new file mode 100644 index 0000000000..34f82318a3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPingTestCase.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.implementation.bpel; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.ping.PingPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL service + * + * @version $Rev$ $Date$ + */ +public class BPELPingTestCase extends TestCase { + + private SCADomain scaDomain; + PingPortType bpelService = null; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + //scaDomain = SCADomain.newInstance("ping/ping.composite"); + //bpelService = scaDomain.getService(PingPortType.class, "BPELPingComponent"); + + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + //scaDomain.close(); + } + + public void testInvoke() { + /* + String response = bpelService.Ping("Ping"); + System.out.println("response:" + response); + assertNotNull(response); + */ + // assertEquals("Hello World", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPongTestCase.java b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPongTestCase.java new file mode 100644 index 0000000000..313bd66850 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/java/pingpong/BPELPongTestCase.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.implementation.bpel; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.pong.PongPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL service + * + * @version $Rev$ $Date$ + */ +public class BPELPongTestCase extends TestCase { + + private SCADomain scaDomain; + PongPortType bpelService = null; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("pong/pong.composite"); + bpelService = scaDomain.getService(PongPortType.class, "BPELPongComponent"); + + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testInvoke() { + String response = bpelService.Pong("Pong"); + System.out.println("response:" + response); + assertNotNull(response); + + // assertEquals("Hello World", response); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/log4j.properties b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/log4j.properties new file mode 100644 index 0000000000..01bf8d8bf5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/log4j.properties @@ -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. +# + +# Set root logger level to WARN and its only appender to CONSOLE +log4j.rootLogger=OFF, CONSOLE + +# log4j properties to work with commandline tools. +log4j.category.org.mortbay=OFF +log4j.category.org.hibernate.type=OFF +log4j.category.org.objectweb=OFF +log4j.category.org.apache.ode.axis2=OFF +log4j.category.org.apache.ode.bpel.engine=OFF +log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF +log4j.category.org.apache.ode.bpel.epr=OFF + +# Console appender +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%p - %C{1}.%M(%L) | %m%n diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.componentType new file mode 100644 index 0000000000..e4cbdfe89c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.componentType @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.composite b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.composite new file mode 100644 index 0000000000..a0eb4d0b5b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping-pong/ping-pong.composite @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/deploy.xml b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/deploy.xml new file mode 100644 index 0000000000..613ed9c491 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/deploy.xml @@ -0,0 +1,35 @@ + + + + + + true + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.bpel b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.bpel new file mode 100644 index 0000000000..abda9e58d2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.bpel @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + concat($pingRequest.body/ping:text, ' ping') + + + + + + + + + + + + $pongRequest.body + + + + $text + $pongRequest.body/pong:text + + + + + + + + $pongResponse.body/pong:text + $text + + + + + + + + + + + $pingResponse.body + + + + $text + $pingResponse.body/ping:text + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.componentType new file mode 100644 index 0000000000..7598a99d16 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.componentType @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.composite b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.composite new file mode 100644 index 0000000000..75eed03022 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.composite @@ -0,0 +1,29 @@ + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.wsdl new file mode 100644 index 0000000000..03e54c4de8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/ping.wsdl @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/pong.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/pong.wsdl new file mode 100644 index 0000000000..1f4c4a9aaa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/ping/pong.wsdl @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/deploy.xml b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/deploy.xml new file mode 100644 index 0000000000..1315ef47f0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/deploy.xml @@ -0,0 +1,31 @@ + + + + + + true + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.bpel b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.bpel new file mode 100644 index 0000000000..b5d84898c7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.bpel @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + concat($pongRequest.body/pong:text, ' pong') + $text + + + + + + + + + + + $pongResponse.body + + + + $text + $pongResponse.body/pong:text + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.componentType b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.componentType new file mode 100644 index 0000000000..2f8fd5d3de --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.componentType @@ -0,0 +1,29 @@ + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.composite b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.composite new file mode 100644 index 0000000000..e40ce7ee45 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.composite @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.wsdl b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.wsdl new file mode 100644 index 0000000000..21ee8b82f6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/ping-pong/test/resources/pong/pong.wsdl @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/bpel/pom.xml b/sandbox/sebastien/java/sca-node/itest/bpel/pom.xml new file mode 100644 index 0000000000..c3c52af660 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/bpel/pom.xml @@ -0,0 +1,37 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-bpel + pom + Apache Tuscany SCA BPEL Integration Tests + + + helloworld + helloworld-ws + helloworld-reference + + diff --git a/sandbox/sebastien/java/sca-node/itest/build-was-integration.xml b/sandbox/sebastien/java/sca-node/itest/build-was-integration.xml new file mode 100644 index 0000000000..03de4c050f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/build-was-integration.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + Installing war ${application.war} on ${application.server} using name ${application.name} and context root ${application.contextRoot} + + + + + Starting application ${application.name} on ${application.server} + + + + + + + Uninstalling ${application.name} + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/pom.xml b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/pom.xml new file mode 100644 index 0000000000..5ae58d341b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/pom.xml @@ -0,0 +1,59 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callablereferences-ws + Apache Tuscany Test for Callable References over Web Services + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java new file mode 100644 index 0000000000..ecf1ac27e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.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 com.example; + +public interface ExampleClient { + + void runTest(); + + void sayHello(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java new file mode 100644 index 0000000000..c46087d865 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.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 com.example; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ExampleClient.class) +@Scope("COMPOSITE") +public class ExampleClientImpl implements ExampleClient { + + private ExampleService myService; + + @Context + protected ComponentContext context; + + @Reference + public void setMyService(ExampleService myService) { + this.myService = myService; + } + + public void runTest() { + ServiceReference ref = context.createSelfReference(ExampleClient.class); + ref.getService().sayHello("Jack"); + CallableReference result = myService.hello("Jill", ref); + if (result != null) { + ((CallableReference)result).getService().sayHello("John"); + } + result = myService.hello("Jane", null); + if (result != null) { + ((CallableReference)result).getService().sayHello("Jim"); + } + } + + public void sayHello(String name) { + System.out.println("Hello, client " + name + "!"); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java new file mode 100644 index 0000000000..670c145cc3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleService.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 com.example; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface ExampleService { + + CallableReference hello(String name, ServiceReference ref); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java new file mode 100644 index 0000000000..eb4d647a22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.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 com.example; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ServiceReference; + +public class ExampleServiceImpl implements ExampleService { + + public CallableReference hello(String name, ServiceReference ref) { + if (ref != null) { + ((ServiceReference)ref).getService().sayHello(name); + } + return (CallableReference)ref; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Alpha.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Alpha.java new file mode 100644 index 0000000000..bb5e57397d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Alpha.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.itest.callablerefwsreturn; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface Alpha { + boolean run(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/AlphaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/AlphaImpl.java new file mode 100644 index 0000000000..6e5f1cedf9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/AlphaImpl.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.callablerefwsreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.Conversation; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(Alpha.class) +@Scope("COMPOSITE") +public class AlphaImpl implements Alpha { + @Reference + public Beta beta; + + @Context + protected ComponentContext componentContext; + + Object conversationId0 = null; + + public boolean run() { + CallableReference gammaRef = null; + try { + Object conversationId1 = null; + Object conversationId2 = null; + + // it is expected that this call returns a reference to Gamma that + // reuses the established Conversation + gammaRef = beta.getRef(); + + // no Conversation exists + Conversation con = gammaRef.getConversation(); + if (con == null) { + System.out.println("Alpha1: Conversation to gamma is null"); + } else { + System.out + .println("Alpha1: Conversation to gamma exists. conversationId=" + + con.getConversationID()); + conversationId1 = con.getConversationID(); + } + + // this call should reuse a Conversation, but as none exists it + // creates a new conversation + gammaRef.getService().doSomething(); + gammaRef.getService().doSomething(); + gammaRef.getService().doSomething(); + + con = gammaRef.getConversation(); + if (con == null) { + System.out.println("Alpha2: Conversation to gamma is null"); + } else { + System.out + .println("Alpha2: Conversation to gamma exists. conversationId=" + + con.getConversationID()); + conversationId2 = con.getConversationID(); + } + + boolean testPassed = conversationId1.equals(conversationId2); + + if (conversationId0 == null){ + conversationId0 = conversationId1; + return testPassed; + } else { + return testPassed && (!conversationId0.equals(conversationId1)); + } + + } catch (Exception e) { + e.printStackTrace(); + return false; + } finally { + if (gammaRef != null) { + gammaRef.getService().stop(); + } + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Beta.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Beta.java new file mode 100644 index 0000000000..995e4fcf39 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Beta.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.itest.callablerefwsreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface Beta { + CallableReference getRef(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/BetaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/BetaImpl.java new file mode 100644 index 0000000000..be72fd779e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/BetaImpl.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.callablerefwsreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(Beta.class) +@Scope("COMPOSITE") +public class BetaImpl implements Beta { + @Context + protected ComponentContext componentContext; + + @Reference + public Gamma gamma; + + public CallableReference getRef() { + ServiceReference gammaRef = componentContext + .getServiceReference(Gamma.class, "gamma"); + Gamma g = gammaRef.getService(); + g.start(); + return gammaRef; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Gamma.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Gamma.java new file mode 100644 index 0000000000..b73f26b573 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/Gamma.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.itest.callablerefwsreturn; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@Conversational +public interface Gamma { + int start(); + + void doSomething(); + + @EndsConversation + void stop(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/GammaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/GammaImpl.java new file mode 100644 index 0000000000..c3abc4c65d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/java/org/apache/tuscany/sca/itest/callablerefwsreturn/GammaImpl.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.itest.callablerefwsreturn; + +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(Gamma.class) +@Scope("CONVERSATION") +public class GammaImpl implements Gamma { + @ConversationID + protected String conversationId; + + public GammaImpl() { + System.out.println("GammaImpl:GammaImpl(), conversationId=" + + conversationId); + } + + public int start() { + System.out.println("Gamma:start(), conversationId=" + conversationId); + return 1; + } + + public void doSomething() { + System.out.println("Gamma:doSomething(), conversationId=" + + conversationId); + } + + public void stop() { + System.out.println("Gamma:stop(), conversationId=" + conversationId); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/CallableReferenceWsReturnTest.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/CallableReferenceWsReturnTest.composite new file mode 100644 index 0000000000..3d782a0b84 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/CallableReferenceWsReturnTest.composite @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/example.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/example.composite new file mode 100644 index 0000000000..ea0819a32e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/main/resources/example.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java new file mode 100644 index 0000000000..310e31fb02 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.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 com.example; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +public class ExampleTestCase extends TestCase { + + private SCADomain scaDomain; + private ExampleClient client; + + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("example.composite"); + client = scaDomain.getService(ExampleClient.class, "ExampleClientComponent"); + } + + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void test() throws Exception { + client.runTest(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/org/apache/tuscany/sca/itest/callablerefws/CallableReferenceReturnTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/org/apache/tuscany/sca/itest/callablerefws/CallableReferenceReturnTestCase.java new file mode 100644 index 0000000000..66fb2ef96c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences-ws/src/test/java/org/apache/tuscany/sca/itest/callablerefws/CallableReferenceReturnTestCase.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.itest.callablerefws; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.callablerefwsreturn.Alpha; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +public class CallableReferenceReturnTestCase { + private static SCADomain domain; + private static Alpha alpha; + + @BeforeClass + public static void init() throws Exception { + domain = SCADomain.newInstance("CallableReferenceWsReturnTest.composite"); + alpha = domain.getService(Alpha.class, "Alpha"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } + + @Test + public void testCallableReferenceReturn() { + Assert.assertTrue(alpha.run()); + Assert.assertTrue(alpha.run()); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/pom.xml b/sandbox/sebastien/java/sca-node/itest/callablereferences/pom.xml new file mode 100644 index 0000000000..f30c7c19ca --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/pom.xml @@ -0,0 +1,74 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callablereferences + Apache Tuscany SCA Callable References Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-node2-impl + 2.0-incubating-SNAPSHOT + test + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + test + + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + test + + + + org.apache.tuscany.sca + tuscany-binding-sca-axis2 + 2.0-incubating-SNAPSHOT + test + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponent.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponent.java new file mode 100644 index 0000000000..d6b3807d31 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponent.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.itest.callableref; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface AComponent { + String foo(); + + String fooB(); + String fooB1(); + + String fooC(); + String fooC1(); + + String fooStringD(); + String fooD(); + + String fooBC(); + + DComponent getDReference(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponentImpl.java new file mode 100644 index 0000000000..09a0ceb629 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/AComponentImpl.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.itest.callableref; + +import java.io.ByteArrayOutputStream; +import java.io.ObjectOutputStream; + +import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary; +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(AComponent.class) +public class AComponentImpl implements AComponent { + + @Context + protected ComponentContext componentContext; + + @Reference(name = "bReference") + protected BComponent b; + + @Reference + protected CComponent cReference; + + @Reference + protected ServiceReference cServiceReference; + + @Reference(required=false) + protected DComponent dReference; + + protected DComponent dReference1; + + @Reference(name = "dReference1") + public void setDReference(DComponent dReference) { + this.dReference1 = dReference; + } + + public String foo() { + return "AComponent"; + } + + public String fooB() { + return b.foo(); + } + + public String fooB1() { + CallableReference bRef = componentContext.cast(b); + return bRef.getService().foo(); + } + + public String fooC() { + return cReference.foo(); + } + + public String fooC1() { + return cServiceReference.getService().foo(); + } + + public String fooBC() { + CallableReference cReference = componentContext.getServiceReference(CComponent.class, "cReference"); + return b.fooC(cReference); + } + + public String fooD() { + CallableReference aReference = componentContext.createSelfReference(AComponent.class); + return dReference1.foo(aReference); + } + + /** + * A test case to work out what needs to be done in a transformer to get the + * CallableReference across the wire. Left here for interest in case anyone + * is looking for how to get at the innards of CallableReferences + */ + public String fooStringD() { + CallableReference aReference = componentContext.createSelfReference(AComponent.class); + ByteArrayOutputStream bos = null; + + try { + bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(aReference); + } catch (Exception ex) { + System.out.println(ex.toString()); + return null; + } + + String aReferenceString = Base64Binary.encode(bos.toByteArray()); + return dReference1.fooString(aReferenceString); + } + + public DComponent getDReference() { + return dReference; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponent.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponent.java new file mode 100644 index 0000000000..ade672b0ab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponent.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.itest.callableref; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface BComponent { + + String foo(); + + String fooC(CallableReference cComponent); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponentImpl.java new file mode 100644 index 0000000000..518e77d3a8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/BComponentImpl.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.itest.callableref; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Service; + +@Service(BComponent.class) +public class BComponentImpl implements BComponent { + + public BComponentImpl() { + } + + public String foo() { + return "BComponent"; + } + + public String fooC(CallableReference cReference) { + return "B" + cReference.getService().foo(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponent.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponent.java new file mode 100644 index 0000000000..fdf80cc1c8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/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.itest.callableref; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CComponent { + + String foo(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponentImpl.java new file mode 100644 index 0000000000..cc8ec8f000 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/CComponentImpl.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.itest.callableref; + +import org.osoa.sca.annotations.Service; + +@Service(CComponent.class) +public class CComponentImpl implements CComponent { + + public String foo() { + return "CComponent"; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponent.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponent.java new file mode 100644 index 0000000000..48b697df31 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponent.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.itest.callableref; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface DComponent { + + String foo(CallableReference aReference); + + String fooString(String aReferenceString); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponentImpl.java new file mode 100644 index 0000000000..27ad48b9fe --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callableref/DComponentImpl.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.itest.callableref; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; + +import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary; +import org.osoa.sca.CallableReference; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; + +@Service(DComponent.class) +public class DComponentImpl implements DComponent { + + @Context + protected RequestContext requestContext; + + public String foo(CallableReference aReference) { + try { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(aReference); + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray())); + Object obj = ois.readObject(); + aReference = (CallableReference) obj; + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("Invoking service: " + requestContext.getServiceName()); + return "D" + aReference.getService().foo(); + } + + public String fooString(String aReferenceString) { + CallableReference aReference = null; + try { + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(Base64Binary.decode(aReferenceString))); + Object obj = ois.readObject(); + aReference = (CallableReference) obj; + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("Invoking service: " + requestContext.getServiceName()); + return "D" + aReference.getService().foo(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalService.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalService.java new file mode 100644 index 0000000000..abcedfa6e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalService.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.itest.callablerefconversational; + +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Conversational; + +/** + * Simple conversational Service that is used to testing the method + * ComponentContext.createSelfReference() + * + * @version $Date$ $Revision$ + */ +@Conversational +public interface ConversationalService { + /** + * Default value for the user data + */ + String DEFAULT_USER_DATA = "NOT SET"; + + /** + * Retrieves the conversation ID for this Service + * + * @return The conversation ID for this Service + */ + Object getConversationID(); + + /** + * Creates a self reference to this Service + * + * @return A self reference to this Service + */ + ServiceReference createSelfRef(); + + /** + * Sets some user data on the instance + * + * @param a_Data Some data + * + * @See {@link #getUserData()} + */ + void setUserData(String a_Data); + + /** + * Gets some user data on the instance + * + * @return Some data + * + * @See {@link #setUserData(String)} + */ + String getUserData(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalServiceImpl.java new file mode 100644 index 0000000000..f2e0ce7582 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefconversational/ConversationalServiceImpl.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.itest.callablerefconversational; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Simple conversational Service that is used to testing the method + * ComponentContext.createSelfReference() + * + * @version $Date$ $Revision$ + */ +@Service(ConversationalService.class) +@Scope("CONVERSATION") +public class ConversationalServiceImpl implements ConversationalService { + + /** + * The Conversation ID + */ + private Object m_ConversationID; + + /** + * Reference to the ComponentContext. + */ + @Context + protected ComponentContext m_Ctx; + + /** + * Some user data + */ + private String m_UserData = DEFAULT_USER_DATA; + + /** + * Constructor + */ + public ConversationalServiceImpl() { + System.out.println("New instance of " + this + " created"); + } + + /** + * Used to inject the Conversation ID + * + * @param a_ConversationID the Conversation ID + */ + @ConversationID + public void setConversationID(Object a_ConversationID) { + m_ConversationID = a_ConversationID; + System.out.println("Converstation ID set on " + this + " to " + a_ConversationID); + } + + /** + * Retrieves the conversation ID for this Service + * + * @return The conversation ID for this Service + */ + public Object getConversationID() { + return m_ConversationID; + } + + /** + * Creates a self reference to this Service + * + * @return A self reference to this Service + */ + public ServiceReference createSelfRef() { + return m_Ctx.createSelfReference(ConversationalService.class); + } + + /** + * Sets some user data on the instance + * + * @param a_Data Some data + * + * @See {@link #getUserData()} + */ + public void setUserData(String a_Data) { + m_UserData = a_Data; + } + + /** + * Gets some user data on the instance + * + * @return Some data + * + * @See {@link #setUserData(String)} + */ + public String getUserData() { + return m_UserData; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Alpha.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Alpha.java new file mode 100644 index 0000000000..ab21421c4d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Alpha.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.itest.callablerefreturn; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface Alpha +{ + boolean run(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/AlphaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/AlphaImpl.java new file mode 100644 index 0000000000..5b5984b164 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/AlphaImpl.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.itest.callablerefreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.Conversation; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; + +@Scope("COMPOSITE") +public class AlphaImpl implements Alpha { + @Reference + public Beta beta; + + @Context + protected ComponentContext componentContext; + + public boolean run() { + CallableReference gammaRef = null; + try { + Object conversationId1 = null; + Object conversationId2 = null; + + // it is expected that this call returns a reference to Gamma that + // reuses the established Conversation + gammaRef = beta.getRef(); + + // no Conversation exists + Conversation con = gammaRef.getConversation(); + if (con == null) { + System.out.println("Alpha: Conversation to gamma is null"); + } else { + System.out + .println("Alpha: Conversation to gamma exists. conversationId=" + + con.getConversationID()); + conversationId1 = con.getConversationID(); + } + + // this call should reuse a Conversation, but as none exists it + // creates a new conversation + gammaRef.getService().doSomething(); + con = gammaRef.getConversation(); + if (con == null) { + System.out.println("Alpha: Conversation to gamma is null"); + } else { + System.out + .println("Alpha: Conversation to gamma exists. conversationId=" + + con.getConversationID()); + conversationId2 = con.getConversationID(); + } + + if ((conversationId1 == null) || (conversationId2 == null)) { + return false; + } + + boolean testPassed = conversationId1.equals(conversationId2); + return testPassed; + } catch (Exception e) { + e.printStackTrace(); + return false; + } finally { + if (gammaRef != null) { + gammaRef.getService().stop(); + } + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Beta.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Beta.java new file mode 100644 index 0000000000..223c467f47 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Beta.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.itest.callablerefreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface Beta +{ + CallableReference getRef(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/BetaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/BetaImpl.java new file mode 100644 index 0000000000..ed4e66bec3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/BetaImpl.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.itest.callablerefreturn; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; + +@Scope("COMPOSITE") +public class BetaImpl implements Beta +{ + @Context + protected ComponentContext componentContext; + + @Reference + public Gamma gamma; + + public CallableReference getRef() + { + ServiceReference gammaRef = componentContext.getServiceReference(Gamma.class, "gamma"); + gammaRef.getService().start(); + return gammaRef; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Gamma.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Gamma.java new file mode 100644 index 0000000000..e32051373f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/Gamma.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.itest.callablerefreturn; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@Conversational +public interface Gamma +{ + void start(); + + void doSomething(); + + @EndsConversation + void stop(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/GammaImpl.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/GammaImpl.java new file mode 100644 index 0000000000..adf5a1c1ce --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/java/org/apache/tuscany/sca/itest/callablerefreturn/GammaImpl.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.itest.callablerefreturn; + +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; + +@Scope("CONVERSATION") +public class GammaImpl implements Gamma +{ + @ConversationID + protected String conversationId; + + + public void start() + { + System.out.println("Gamma:start(), conversationId=" + conversationId); + } + + + public void doSomething() + { + System.out.println("Gamma:doSomething(), conversationId=" + conversationId); + } + + + public void stop() + { + System.out.println("Gamma:stop(), conversationId=" + conversationId); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceConversationalTest.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceConversationalTest.composite new file mode 100644 index 0000000000..0bf8f7ef1e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceConversationalTest.composite @@ -0,0 +1,29 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceReturnTest.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceReturnTest.composite new file mode 100644 index 0000000000..5b3add1e61 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceReturnTest.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceTest.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceTest.composite new file mode 100644 index 0000000000..49b75f56e4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/CallableReferenceTest.composite @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/CompositeA.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/CompositeA.composite new file mode 100644 index 0000000000..9216f44191 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/CompositeA.composite @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..95021f72a4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeA/META-INF/sca-contribution.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/CompositeB.composite b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/CompositeB.composite new file mode 100644 index 0000000000..42d739564c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/CompositeB.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..2edda61601 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/main/resources/nodeB/META-INF/sca-contribution.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceConversationalTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceConversationalTestCase.java new file mode 100644 index 0000000000..a9cbb5d0a1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceConversationalTestCase.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.itest.callableref; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.callablerefconversational.ConversationalService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.osoa.sca.ServiceReference; + +/** + * Simple test case that creates a ServiceReference to a Conversational Component + * using ComponentContext.createSelfReference() + *

+ * This test case is for TUSCANY-2208 + * + * @version $Date$ $Revision$ + */ +public class CallableReferenceConversationalTestCase { + private static SCADomain domain; + private static ConversationalService acomponent; + + @BeforeClass + public static void init() throws Exception { + domain = SCADomain.newInstance("CallableReferenceConversationalTest.composite"); + Assert.assertNotNull(domain); + acomponent = domain.getService(ConversationalService.class, "ConversationalComponent"); + } + + @AfterClass + public static void destroy() throws Exception { + if (domain != null) { + domain.close(); + } + } + + /** + * This is a dummy test so that this Unit Test has a test so it will build. + * Once TUSCANY-2208 is fixed, this dummy test method can be removed + */ + @Test + public void dummyTestRemoveWhenTuscany2208IsFixed() { + } + + /** + * Tests creating Self References and validate them with Conversation IDs + */ + // Disabled until TUSCANY-2208 is fixed + // @Test + public void testCreateSelfRefUsingConvID() { + Assert.assertNotNull(acomponent); + + final Object origConvID = acomponent.getConversationID(); + Assert.assertNotNull(origConvID); + final ServiceReference ref = acomponent.createSelfRef(); + Assert.assertNotNull(ref); + + final ConversationalService resolvedRef = ref.getService(); + Assert.assertNotNull(resolvedRef); + final Object newConvID = resolvedRef.getConversationID(); + Assert.assertNotNull(newConvID); + + Assert.assertEquals(origConvID, newConvID); + } + + /** + * Tests creating Self References and validate them with user specified data + */ + // Disabled until TUSCANY-2208 is fixed + // @Test + public void testCreateSelfRefUsingUserData() { + Assert.assertNotNull(acomponent); + + final String origUserData = acomponent.getUserData(); + Assert.assertEquals(ConversationalService.DEFAULT_USER_DATA, origUserData); + + final String userData = "Some new user data set at " + System.currentTimeMillis(); + acomponent.setUserData(userData); + + final ServiceReference ref = acomponent.createSelfRef(); + Assert.assertNotNull(ref); + + final ConversationalService resolvedRef = ref.getService(); + Assert.assertNotNull(resolvedRef); + final String newUserData = resolvedRef.getUserData(); + Assert.assertNotNull(newUserData); + + Assert.assertEquals(userData, newUserData); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java new file mode 100644 index 0000000000..b1d1977334 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.callableref; + + +import static junit.framework.Assert.assertEquals; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + + +/** + * Runs a distributed domain in a single VM by using and in memory + * implementation of the distributed domain + */ +public class CallableReferenceRemoteTestCase { + + private static SCANode2 nodeA; + private static SCANode2 nodeB; + + private static AComponent acomponent; + + @BeforeClass + public static void init() throws Exception { + + try { + + System.out.println("Setting up nodes"); + + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + nodeA = nodeFactory.createSCANode(new File("src/main/resources/nodeA/CompositeA.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/nodeA").toURL().toString())); + + + nodeB = nodeFactory.createSCANode(new File("src/main/resources/nodeB/CompositeB.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/nodeB").toURL().toString())); + + + nodeA.start(); + nodeB.start(); + + acomponent = ((SCAClient)nodeA).getService(AComponent.class, "AComponent/AComponent"); + + } catch (Throwable ex) { + System.out.println(ex.toString()); + // Print detailed cause information. + ex.printStackTrace(); + StringBuffer sb = new StringBuffer(); + Throwable cause = ex.getCause(); + while ( cause != null ) { + sb.append( " " ); + System.out.println( sb.toString() + "Cause: " + cause ); + if (cause instanceof java.lang.reflect.InvocationTargetException) + System.out.println( sb.toString() + "Target Exception: " + ((java.lang.reflect.InvocationTargetException)cause).getTargetException() ); + cause = cause.getCause(); + } + } + } + + @AfterClass + public static void destroy() throws Exception { + // stop the nodes and hence the domains they contain + nodeA.stop(); + nodeB.stop(); + } + + //@Test + public void testKeepServerRunning1() throws Exception { + System.out.println("press enter to continue"); + System.in.read(); + } + + @Test + public void testBReference() { + assertEquals("BComponent", acomponent.fooB()); + } + + @Test + public void testBCast() { + assertEquals("BComponent", acomponent.fooB1()); + } + + @Test + public void testCReference() { + assertEquals("CComponent", acomponent.fooC()); + } + + @Test + public void testCServiceReference() { + assertEquals("CComponent", acomponent.fooC1()); + } + + @Test + public void testDReferenceString() { + assertEquals("DAComponent", acomponent.fooStringD()); + } + + @Test + public void testDReference() { + assertEquals("DAComponent", acomponent.fooD()); + } + + + @Test + public void testBCReference() { + assertEquals("BCComponent", acomponent.fooBC()); + } + + @Test + public void testRequiredFalseReference() { + try { + acomponent.getDReference().foo(null); + } catch (Exception e) { + Assert.assertTrue(true); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceReturnTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceReturnTestCase.java new file mode 100644 index 0000000000..f2d8fe5d64 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceReturnTestCase.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.itest.callableref; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.callablerefreturn.Alpha; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +public class CallableReferenceReturnTestCase { + private static SCADomain domain; + private static Alpha alpha; + + @BeforeClass + public static void init() throws Exception { + domain = SCADomain.newInstance("CallableReferenceReturnTest.composite"); + alpha = domain.getService(Alpha.class, "Alpha"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } + + @Test + public void testCallableReferenceReturn() { + Assert.assertTrue(alpha.run()); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceTestCase.java b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceTestCase.java new file mode 100644 index 0000000000..2b7750b443 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceTestCase.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.itest.callableref; + +import static junit.framework.Assert.assertEquals; +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class CallableReferenceTestCase { + private static SCADomain domain; + private static AComponent acomponent; + + @BeforeClass + public static void init() throws Exception { + domain = SCADomain.newInstance("CallableReferenceTest.composite"); + acomponent = domain.getService(AComponent.class, "AComponent"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } + + @Test + public void testBReference() { + assertEquals("BComponent", acomponent.fooB()); + } + + @Test + public void testBCast() { + assertEquals("BComponent", acomponent.fooB1()); + } + + @Test + public void testCReference() { + assertEquals("CComponent", acomponent.fooC()); + } + + @Test + public void testCServiceReference() { + assertEquals("CComponent", acomponent.fooC1()); + } + + @Test + public void testDReference() { + assertEquals("DAComponent", acomponent.fooD()); + } + + @Test + public void testBCReference() { + assertEquals("BCComponent", acomponent.fooBC()); + } + + @Test + public void testRequiredFalseReference() { + try { + acomponent.getDReference().foo(null); + } catch (Exception e) { + Assert.assertTrue(true); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-api/pom.xml new file mode 100644 index 0000000000..5b24fc9458 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/pom.xml @@ -0,0 +1,50 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-api + Apache Tuscany SCA Callback API Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + + ${basedir}/../build-was-integration.xml + ${basedir}/../wasAdmin.py + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiCallBack.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiCallBack.java new file mode 100644 index 0000000000..de17ba2f0d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiCallBack.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/** + * + */ +public interface CallBackApiCallBack { + /** + * This function is defined in CallBackApiClientImpl + */ + public void callBackMessage(String aString); + + /** + * This function is defined in CallBackApiClientImpl + */ + public void callBackIncrement(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClient.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClient.java new file mode 100644 index 0000000000..5fd4a71466 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackApiClient { + /** + * This function is defined in CallBackApiClientImpl + */ + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClientImpl.java new file mode 100644 index 0000000000..274984abb3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiClientImpl.java @@ -0,0 +1,206 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import junit.framework.Assert; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(CallBackApiClient.class) +public class CallBackApiClientImpl implements CallBackApiClient, CallBackApiCallBack { + + @Reference + protected CallBackApiService aCallBackService; + + private static String returnMessage = null; + private static int callBackCount = 0; + private static Object monitor = new Object(); + + /** + * This test calls function test 3a,3a1,3b,3c + */ + public void run() { + + // This tests basic callback patterns. + + // Test3a is the basic callback where the target calls back prior to + // returning to the client. + test3a(); + + test3a1(); + + // Test3b is where the target does not call back to the client. + test3b(); + + // Test3c is where the target calls back multiple times to the client. + test3c(); + + return; + } + + /** + * This test is the basic callback where the target calls back prior to returning to the client. + */ + + private void test3a() { + aCallBackService.knockKnock("Knock Knock"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackApiITest - test3a", "Who's There", this.getReturnMessage()); + + } + + /** + * This test is the basic callback where the target calls back prior to returning to the client. + */ + private void test3a1() { + aCallBackService.knockKnockByRef("Knock Knock"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackApiITest - test3a", "Who's There", this.getReturnMessage()); + + } + + /** + * This test is the basic callback where the target does not call back to the client + */ + private void test3b() { + aCallBackService.noCallBack("No Reply Desired"); + Assert.assertEquals("CallBackApiITest - test3b", 1, 1); + return; + } + + /** + * This test is the basic callback where the target calls back multiple times to the client + */ + + private void test3c() { + aCallBackService.multiCallBack("Call me back 3 times"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (this.getCallBackCount() < 3 && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackApiITest - test3c", 3, this.getCallBackCount()); + return; + } + + /** + * This function returns a string + * + * @param void + * @return String result string + */ + + public String getReturnMessage() { + return returnMessage; + } + + /** + * This function set the returnMessage string + * + * @param String + */ + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + /** + * This function returns the callBackCount variable + * + * @return Integer callBackCount variable + */ + public int getCallBackCount() { + return callBackCount; + } + + /** + * This function increments callBackCount variable by 1 + */ + public void incrementCallBackCount() { + callBackCount++; + } + + /** + * This function prints a message synched with setReturnMessage function + * + * @param String + */ + public void callBackMessage(String aString) { + System.out.println("Entering callback callBackMessage: " + aString); + synchronized (monitor) { + this.setReturnMessage(aString); + monitor.notify(); + } + } + + /** + * This function prints a message synched with incrementCallBackCount function + * + * @param String + */ + public void callBackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + synchronized (monitor) { + this.incrementCallBackCount(); + monitor.notify(); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiService.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiService.java new file mode 100644 index 0000000000..33de1e7739 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiService.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@Callback(CallBackApiCallBack.class) +/** + * + */ +public interface CallBackApiService { + /** + * This function is defined in CallBackApiServiceImpl + */ + public void knockKnock(String aString); + + /** + * This function is defined in CallBackApiServiceImpl + */ + public void knockKnockByRef(String aString); + + /** + * This function is defined in CallBackApiServiceImpl + */ + public void noCallBack(String aString); + + /** + * This function is defined in CallBackApiServiceImpl + */ + public void multiCallBack(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiServiceImpl.java new file mode 100644 index 0000000000..61e2c7ee8f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/java/org/apache/tuscany/sca/test/CallBackApiServiceImpl.java @@ -0,0 +1,123 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; + +@Service(CallBackApiService.class) +public class CallBackApiServiceImpl implements CallBackApiService { + + @Context + protected ComponentContext componentContext; + /** + * Object of CallBackApiCallBack class + */ + private CallBackApiCallBack callback; + + @Callback + protected CallableReference callbackRef; + + /** + * This function get an object of CallBackApiServiceImpl by calling getCallBackInterface function and calls the + * callBackMessage function. + * + * @param aString String passed by a function call + */ + + public void knockKnock(String aString) { + + System.out.println("CallBackApiServiceImpl message received: " + aString); + callback = this.getCallBackInterface(); + callback.callBackMessage("Who's There"); + System.out.println("CallBackApiServiceImpl response sent"); + return; + + } + + /** + * This function calls the callBackMessage function.
+ * The reference to this function is received from Call back reference to the class CallBackApiService. + * + * @param aString String passed by a function call + */ + public void knockKnockByRef(String aString) { + + System.out.println("CallBackApiServiceImpl message received: " + aString); + callbackRef.getService().callBackMessage("Who's There"); + System.out.println("CallBackApiServiceImpl response sent"); + return; + + } + + /** + * This function get an object of CallBackApiServiceImpl by calling getCallBackInterface function.
+ * This function then places multiple callBack using the callbackIncrement function defined in + * callBack.ApiServiceImpl + * + * @param aString String passed by a function call + */ + public void multiCallBack(String aString) { + + callback = this.getCallBackInterface(); + + System.out.println("CallBackApiServiceImpl message received: " + aString); + callback.callBackIncrement("Who's There 1"); + System.out.println("CallBackApiServiceImpl response sent"); + callback.callBackIncrement("Who's There 2"); + System.out.println("CallBackApiServiceImpl response sent"); + callback.callBackIncrement("Who's There 3"); + System.out.println("CallBackApiServiceImpl response sent"); + return; + + } + + /** + * This function does not callBack any function. + * + * @param aString String passed by a function call + */ + public void noCallBack(String aString) { + + System.out.println("CallBackApiServiceImpl message received: " + aString); + + return; + + } + + /** + * This function get an object of CallBackApiServiceImpl from the present componentContext + * + * @param void + */ + private CallBackApiCallBack getCallBackInterface() { + System.out.println("CallBackApiServiceImpl getting request context"); + RequestContext rc = componentContext.getRequestContext(); + System.out.println("CallBackApiServiceImpl getting callback from request context"); + callback = rc.getCallback(); + System.out.println("CallBackApiServiceImpl returning callback"); + return callback; + + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/CallBackApiTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/CallBackApiTest.composite new file mode 100644 index 0000000000..946c4862ee --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/CallBackApiTest.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..19eb25631e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callback-api/src/test/java/org/apache/tuscany/sca/test/CallBackApiTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-api/src/test/java/org/apache/tuscany/sca/test/CallBackApiTestCase.java new file mode 100644 index 0000000000..9471049c74 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-api/src/test/java/org/apache/tuscany/sca/test/CallBackApiTestCase.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +public class CallBackApiTestCase extends TestCase { + + private static SCADomain domain; + private CallBackApiClient aCallBackClient; + + /** + * This function uses the Instance of CallBackApiClient.class
+ * This function calls the run function defined in the CallBackApiClinet Interface
+ * which in turn executes the following test cases.
+ * 1. Basic callback patterns
+ * 2. Test in which the target does not call back to the client
+ * 3. Test in which the target calls back multiple times to the client. + */ + public void testCallBackBasic() { + aCallBackClient.run(); + } + + /** + * This function creates the SCADomain instance and gets an Instance of CallBackApiClient.class + */ + @Override + protected void setUp() throws Exception { + if (domain == null) { + domain = SCADomain.newInstance("CallBackApiTest.composite"); + } + + aCallBackClient = domain.getService(CallBackApiClient.class, "CallBackApiClient"); + } + + /** + * This function destroys the SCADomain instance that was created in setUp() + */ + @Override + protected void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-basic/pom.xml new file mode 100644 index 0000000000..2b7df3a96c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/pom.xml @@ -0,0 +1,50 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-basic + Apache Tuscany SCA Callback Basic Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + + ${basedir}/../build-was-integration.xml + ${basedir}/../wasAdmin.py + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicCallBack.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicCallBack.java new file mode 100644 index 0000000000..5e9d3d6821 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicCallBack.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/** + * + */ +public interface CallBackBasicCallBack { + + public void callBackMessage(String aString); + + public void callBackIncrement(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClient.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClient.java new file mode 100644 index 0000000000..9f4019f28c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackBasicClient { + + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClientImpl.java new file mode 100644 index 0000000000..e0e6d7eb8c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicClientImpl.java @@ -0,0 +1,135 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import junit.framework.Assert; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(CallBackBasicClient.class) +public class CallBackBasicClientImpl implements CallBackBasicClient, CallBackBasicCallBack { + + @Reference + protected CallBackBasicService aCallBackService; + private static String returnMessage = null; + private static int callBackCount = 0; + private static Object monitor = new Object(); + + public void run() { + + // This tests basic callback patterns. + + // Test1 is the basic callback where the target calls back prior to + // returning to the client. + test1a(); + + // Test2 is where the target does not call back to the client. + test1b(); + + // Test3 is where the target calls back multiple times to the client. + test1c(); + + return; + } + + private void test1a() { + aCallBackService.knockKnock("Knock Knock"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackBasicITest - test1a", "Who's There", this.getReturnMessage()); + + } + + private void test1b() { + aCallBackService.noCallBack("No Reply Desired"); + Assert.assertEquals("CallBackBasicITest - test1b", 1, 1); + + return; + } + + private void test1c() { + aCallBackService.multiCallBack("Call me back 3 times"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (this.getCallBackCount() < 3 && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackBasicITest - test1c", 3, this.getCallBackCount()); + return; + } + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public int getCallBackCount() { + return callBackCount; + } + + public void incrementCallBackCount() { + callBackCount++; + } + + public void callBackMessage(String aString) { + System.out.println("Entering callback callBackMessage: " + aString); + synchronized (monitor) { + this.setReturnMessage(aString); + monitor.notify(); + } + } + + public void callBackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + synchronized (monitor) { + this.incrementCallBackCount(); + monitor.notify(); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicService.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicService.java new file mode 100644 index 0000000000..bd41fa7037 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicService.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@Callback(CallBackBasicCallBack.class) +/** + * + */ +public interface CallBackBasicService { + + public void knockKnock(String aString); + + public void noCallBack(String aString); + + public void multiCallBack(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicServiceImpl.java new file mode 100644 index 0000000000..4ca2dc9af9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/java/org/apache/tuscany/sca/test/CallBackBasicServiceImpl.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Service; + +@Service(CallBackBasicService.class) +public class CallBackBasicServiceImpl implements CallBackBasicService { + + @Callback + protected CallBackBasicCallBack callback; + + public void knockKnock(String aString) { + + System.out.println("CallBackBasicServiceImpl message received: " + aString); + callback.callBackMessage("Who's There"); + System.out.println("CallBackBasicServiceImpl response sent"); + return; + + } + + public void multiCallBack(String aString) { + + System.out.println("CallBackBasicServiceImpl message received: " + aString); + callback.callBackIncrement("Who's There 1"); + System.out.println("CallBackBasicServiceImpl response sent"); + callback.callBackIncrement("Who's There 2"); + System.out.println("CallBackBasicServiceImpl response sent"); + callback.callBackIncrement("Who's There 3"); + System.out.println("CallBackBasicServiceImpl response sent"); + return; + + } + + public void noCallBack(String aString) { + + System.out.println("CallBackBasicServiceImpl message received: " + aString); + // System.out.println("CallBackBasicServiceImpl No response desired"); + return; + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/CallBackBasicTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/CallBackBasicTest.composite new file mode 100644 index 0000000000..c506956088 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/CallBackBasicTest.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..adf28214f6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callback-basic/src/test/java/org/apache/tuscany/sca/test/CallBackBasicTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/test/java/org/apache/tuscany/sca/test/CallBackBasicTestCase.java new file mode 100644 index 0000000000..32c26a348a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-basic/src/test/java/org/apache/tuscany/sca/test/CallBackBasicTestCase.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +public class CallBackBasicTestCase extends TestCase { + + private static SCADomain domain; + private CallBackBasicClient aCallBackClient; + + public void testCallBackBasic() { + aCallBackClient.run(); + } + + @Override + protected void setUp() throws Exception { + if( domain==null ) { + domain = SCADomain.newInstance("CallBackBasicTest.composite"); + } + + aCallBackClient = domain.getService(CallBackBasicClient.class, "CallBackBasicClient"); + } + + @Override + protected void tearDown() throws Exception { + domain.close(); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/pom.xml new file mode 100644 index 0000000000..e5576d9ba6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-complex-type + Apache Tuscany SCA Callback Complex Type Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeCallBack.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeCallBack.java new file mode 100644 index 0000000000..9fddb850ba --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeCallBack.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/** + * + */ +public interface CallBackCTypeCallBack { + + public void callBackMessage(String aString); + + public void callBackIncrement(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClient.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClient.java new file mode 100644 index 0000000000..739983c277 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackCTypeClient { + + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClientImpl.java new file mode 100644 index 0000000000..d2b03fcde7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeClientImpl.java @@ -0,0 +1,142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import junit.framework.Assert; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(CallBackCTypeClient.class) +public class CallBackCTypeClientImpl implements CallBackCTypeClient, CallBackCTypeCallBack { + + @Reference + protected CallBackCTypeService aCallBackService; + private static String returnMessage = null; + private static int callBackCount = 0; + private static Object monitor = new Object(); + + public CallBackCTypeClientImpl() { + } + + public void run() { + + // This test is the same as the Basic Callback except it uses a + // componentType side file. + // This test currently fails because the integration test environment + // does not properly copy + // the componentType files to the target folder. This is documented in + // Tuscany-967. + + // Test12a is the basic callback where the target calls back prior to + // returning to the client. + test12a(); + + // Test12b is where the target does not call back to the client. + test12b(); + + // Test12c is where the target calls back multiple times to the client. + test12c(); + + return; + } + + private void test12a() { + aCallBackService.knockKnock("Knock Knock"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackBasicITest - test12a -", "Who's There", this.getReturnMessage()); + + } + + private void test12b() { + aCallBackService.noCallBack("No Reply Desired"); + Assert.assertEquals("CallBackBasicITest - test12b -", 1, 1); + return; + } + + private void test12c() { + aCallBackService.multiCallBack("Call me back 3 times"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (this.getCallBackCount() < 3 && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackBasicITest - test12c -", 3, this.getCallBackCount()); + return; + } + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public int getCallBackCount() { + return callBackCount; + } + + public void incrementCallBackCount() { + callBackCount++; + } + + public void callBackMessage(String aString) { + System.out.println("Entering callback callBackMessage: " + aString); + synchronized (monitor) { + this.setReturnMessage(aString); + monitor.notify(); + } + } + + public void callBackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + synchronized (monitor) { + this.incrementCallBackCount(); + monitor.notify(); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeService.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeService.java new file mode 100644 index 0000000000..ffbf4f35fa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeService.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +// @Callback(CallBackCTypeCallBack.class) +/** + * + */ +public interface CallBackCTypeService { + + public void knockKnock(String aString); + + public void noCallBack(String aString); + + public void multiCallBack(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.java new file mode 100644 index 0000000000..dc31ed156b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/java/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Service; + +@Service(CallBackCTypeService.class) +public class CallBackCTypeServiceImpl implements CallBackCTypeService { + + @Callback + protected CallBackCTypeCallBack callback; + + public CallBackCTypeServiceImpl() { + } + + public void knockKnock(String aString) { + + System.out.println("CallBackCTypeServiceImpl message received: " + aString); + callback.callBackMessage("Who's There"); + System.out.println("CallBackCTypeServiceImpl response sent"); + return; + + } + + public void multiCallBack(String aString) { + + System.out.println("CallBackCTypeServiceImpl message received: " + aString); + callback.callBackIncrement("Who's There 1"); + System.out.println("CallBackCTypeServiceImpl response sent"); + callback.callBackIncrement("Who's There 2"); + System.out.println("CallBackCTypeServiceImpl response sent"); + callback.callBackIncrement("Who's There 3"); + System.out.println("CallBackCTypeServiceImpl response sent"); + return; + + } + + public void noCallBack(String aString) { + + System.out.println("CallBackCTypeServiceImpl message received: " + aString); + System.out.println("CallBackCTypeServiceImpl No response desired"); + return; + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/CallBackCTypeClient.composite b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/CallBackCTypeClient.composite new file mode 100644 index 0000000000..3f48f16389 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/CallBackCTypeClient.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.componentType new file mode 100644 index 0000000000..ff38134df5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/main/resources/org/apache/tuscany/sca/test/CallBackCTypeServiceImpl.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/test/java/org/apache/tuscany/sca/test/CallBackCTypeTestCaseFIXME.java b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/test/java/org/apache/tuscany/sca/test/CallBackCTypeTestCaseFIXME.java new file mode 100644 index 0000000000..33d1afaecd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-complex-type/src/test/java/org/apache/tuscany/sca/test/CallBackCTypeTestCaseFIXME.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +//FIXME Fix this test case +public class CallBackCTypeTestCaseFIXME extends TestCase { + + private SCADomain domain; + private CallBackCTypeClient aCallBackClient; + + public void testCallBackBasic() { + aCallBackClient.run(); + } + + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("CallBackCTypeClient.composite"); + + aCallBackClient = + domain.getService(CallBackCTypeClient.class, "CallBackCTypeClient"); + } + + @Override + protected void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-id/pom.xml new file mode 100644 index 0000000000..1113b5fa22 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-id + Apache Tuscany SCA Callback ID Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdCallBack.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdCallBack.java new file mode 100644 index 0000000000..b14560a8c3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdCallBack.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/** + * + */ +public interface CallBackIdCallBack { + + public void callBackMessage(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClient.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClient.java new file mode 100644 index 0000000000..a9e551f8b4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackIdClient { + + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClientImpl.java new file mode 100644 index 0000000000..59c9c3d069 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdClientImpl.java @@ -0,0 +1,147 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import junit.framework.Assert; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(CallBackIdClient.class) +public class CallBackIdClientImpl implements CallBackIdClient, CallBackIdCallBack { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ServiceReference aCallBackService; + + private static String returnMessage = null; + private static Object monitor = new Object(); + private static Object callBackId; + + public void run() { + + // This tests the use of the set/get callbackId API both SCA generated + // and client specified. + + // Test1 uses a SCA generated callback ID and compare that with the + // callbackID returned during callback. + test11a(); + + // Test2 uses a Client specified callback ID and compare that with the + // callbackID returned during callback. + test11b(); + + return; + } + + private void test11a() { + + // Retrieve this services callback ID and save it. Once the callback is + // received the callback ID will be compared with the one + // returned. Equal is good. + + Object origCallBackId = aCallBackService.getCallbackID(); + aCallBackService.getService().knockKnock("Knock Knock - Test1"); + int count = 0; + + // + // If we cannot get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallBackIdITest - test11a - SCA Generated Id", origCallBackId, this.getCallBackId()); + + } + + private void test11b() { + + // Set the services callback ID and save it. Once the callback is + // received the callback ID will be compared with the one + // returned. Equal is good. + + String origCallBackId = "CallBackId1"; + aCallBackService.setCallbackID(origCallBackId); + + aCallBackService.getService().knockKnock("Knock Knock - Test2"); + int count = 0; + + // + // If we can't get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert + .assertEquals("CallBackIdITest - 11b - Client Specified Id", origCallBackId, (String)this.getCallBackId()); + + } + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public void callBackMessage(String aString) { + + System.out.println("Entering callback callBackMessage: " + aString); + RequestContext rc = componentContext.getRequestContext(); + Object callBackId = rc.getServiceReference().getCallbackID(); + + synchronized (monitor) { + this.setReturnMessage(aString); + this.setCallBackId(callBackId); + monitor.notify(); + } + } + + protected Object getCallBackId() { + return callBackId; + } + + protected void setCallBackId(Object aCallBackId) { + callBackId = aCallBackId; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdService.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdService.java new file mode 100644 index 0000000000..18c592a1c1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdService.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@Callback(CallBackIdCallBack.class) +/** + * + */ +public interface CallBackIdService { + + public void knockKnock(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdServiceImpl.java new file mode 100644 index 0000000000..8b0a4b69cf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/java/org/apache/tuscany/sca/test/CallBackIdServiceImpl.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.test; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; + +@Service(CallBackIdService.class) +public class CallBackIdServiceImpl implements CallBackIdService { + + @Callback + protected CallBackIdCallBack callback; + @Context + protected ComponentContext compositeContext; + + public void knockKnock(String aString) { + + System.out.println("CallBackIdServiceImpl message received: " + aString); + RequestContext rc = compositeContext.getRequestContext(); + Object callBackId = rc.getServiceReference().getCallbackID(); + System.out.println("CallBackIdServiceImpl callbackID: " + callBackId); + + callback.callBackMessage("Who's There"); + System.out.println("CallBackIdServiceImpl response sent"); + return; + + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/resources/CallBackIdClient.composite b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/resources/CallBackIdClient.composite new file mode 100644 index 0000000000..c9a6ba6258 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/main/resources/CallBackIdClient.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-id/src/test/java/org/apache/tuscany/sca/test/CallBackIdTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-id/src/test/java/org/apache/tuscany/sca/test/CallBackIdTestCase.java new file mode 100644 index 0000000000..771fbb8ff7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-id/src/test/java/org/apache/tuscany/sca/test/CallBackIdTestCase.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +public class CallBackIdTestCase extends TestCase { + + private SCADomain domain; + private CallBackIdClient aCallBackClient; + + public void testCallBackBasic() { + aCallBackClient.run(); + } + + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("CallBackIdClient.composite"); + + aCallBackClient = domain.getService(CallBackIdClient.class, "CallBackIdClient"); + } + + @Override + protected void tearDown() throws Exception { + domain.close(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/pom.xml new file mode 100644 index 0000000000..6a167a9772 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-multiple-wires + Apache Tuscany SCA Callback With Mutiple Wires Test + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClient.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClient.java new file mode 100644 index 0000000000..7c80d222fc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClient.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.test.callback; + +/** + * The client interface + */ +public interface MyClient { + + void aClientMethod(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl1.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl1.java new file mode 100644 index 0000000000..df91f3d268 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl1.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.test.callback; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Demonstrates a component-to-component callback invocation + */ +@Service(MyClient.class) +@Scope("COMPOSITE") +public class MyClientImpl1 implements MyClient, MyServiceCallback { + + private MyService myService; + static String result; + + @Reference + public void setMyService(MyService myService) { + this.myService = myService; + } + + public void aClientMethod() { + myService.someMethod("-> someMethod1"); + } + + public void receiveResult(String result) { + System.out.println("Work thread " + Thread.currentThread()); + System.out.println("Result: " + result); + MyClientImpl1.result = result; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl2.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl2.java new file mode 100644 index 0000000000..a0a9564002 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyClientImpl2.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.test.callback; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Demonstrates a component-to-component callback invocation + */ +@Service(MyClient.class) +@Scope("COMPOSITE") +public class MyClientImpl2 implements MyClient, MyServiceCallback { + + private MyService myService; + static String result; + + @Reference + public void setMyService(MyService myService) { + this.myService = myService; + } + + public void aClientMethod() { + myService.someMethod("-> someMethod2"); + } + + public void receiveResult(String result) { + System.out.println("Work thread " + Thread.currentThread()); + System.out.println("Result: " + result); + MyClientImpl2.result = result; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyService.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyService.java new file mode 100644 index 0000000000..cfd601f546 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyService.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.test.callback; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.OneWay; + +/** + * This service that will be invoked in a non-blocking fashion + */ +@Callback(MyServiceCallback.class) +public interface MyService { + + @OneWay + void someMethod(String arg); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceCallback.java new file mode 100644 index 0000000000..f198efae51 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceCallback.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.test.callback; + +/** + * The callback interface for {@link MyService}. + */ +public interface MyServiceCallback { + + void receiveResult(String result); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java new file mode 100644 index 0000000000..d19b3fe355 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.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.test.callback; + +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * This class implements MyService and uses a callback. + */ +@Service(MyService.class) +@Scope("COMPOSITE") +public class MyServiceImpl implements MyService { + + @Context + protected RequestContext requestContext; + + public void someMethod(String arg) { + // invoke the callback + try { + MyServiceCallback myServiceCallback = requestContext.getCallback(); + myServiceCallback.receiveResult(arg + " -> receiveResult"); + } catch(RuntimeException e) { + System.out.println("RuntimeException invoking receiveResult: " + e.toString()); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/resources/CallbackMultiWireTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/resources/CallbackMultiWireTest.composite new file mode 100644 index 0000000000..3dae3ca3a8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/main/resources/CallbackMultiWireTest.composite @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/test/java/org/apache/tuscany/sca/test/callback/CallbackMultiWireTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/test/java/org/apache/tuscany/sca/test/callback/CallbackMultiWireTestCase.java new file mode 100644 index 0000000000..3c83e4bedd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-multiple-wires/src/test/java/org/apache/tuscany/sca/test/callback/CallbackMultiWireTestCase.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.test.callback; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * A TestCase that demonstrates resolving the client service and initiating the callback sequence + */ +public class CallbackMultiWireTestCase extends TestCase { + + private SCADomain scaDomain; + private MyClient myClient1; + private MyClient myClient2; + + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("CallbackMultiWireTest.composite"); + myClient1 = scaDomain.getService(MyClient.class, "MyClientComponent1"); + myClient2 = scaDomain.getService(MyClient.class, "MyClientComponent2"); + } + + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void test() throws Exception { + System.out.println("Main thread " + Thread.currentThread()); + myClient1.aClientMethod(); + myClient2.aClientMethod(); + System.out.println("Sleeping ..."); + Thread.sleep(300); + assertEquals("-> someMethod1 -> receiveResult", MyClientImpl1.result); + assertEquals("-> someMethod2 -> receiveResult", MyClientImpl2.result); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/pom.xml new file mode 100644 index 0000000000..9081172841 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-separatethread + Apache Tuscany SCA Callback Using Separate Thread Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClient.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClient.java new file mode 100644 index 0000000000..f812a39058 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClient.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.itest; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the client interface for the call backs in a separate thread tests + */ +@Remotable +public interface CallBackSeparateThreadClient { + + /** + * This tests call back patterns using separate threads. + */ + void runTests(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClientImpl.java new file mode 100644 index 0000000000..e861f8a3d1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadClientImpl.java @@ -0,0 +1,172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import java.util.concurrent.atomic.AtomicInteger; + +import junit.framework.Assert; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This is the client implementation for the call backs in a separate thread tests + */ +@Service(CallBackSeparateThreadClient.class) +public class CallBackSeparateThreadClientImpl implements CallBackSeparateThreadClient, EventProcessorCallBack { + /** + * Used to sleep for 60 seconds. + */ + private static final int SIXTY_SECONDS = 60 * 1000; + + /** + * Counts the number of one second call backs + */ + private static final AtomicInteger oneSecondCallbackCount = new AtomicInteger(); + + /** + * Counts the number of five second call backs + */ + private static final AtomicInteger fiveSecondCallbackCount = new AtomicInteger(); + + /** + * This is our injected reference to the EventProcessorService + */ + @Reference + protected EventProcessorService aCallBackService; + + /** + * This tests call back patterns using separate threads. + */ + public void runTests() { + // Register for 1 second call back + registerFor1SecondCallback(); + + // Wait for a few 1 second call backs + System.out.println("Waiting for some 1 second calls"); + waitForSome1SecondCallbacks(); + + // Register for 5 second call back + registerFor5SecondCallback(); + + // Wait for a few 1 second call backs + System.out.println("Waiting for some 1 second calls"); + waitForSome1SecondCallbacks(); + + // Wait for a few 5 second call backs + System.out.println("Waiting for some 5 second calls"); + waitForSome5SecondCallbacks(); + + System.out.println("Done"); + } + + /** + * Waits for some one second call backs to be fired + */ + private void waitForSome1SecondCallbacks() { + // Reset the one second call back count + oneSecondCallbackCount.set(0); + + // Wait until we have 10 1 second call backs or 60 seconds has passed + final long start = System.currentTimeMillis(); + do { + if (oneSecondCallbackCount.get() >= 10) { + System.out.println("Received enough 1 second notifications"); + return; + } + + try { + Thread.sleep(500); + } catch (InterruptedException e) { + Assert.fail("Unexpeceted exception " + e); + } + } + while (System.currentTimeMillis() - start < SIXTY_SECONDS); + + // If we get to here then we did not receive enough events + Assert.fail("Did not receive enough 1 second events"); + } + + /** + * Waits for some five second call backs to be fired + */ + private void waitForSome5SecondCallbacks() { + // Reset the five second call back count + fiveSecondCallbackCount.set(0); + + // Wait until we have 4 5 second call backs or 60 seconds has passed + final long start = System.currentTimeMillis(); + do + { + if (fiveSecondCallbackCount.get() >= 4) { + System.out.println("Received enough 5 second notifications"); + return; + } + + try + { + Thread.sleep(500); + } + catch (InterruptedException e) + { + Assert.fail("Unexpeceted exception " + e); + } + } + while (System.currentTimeMillis() - start < SIXTY_SECONDS); + + // If we get to here then we did not receive enough events + Assert.fail("Did not receive enough 5 second events"); + } + + /** + * Register to receive one second call backs + */ + private void registerFor1SecondCallback() { + aCallBackService.registerForEvent("ONE"); + return; + } + + /** + * Register to receive five second call backs + */ + private void registerFor5SecondCallback() { + aCallBackService.registerForEvent("FIVE"); + } + + /** + * Method that is called when an Event is delivered. + * + * @param aEventName The name of the Event + * @param aEventData The Event data + */ + public void eventNotification(String aEventName, Object aEventData) { + // System.out.println("Received Event : " + aEventName + " " + aEventData); + + if (aEventName.equals("ONE")) { + final int newValue = oneSecondCallbackCount.incrementAndGet(); + //System.out.println("Received total of " + newValue + " 1 second call backs"); + } else if (aEventName.equals("FIVE")) { + final int newValue = fiveSecondCallbackCount.incrementAndGet(); + //System.out.println("Received total of " + newValue + " 5 second call backs"); + } + else + System.out.println("Unknown event type of " + aEventName); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorCallBack.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorCallBack.java new file mode 100644 index 0000000000..ae41f596fc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorCallBack.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.itest; + + +import org.osoa.sca.annotations.Remotable; + +/** + * The call back interface for the EventProcessorService that is implemented + * by the client to receive event notifications + */ +@Remotable +public interface EventProcessorCallBack { + /** + * Call back notifying client of an Event + * + * @param aEventName The name of the Event + * @param aEventData The data for the Event + */ + void eventNotification(String aEventName, Object aEventData); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorService.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorService.java new file mode 100644 index 0000000000..c22b8cceec --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorService.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.itest; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.Remotable; + + +/** + * Sample Event Processor Service + */ +@Conversational +@Callback(EventProcessorCallBack.class) +@Remotable +public interface EventProcessorService { + + /** + * Registers the client to receive notifications for the specified event + * + * @param aEventName The name of the Event to register + */ + void registerForEvent(String aEventName); + + /** + * Unregisters the client so it no longer receives notifications for the specified event + * + * @param aEventName The name of the Event to unregister + */ + void unregisterForEvent(String aEventName); +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorServiceImpl.java new file mode 100644 index 0000000000..4d672b3a8b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/java/org/apache/tuscany/sca/itest/EventProcessorServiceImpl.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.itest; + +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Sample Event Processor Service Implementation + */ +@Service(EventProcessorService.class) +@Scope("CONVERSATION") +public class EventProcessorServiceImpl implements EventProcessorService { + + /** + * Reference to the call back + */ + @Callback + protected CallableReference clientCallback; + + /** + * This map contains the call backs for each of the registered Event names + */ + private final Map> eventListeners; + + /** + * The list of all Event Generators we create + */ + private final EventGenerator[] allEventGenerators; + + /** + * Constructor. Starts the Event Generators + */ + public EventProcessorServiceImpl() { + eventListeners = new ConcurrentHashMap>(); + + // We will simulate an Event generator + allEventGenerators = new EventGenerator[2]; + allEventGenerators[0] = new EventGenerator("ONE", 1); // Generate the SECOND event every second + allEventGenerators[1] = new EventGenerator("FIVE", 5); // Generate the FIVE event every 5 seconds + } + + /** + * Registers the client to receive notifications for the specified event + * + * @param aEventName The name of the Event to register + */ + public void registerForEvent(String aEventName) + { + // Register for the Event + eventListeners.put(aEventName, clientCallback); + + // Send the "register" started event to the client + receiveEvent(aEventName, "SameThread: Registered to receive notifications for " + aEventName); + } + + /** + * Unregisters the client so it no longer receives notifications for the specified event + * + * @param aEventName The name of the Event to unregister + */ + public void unregisterForEvent(String aEventName) + { + // Send the "register" started event to the client + receiveEvent(aEventName, "SameThread: Unregister from receiving notifications for " + aEventName); + + eventListeners.remove(aEventName); + } + + /** + * This method is called whenever the EventProcessorService receives an Event + * + * @param aEventName The name of the Event received + * @param aEventData The Event data + */ + private void receiveEvent(String aEventName, Object aEventData) + { + // Get the listener for the Event + final CallableReference callback = eventListeners.get(aEventName); + if (callback == null) + { + //System.out.println("No registered listeners for " + aEventName); + return; + } + + // Trigger the call back + // System.out.println("Notifying " + callback + " of event " + aEventName); + callback.getService().eventNotification(aEventName, aEventData); + // System.out.println("Done notify " + callback + " of event " + aEventName); + } + + /** + * Shuts down the Event Processor + */ + @Destroy + public void shutdown() + { + System.out.println("Shutting down the EventProcessor"); + + // Clear list of call back locations as we don't want to send any more notifications + eventListeners.clear(); + + // Stop the Event Generators + for (EventGenerator generator : allEventGenerators) + { + generator.stop(); + } + } + + /** + * Utility class for generating Events + */ + private class EventGenerator + { + /** + * The Timer we are using to generate the events + */ + private final Timer timer = new Timer(); + + /** + * Constructor + * + * @param aEventName The name of the Event to generate + * @param frequencyInSeconds How frequently we should generate the Events + */ + private EventGenerator(String aEventName, int frequencyInSeconds) + { + timer.schedule(new EventGeneratorTimerTask(aEventName), + frequencyInSeconds * 1000, frequencyInSeconds * 1000); + } + + /** + * Stop this Event Generator + */ + private void stop() + { + timer.cancel(); + } + + /** + * The TimerTask that is invoked by the Timer for the EventGenerator + */ + private class EventGeneratorTimerTask extends TimerTask + { + /** + * The name of the Event we should generate + */ + private final String eventName; + + /** + * Constructor + * + * @param aEventName The name of the Event we should generate + */ + private EventGeneratorTimerTask(String aEventName) + { + eventName = aEventName; + } + + /** + * Timer calls this method and it will generate an Event + */ + @Override + public void run() + { + // System.out.println("Generating new event " + eventName); + receiveEvent(eventName, "Separate Thread Notification: " + UUID.randomUUID().toString()); + } + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/resources/CallBackSeparateThreadTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/resources/CallBackSeparateThreadTest.composite new file mode 100644 index 0000000000..e111e5074c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/main/resources/CallBackSeparateThreadTest.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/test/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/test/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadTestCase.java new file mode 100644 index 0000000000..f7e7be2133 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-separatethread/src/test/java/org/apache/tuscany/sca/itest/CallBackSeparateThreadTestCase.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.itest; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This test case will attempt to trigger a call back using a separate thread + */ +public class CallBackSeparateThreadTestCase extends TestCase { + + /** + * The SCADomain we are using + */ + private SCADomain domain; + + /** + * The client the tests should use + */ + private CallBackSeparateThreadClient aCallBackClient; + + /** + * Run the call back in separate thread tests + */ + public void testCallBackSeparateThread() { + aCallBackClient.runTests(); + } + + /** + * Load the Call back in separate thread composite and look up the client. + */ + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("CallBackSeparateThreadTest.composite"); + aCallBackClient = domain.getService(CallBackSeparateThreadClient.class, "CallBackSeparateThreadClient"); + } + + /** + * Shutdown the SCA domain + */ + @Override + protected void tearDown() throws Exception { + domain.close(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/pom.xml new file mode 100644 index 0000000000..1cf9a91c7d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-set-callback + Apache Tuscany SCA Set Callback Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCalbackService.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCalbackService.java new file mode 100644 index 0000000000..3b9599f53f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCalbackService.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.test; + +import org.osoa.sca.annotations.Callback; + +// @Remotable +@Callback(CallBackSetCallbackCallback.class) +/** + * + */ +public interface CallBackSetCalbackService { + + public void knockKnock(String aString); + + public boolean setCallbackIllegally(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackBadCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackBadCallback.java new file mode 100644 index 0000000000..48752f2ea1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackBadCallback.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.test; + +import junit.framework.Assert; + +public class CallBackSetCallbackBadCallback { + + public CallBackSetCallbackBadCallback() { + super(); + } + + public void callback(String aString) { + // + // This callback method should never be called. + // + System.out.println("CallBackSetCallbackBadCallback: callback called"); + Assert.fail("CallBackSetCallbackBadCallback: callback called"); + return; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallback.java new file mode 100644 index 0000000000..ad0e0603a3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallback.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.test; + +// @Remotable +/** + * + */ +public interface CallBackSetCallbackCallback { + + public void callBackMessage(String aString); + + public void callBackIncrement(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallbackImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallbackImpl.java new file mode 100644 index 0000000000..0a22b0e01f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackCallbackImpl.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.test; + +import java.io.File; + +import org.osoa.sca.annotations.Service; + +@Service(CallBackSetCallbackCallback.class) +public class CallBackSetCallbackCallbackImpl implements CallBackSetCallbackCallback { + + private static String returnMessage = null; + private static int callBackCount = 0; + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public int getCallBackCount() { + return callBackCount; + } + + public void incrementCallBackCount() { + callBackCount++; + } + + public void callBackMessage(String aString) { + + System.out.println("Entering CallBackSetCallbackCallbackImpl callBackMessage: " + aString); + + File aFile = new File("target/test4_marker"); + try { + aFile.createNewFile(); + } catch (Exception ex) { + System.out.println("Error Creating target/test4_marker marker file"); + ex.printStackTrace(); + } + + } + + public void callBackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + this.incrementCallBackCount(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClient.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClient.java new file mode 100644 index 0000000000..94cb6aa73b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackSetCallbackClient { + + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClientImpl.java new file mode 100644 index 0000000000..66e4d3fc05 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackClientImpl.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.test; + +import java.io.File; + +import junit.framework.Assert; + +import org.osoa.sca.NoRegisteredCallbackException; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(CallBackSetCallbackClient.class) +public class CallBackSetCallbackClientImpl implements CallBackSetCallbackClient { + + @Reference + protected ServiceReference aCallBackService; + @Reference + protected ServiceReference callBack; + + public void run() { + + // This test various aspects of the setCallback() API in a stateless + // scope. + + /* + * test4 Client does not implement the callback interface but calls + * setCallback with a service reference before invoking the target, + * Verify successful execution. + */ + + test4(); + + /* + * test5 The client does not implement the callback interface and does + * not call setCallback() before invoking the target. Verify a + * NoRegisteredCallbackException is thrown. + */ + + test5(); + + /* + * test6() The client calls setCallback() with an object that is not a + * service reference and the callback interface is stateless. Verify + * that an appropriate exception is thrown. When calling setCallback + * with an object the interface must be stateful. Stateless interfaces + * require a service Reference. + */ + + test6(); + + /* + * test10 The target calls setCallback() on its own service reference, + * e.g. getRequestContext().getServiceReference().getCallback(). Verify + * an appropriate exception occurs. + */ + + test10(); + + return; + } + + private void test4() { + + // + // Since callbacks do not synchronously return and this test results in + // a callback to a component other + // than this client I am using a marker file to determine the outcome. + // The presence of the marker + // file will be used for the Assertion test. If it exists then the + // callback occurred and all is good. + // + + // Make sure the marker file is not present before starting the test. + File aFile = new File("target/test4_marker"); + if (aFile.exists()) + aFile.delete(); + + aCallBackService.setCallback(callBack); + + aCallBackService.getService().knockKnock("Knock Knock"); + + // Lets give the callback a little time to complete.... + + int count = 0; + long timeout = 1000; + + while (count++ < 30 && (aFile.exists() == false)) { + try { + Thread.sleep(timeout); + } catch (InterruptedException ie) { + } + } + + Assert.assertEquals("CallBackSetCallback - Test4", true, aFile.exists()); + + aCallBackService.setCallback(null); // leave this in the default state for next test + + } + + private void test5() { + + boolean correctException = false; + + // + // The backend service is expecting a callback reference to be set. This + // test will not + // set one so an exception is expected. According to the spec if a + // client calls a method on + // a service reference prior to calling setCallback() then a + // NoRegisteredCallbackException + // will be thrown on the client. + // + + try { + aCallBackService.getService().knockKnock("Knock Knock"); + } catch (NoRegisteredCallbackException NotRegEx) { + correctException = true; + } catch (Exception ex) { + ex.printStackTrace(); + } + + Assert.assertEquals("CallBackSetCallback - Test5", true, correctException); + + } + + private void test6() { + + boolean correctException = false; + + // + // This test is to specify an Object that is not a service reference + // that does implement + // the callback interface. However because this callback service is + // stateless the expected + // result is an appropriate exception. + // + + try { + aCallBackService.setCallback(new CallBackSetCallbackObjectCallback()); + aCallBackService.getService().knockKnock("Knock Knock"); + } + // + // This should catch an appropriate exception. + // + catch (IllegalArgumentException goodEx) { + correctException = true; + } catch (Exception ex) { + ex.printStackTrace(); + } + + Assert.assertEquals("CallBackSetCallback - Test6", true, correctException); + + } + + private void test10() { + + // + // The appropriate exception should be thrown and caught on the service side. + // If this happens, the setCallbackIllegally() method will return true. + // If not, this method will return false. + // + + aCallBackService.setCallback(callBack); // ensure no client-side exception + + boolean result = aCallBackService.getService().setCallbackIllegally + ("Try to set callback on your own service reference"); + + Assert.assertEquals("CallBackSetCallback - Test10", true, result); + + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackObjectCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackObjectCallback.java new file mode 100644 index 0000000000..afedcdf7f1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackObjectCallback.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.test; + +public class CallBackSetCallbackObjectCallback implements CallBackSetCallbackCallback { + + private int callBackCount = 0; + + public CallBackSetCallbackObjectCallback() { + super(); + } + + public void incrementCallBackCount() { + callBackCount++; + } + + public void callBackMessage(String aString) { + + System.out.println("Entering CallBackSetCallbackObjectCallback callBackMessage: " + aString); + + } + + public void callBackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + this.incrementCallBackCount(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackServiceImpl.java new file mode 100644 index 0000000000..4a6c9dbaa6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackServiceImpl.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.test; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; + +@Service(CallBackSetCalbackService.class) +public class CallBackSetCallbackServiceImpl implements CallBackSetCalbackService { + + @Callback + protected CallBackSetCallbackCallback callback; + @Context + protected ComponentContext context; + + public void knockKnock(String aString) { + + try { + System.out.println("CallBackBasicServiceImpl message received: " + aString); + callback.callBackMessage("Who's There"); + System.out.println("CallBackBasicServiceImpl response sent"); + return; + } catch (Exception ex) { + ex.printStackTrace(); + } + + } + + public boolean setCallbackIllegally(String aString) { + + System.out.println("CallBackBasicServiceImpl.setCallbackIllegally() message received: " + aString); + + boolean exceptionProduced = false; + RequestContext requestContext = null; + ServiceReference serviceRef = null; + + try { + requestContext = context.getRequestContext(); + serviceRef = (ServiceReference) requestContext.getServiceReference(); + serviceRef.setCallback(serviceRef); + } catch (ClassCastException goodEx) { + exceptionProduced = true; + System.out.println("Test10 appropriate exception caught during setCallback to own service reference"); + } catch (Exception badEx) { + System.out.println("CallBackBasicServiceImpl.setCallbackIllegally() " + badEx.toString()); + badEx.printStackTrace(); + } + + // Return a flag indicating whether we got the exception we are looking for + return exceptionProduced; + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/resources/CallBackSetCallbackTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/resources/CallBackSetCallbackTest.composite new file mode 100644 index 0000000000..3552ddecab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/main/resources/CallBackSetCallbackTest.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackTestCase.java new file mode 100644 index 0000000000..496ae0b1a5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-callback/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackTestCase.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +//FIXME Fix this test case +public class CallBackSetCallbackTestCase extends TestCase { + + private SCADomain domain; + private CallBackSetCallbackClient aCallBackClient; + + public void testCallBackSetCallback() { + aCallBackClient.run(); + } + + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("CallBackSetCallbackTest.composite"); + + aCallBackClient = + domain.getService(CallBackSetCallbackClient.class, + "CallBackSetCallbackClient"); + } + + @Override + protected void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/pom.xml b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/pom.xml new file mode 100644 index 0000000000..f1d5289bd8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-callback-set-conversation + Apache Tuscany SCA Callback Set Conversation Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvBadCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvBadCallback.java new file mode 100644 index 0000000000..d97c69eaed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvBadCallback.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.test; + +import java.io.Serializable; + +import junit.framework.Assert; + +public class CallBackSetCallbackConvBadCallback implements Serializable { + + public CallBackSetCallbackConvBadCallback() { + super(); + } + + public void callback(String aString) { + // + // This callback method should never be called. + // + System.out.println("CallBackSetCallbackBadCallback: callback called"); + Assert.fail("CallBackSetCallbackConvBadCallback: callback called"); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvCallback.java new file mode 100644 index 0000000000..a704fd0ece --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvCallback.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.test; + +import org.osoa.sca.annotations.Conversational; + +// @Remotable +@Conversational +/** + * + */ +public interface CallBackSetCallbackConvCallback { + + public void callBackMessage(String aString); + + public void callBackIncrement(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClient.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClient.java new file mode 100644 index 0000000000..013424bf5e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClient.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.test; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface CallBackSetCallbackConvClient { + + public void run(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClientImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClientImpl.java new file mode 100644 index 0000000000..5d692e7728 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvClientImpl.java @@ -0,0 +1,163 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import junit.framework.Assert; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(CallBackSetCallbackConvClient.class) +@Scope("CONVERSATION") +public class CallBackSetCallbackConvClientImpl implements CallBackSetCallbackConvClient { + + @Context + protected ComponentContext componentContext; + + @Reference + protected CallBackSetCallbackConvService aCallBackService; + + private CallBackSetCallbackConvObjectCallback aCallbackObject = null; + + public void run() { + + // This tests aspects of the setCallback() API within a conversational + // scope. + + /* + * test7 The client calls setCallback() with an object that is not a + * service reference and the callback interface is stateful. Verify + * successful execution. + */ + test7(); + + /* + * test8() The client calls setCallback() with an object that does not + * implement the callback interface. Verify an appropriate exception is + * thrown. This requires a STATEFUL interface. + */ + test8(); + + /* + * test9 The client calls setCallback() with an object that is not + * Serializable. Verify an appropriate exception is thrown. This + * requires a STATEFUL callback interface. Move from the stateless test + * case. + */ + test9(); + + return; + } + + private void test7() { + + // + // This test is to specify an Object that is not a service reference + // that does implement + // the callback interface and is Serializable. Verify successful + // execution. + // + + aCallbackObject = new CallBackSetCallbackConvObjectCallback(); + aCallbackObject.incrementCallBackCount(); + + ServiceReference aCallBackServiceRef + = componentContext.cast(aCallBackService); + aCallBackServiceRef.setCallback(aCallbackObject); + aCallBackService.knockKnock("Knock Knock 7"); + + Assert.assertEquals("CallBackSetCallbackConv - Test7", 2, aCallbackObject.getCount()); + + } + + private void test8() { + + boolean correctException = false; + + // + // This test is to specify an Object that is not a service reference + // that does not implement + // the callback interface. The expected result is an appropriate + // exception. + // + + try { + ServiceReference aCallBackServiceRef + = componentContext.cast(aCallBackService); + aCallBackServiceRef.setCallback(new CallBackSetCallbackConvBadCallback()); + aCallBackService.knockKnock("Knock Knock 8"); + } + + // + // This should catch an appropriate exception. + // + + catch (IllegalArgumentException goodEx) + { + System.out.println("correct exception " + goodEx); + correctException = true; + } + + catch (Exception ex) { + // This means an inappropriate exception occurred + ex.printStackTrace(); + } + + Assert.assertEquals("CallBackSetCallbackConv - Test8", true, correctException); + + } + + private void test9() { + + boolean correctException = false; + + // + // This test is to specify an Object that is not a service reference + // that does implement + // the callback interface but does not implement Serializable. Verify + // an appropriate exception + // is thrown. + // + + try { + ServiceReference aCallBackServiceRef + = componentContext.cast(aCallBackService); + aCallBackServiceRef.setCallback(new CallBackSetCallbackConvNonSerCallback()); + aCallBackService.knockKnock("Knock Knock 9"); + } + // + // This should catch an appropriate exception. + // + catch (IllegalArgumentException goodEx) + { + System.out.println("correct exception " + goodEx); + correctException = true; + } catch (Exception ex) { + ex.printStackTrace(); + } + + Assert.assertEquals("CallBackSetCallbackConv - Test9", true, correctException); + + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvNonSerCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvNonSerCallback.java new file mode 100644 index 0000000000..75a4a3a6a0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvNonSerCallback.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.test; + +import junit.framework.Assert; + +public class CallBackSetCallbackConvNonSerCallback implements CallBackSetCallbackConvCallback { + + private int callBackCount = 0; + + public CallBackSetCallbackConvNonSerCallback() { + super(); + } + + public synchronized void incrementCallBackCount() { + callBackCount++; + } + + public synchronized int getCount() { + return callBackCount; + } + + public void callBackMessage(String aString) { + // + // This callback method should never be called. + // + System.out.println("Entering CallBackSetCallbackConvNonSerCallback callBackMessage: " + aString); + Assert.fail("CallBackSetCallbackConvNonSerCallback: callbackMessage called"); + } + + public void callBackIncrement(String aString) { + // + // This callback method should never be called. + // + System.out.println("Entering callbackIncrement: " + aString); + this.incrementCallBackCount(); + Assert.fail("CallBackSetCallbackConvNonSerCallback: callbackIncrement called"); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvObjectCallback.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvObjectCallback.java new file mode 100644 index 0000000000..e7a3b144f6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvObjectCallback.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.test; + +import java.io.Serializable; + +public class CallBackSetCallbackConvObjectCallback implements CallBackSetCallbackConvCallback, Serializable +{ + private int callBackCount = 0; + + public CallBackSetCallbackConvObjectCallback() { + super(); + } + + public synchronized void incrementCallBackCount() { + callBackCount++; + } + + public synchronized int getCount() { + return callBackCount; + } + + public void callBackMessage(String aString) { + + System.out.println("Entering CallBackSetCallbackObjectCallback callBackMessage: " + aString); + + } + + public void callBackIncrement(String aString) { + + System.out.println("Entering callback increment: " + aString); + + this.incrementCallBackCount(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvService.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvService.java new file mode 100644 index 0000000000..692b6dfc35 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvService.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.test; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; + +// @Remotable +@Conversational +@Callback(CallBackSetCallbackConvCallback.class) +/** + * + */ +public interface CallBackSetCallbackConvService { + + public void knockKnock(String aString); + + public void setCallbackIllegally(String aString); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvServiceImpl.java new file mode 100644 index 0000000000..bca94ce407 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvServiceImpl.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test; + +import java.io.File; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(CallBackSetCallbackConvService.class) +@Scope("CONVERSATION") +public class CallBackSetCallbackConvServiceImpl implements CallBackSetCallbackConvService { + + @Callback + protected CallBackSetCallbackConvCallback callback; + @Context + protected ComponentContext context; + + public void knockKnock(String aString) { + + System.out.println("CallBackSetCallbackConvServiceImpl message received: " + aString); + callback.callBackMessage("Who's There"); + callback.callBackIncrement("This should do it"); + System.out.println("CallBackSetCallbackConvServiceImpl response sent"); + + } + + public void setCallbackIllegally(String aString) { + + System.out.println("CallBackBasicServiceImpl.setCallbackIllegally() message received: " + aString); + + boolean exceptionProduced = false; + RequestContext requestContext = null; + ServiceReference serviceRef = null; + + // Context is not working properly so we can't trust that this is + // working..... + try { + requestContext = context.getRequestContext(); + serviceRef = (ServiceReference) requestContext.getServiceReference(); + } catch (Exception ex) { + System.out.println("CallBackBasicServiceImpl.setCallbackIllegally() " + ex.toString()); + ex.printStackTrace(); + return; + } + + // Ok, call setCallback with my own service reference. + try { + serviceRef.setCallback(serviceRef); + } catch (NullPointerException npe) { + // This is not an appropriate exception. + System.out.println("Test10 NPE exception during setCallback to own service reference"); + npe.printStackTrace(); + return; + } + // This needs to catch the appropriate exception, once we figure out + // what is needs to be! + catch (Exception ex) { + exceptionProduced = true; + System.out.println("Test10 appropriate exception caught during setCallback to own service reference"); + } + ; + + // If we get the exception we are looking for then create the marker + // file. + if (exceptionProduced == true) { + File aFile = new File("target/test10_marker"); + try { + aFile.createNewFile(); + } catch (Exception ex) { + System.out.println("Error Creating target/test10_marker marker file"); + ex.printStackTrace(); + } + } + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/resources/CallBackSetCallbackConvTest.composite b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/resources/CallBackSetCallbackConvTest.composite new file mode 100644 index 0000000000..ce73417f94 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/main/resources/CallBackSetCallbackConvTest.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvTestCase.java b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvTestCase.java new file mode 100644 index 0000000000..45bdaea9ab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/callback-set-conversation/src/test/java/org/apache/tuscany/sca/test/CallBackSetCallbackConvTestCase.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.test; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +public class CallBackSetCallbackConvTestCase extends TestCase { + + private SCADomain domain; + private CallBackSetCallbackConvClient aCallBackClient; + + public void testCallBackSetCallback() { + aCallBackClient.run(); + } + + @Override + protected void setUp() throws Exception { + domain = SCADomain.newInstance("CallBackSetCallbackConvTest.composite"); + + aCallBackClient = + domain.getService(CallBackSetCallbackConvClient.class, + "CallBackSetCallbackConvClient"); + } + + @Override + protected void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/pom.xml b/sandbox/sebastien/java/sca-node/itest/component-type/pom.xml new file mode 100644 index 0000000000..383367e583 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/pom.xml @@ -0,0 +1,47 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-component-type + Apache Tuscany SCA Component Type Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddService.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddService.java new file mode 100644 index 0000000000..188451ebac --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddService.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 calculator; + +/** + * The Add service interface + */ +public interface AddService { + + double add(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddServiceImpl.java new file mode 100644 index 0000000000..8b6fe066a6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/AddServiceImpl.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 calculator; + +/** + * An implementation of the Add service + */ +public class AddServiceImpl implements AddService { + + public double add(double n1, double n2) { + return n1 + n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorClient.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorClient.java new file mode 100644 index 0000000000..08afd922b3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorClient.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 calculator; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class CalculatorClient { + public static void main(String[] args) throws Exception { + + SCADomain scaDomain = SCADomain.newInstance("Calculator.composite"); + + CalculatorService calculatorService = + scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent/CalculatorService"); + + // Calculate + System.out.println("3 + 2=" + calculatorService.add(3, 2)); + System.out.println("3 - 2=" + calculatorService.subtract(3, 2)); + System.out.println("3 * 2=" + calculatorService.multiply(3, 2)); + System.out.println("3 / 2=" + calculatorService.divide(3, 2)); + + scaDomain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorService.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..031fa8b912 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorService.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 calculator; + + +/** + * The Calculator service interface. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorServiceImpl.java new file mode 100644 index 0000000000..1209ac128a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/CalculatorServiceImpl.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 calculator; + +/** + * An implementation of the Calculator service. + */ +public class CalculatorServiceImpl implements CalculatorService { + + private AddService addService; + private SubtractService subtractService; + private MultiplyService multiplyService; + private DivideService divideService; + + public void setAddService(AddService addService) { + this.addService = addService; + } + + public void setSubtractService(SubtractService subtractService) { + this.subtractService = subtractService; + } + + public void setDivideService(DivideService divideService) { + this.divideService = divideService; + } + + public void setMultiplyService(MultiplyService multiplyService) { + this.multiplyService = multiplyService; + } + + public double add(double n1, double n2) { + return addService.add(n1, n2); + } + + public double subtract(double n1, double n2) { + return subtractService.subtract(n1, n2); + } + + public double multiply(double n1, double n2) { + return multiplyService.multiply(n1, n2); + } + + public double divide(double n1, double n2) { + return divideService.divide(n1, n2); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideService.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideService.java new file mode 100644 index 0000000000..30d248208b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideService.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 calculator; + +/** + * The divide service interface + */ +public interface DivideService { + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideServiceImpl.java new file mode 100644 index 0000000000..f7ac0b7287 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/DivideServiceImpl.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 calculator; + +/** + * An implementation of the Divide service. + */ +public class DivideServiceImpl implements DivideService { + + public double divide(double n1, double n2) { + return n1 / n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyService.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyService.java new file mode 100644 index 0000000000..5290605938 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyService.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 calculator; + +/** + * The interface for the multiply service + */ +public interface MultiplyService { + + double multiply(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyServiceImpl.java new file mode 100644 index 0000000000..b7dca792b2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/MultiplyServiceImpl.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 calculator; + +/** + * An implementation of the Multiply service. + */ +public class MultiplyServiceImpl implements MultiplyService { + + public double multiply(double n1, double n2) { + return n1 * n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractService.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractService.java new file mode 100644 index 0000000000..bf0d1882b6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractService.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 calculator; + +/** + * The interface for the multiply service + */ +public interface SubtractService { + + double subtract(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractServiceImpl.java new file mode 100644 index 0000000000..77b128ab8d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/java/calculator/SubtractServiceImpl.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 calculator; + +/** + * An implementation of the subtract service. + */ +public class SubtractServiceImpl implements SubtractService { + + public double subtract(double n1, double n2) { + return n1 - n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/Calculator.composite b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/Calculator.composite new file mode 100644 index 0000000000..b229787657 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/Calculator.composite @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/AddServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/AddServiceImpl.componentType new file mode 100644 index 0000000000..00c48e5a35 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/AddServiceImpl.componentType @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/CalculatorServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/CalculatorServiceImpl.componentType new file mode 100644 index 0000000000..74bedc0a98 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/CalculatorServiceImpl.componentType @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/DivideServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/DivideServiceImpl.componentType new file mode 100644 index 0000000000..289fcc3e11 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/DivideServiceImpl.componentType @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/MultiplyServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/MultiplyServiceImpl.componentType new file mode 100644 index 0000000000..2d8a879cda --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/MultiplyServiceImpl.componentType @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/SubtractServiceImpl.componentType b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/SubtractServiceImpl.componentType new file mode 100644 index 0000000000..6214955141 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/main/resources/calculator/SubtractServiceImpl.componentType @@ -0,0 +1,27 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/component-type/src/test/java/calculator/CalculatorTestCase.java b/sandbox/sebastien/java/sca-node/itest/component-type/src/test/java/calculator/CalculatorTestCase.java new file mode 100644 index 0000000000..08fc8e33bf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/component-type/src/test/java/calculator/CalculatorTestCase.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 calculator; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This shows how to test the Calculator service component. + */ +public class CalculatorTestCase extends TestCase { + + private CalculatorService calculatorService; + private SCADomain scaDomain; + + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("Calculator.composite"); + calculatorService = scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent/CalculatorService"); + } + + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testCalculator() throws Exception { + // Calculate + assertEquals(calculatorService.add(3, 2), 5.0); + assertEquals(calculatorService.subtract(3, 2), 1.0); + assertEquals(calculatorService.multiply(3, 2), 6.0); + assertEquals(calculatorService.divide(3, 2), 1.5); + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/build-jar.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/build-jar.xml new file mode 100644 index 0000000000..299ce6864f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/build-jar.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/pom.xml new file mode 100644 index 0000000000..e77199cb54 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/pom.xml @@ -0,0 +1,203 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-classloader-classes + Apache Tuscany Contribution ClassLoader Test : Contribution Classes + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + + + itest-contribution-classloader-classes + + + org.apache.maven.plugins + maven-antrun-plugin + 1.1 + + + + ant + ant-trax + 1.6.5 + + + + + + create-jar + generate-test-sources + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/Customer.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/Customer.java new file mode 100644 index 0000000000..814c38777a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/Customer.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 supplychain.customer; + +import org.osoa.sca.annotations.OneWay; + +/** + * This is the business interface of the Customer service component. + */ +public interface Customer { + + public void purchaseGoods(); + + @OneWay + public void notifyShipment(String order); + + public int outstandingOrderCount(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java new file mode 100644 index 0000000000..e4daf0ec02 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.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 supplychain.customer; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import supplychain.retailer.Retailer; + +/** + * This class implements the Customer service component (POJO implementation). + */ +@Service(Customer.class) +@Scope("COMPOSITE") +public class JavaCustomerComponentImpl implements Customer { + + private static int outstandingOrderCount; + + private Retailer retailer; + + public JavaCustomerComponentImpl() { + System.out.println("Created " + this.getClass().getName() + + " using: " + this.getClass().getClassLoader()); + } + + @Reference + public void setRetailer(Retailer retailer) { + this.retailer = retailer; + } + + public void purchaseGoods() { + outstandingOrderCount++; + retailer.submitOrder("Order"); + } + + public void notifyShipment(String order) { + outstandingOrderCount--; + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public int outstandingOrderCount() { + return outstandingOrderCount; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/illegal/JavaCustomerComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/illegal/JavaCustomerComponentImpl.java new file mode 100644 index 0000000000..e4b3bc7048 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/illegal/JavaCustomerComponentImpl.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 supplychain.illegal; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import supplychain.customer.Customer; +import supplychain.retailer.JavaRetailerComponentImpl; +import supplychain.retailer.Retailer; +import supplychain.warehouse.JavaWarehouseComponentImpl; +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Customer service component (POJO implementation). + */ +@Service(Customer.class) +@Scope("COMPOSITE") +public class JavaCustomerComponentImpl implements Customer { + + private static int outstandingOrderCount; + + private Retailer retailer; + + public JavaCustomerComponentImpl() { + System.out.println("Created " + this.getClass().getName() + + " using: " + this.getClass().getClassLoader()); + } + + @Reference + public void setRetailer(Retailer retailer) { + this.retailer = retailer; + } + + public void purchaseGoods() { + + Retailer retailerImpl = new JavaRetailerComponentImpl(); + System.out.println("Created a retailer from Customer " + retailerImpl); + + Warehouse warehouseImpl = new JavaWarehouseComponentImpl(); + System.out.println("Created a warehouse from Customer " + warehouseImpl); + + outstandingOrderCount++; + retailer.submitOrder("Order"); + } + + public void notifyShipment(String order) { + outstandingOrderCount--; + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public int outstandingOrderCount() { + return outstandingOrderCount; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java new file mode 100644 index 0000000000..698aa2aa5d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.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 supplychain.retailer; + + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Retailer service component (POJO implementation). + */ +@Service(Retailer.class) +@Scope("STATELESS") +public class JavaRetailerComponentImpl implements Retailer { + + private Warehouse warehouse; + + public JavaRetailerComponentImpl() { + System.out.println("Created " + this.getClass().getName() + + " using: " + this.getClass().getClassLoader()); + } + + @Reference + public void setWarehouse(Warehouse warehouse) { + this.warehouse = warehouse; + } + + + public Warehouse getWarehouse() { + return warehouse; + } + + public void submitOrder(String order) { + + warehouse.fulfillOrder(order + ", submitted"); + + } + + + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/Retailer.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/Retailer.java new file mode 100644 index 0000000000..1e87d59af1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/retailer/Retailer.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 supplychain.retailer; + +/** + * This is the business interface of the Retailer service component. + */ +public interface Retailer { + + public void submitOrder(String order); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java new file mode 100644 index 0000000000..9e01f00a79 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/JavaShipperComponentImpl.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 supplychain.shipper; + + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import supplychain.customer.Customer; + +/** + * This class implements the Shipper service component (POJO implementation). + */ +@Service(Shipper.class) +@Scope("COMPOSITE") +public class JavaShipperComponentImpl implements Shipper { + + private Customer customer; + + public JavaShipperComponentImpl() { + System.out.println("Created " + this.getClass().getCanonicalName() + + " using: " + this.getClass().getClassLoader()); + } + + @Reference + public void setCustomer(Customer customer) { + this.customer = customer; + } + + public void processShipment(String order) { + customer.notifyShipment(order + ", shipped"); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/Shipper.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/Shipper.java new file mode 100644 index 0000000000..2514928c10 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/shipper/Shipper.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 supplychain.shipper; + +/** + * This is the business interface of the Shipper service component. + */ +public interface Shipper { + + public void processShipment(String order); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java new file mode 100644 index 0000000000..cdd12d589d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.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 supplychain.warehouse; + +import org.osoa.sca.annotations.Scope; + +import supplychain.shipper.Shipper; + +/** + * This class implements the Warehouse service component (POJO implementation). + */ +@Scope("STATELESS") +public class JavaWarehouseComponentImpl implements Warehouse { + + private Shipper shipper; + + public JavaWarehouseComponentImpl() { + System.out.println("Created " + this.getClass().getCanonicalName() + + " using: " + this.getClass().getClassLoader()); + } + + public void setShipper(Shipper shipper) { + this.shipper = shipper; + } + + public void fulfillOrder(String order) { + shipper.processShipment(order + ", fulfilled"); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/Warehouse.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/Warehouse.java new file mode 100644 index 0000000000..6f1f6b8730 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/java/supplychain/warehouse/Warehouse.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 supplychain.warehouse; + +/** + * This is the business interface of the Warehouse service component. + */ +public interface Warehouse { + + public void fulfillOrder(String order); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/complete-supplychain-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/complete-supplychain-sca-contribution.xml new file mode 100644 index 0000000000..714d1826e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/complete-supplychain-sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-impl-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-impl-sca-contribution.xml new file mode 100644 index 0000000000..7f7dc969e2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-impl-sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-interface-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-interface-sca-contribution.xml new file mode 100644 index 0000000000..7f7dc969e2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-interface-sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-sca-contribution.xml new file mode 100644 index 0000000000..8a2bec308f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/customer-sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal-customer-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal-customer-sca-contribution.xml new file mode 100644 index 0000000000..c77c4c1c7e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal-customer-sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal1-supplychain-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal1-supplychain-sca-contribution.xml new file mode 100644 index 0000000000..210a68011f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal1-supplychain-sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal2-supplychain-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal2-supplychain-sca-contribution.xml new file mode 100644 index 0000000000..d118cceef9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/illegal2-supplychain-sca-contribution.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/retailer-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/retailer-sca-contribution.xml new file mode 100644 index 0000000000..d37b6659da --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/retailer-sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/shipper-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/shipper-sca-contribution.xml new file mode 100644 index 0000000000..77b28d9023 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/shipper-sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/supplychain-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/supplychain-sca-contribution.xml new file mode 100644 index 0000000000..8ec290a831 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/supplychain-sca-contribution.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/warehouse-sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/warehouse-sca-contribution.xml new file mode 100644 index 0000000000..1398416978 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/META-INF/warehouse-sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/illegalsupplychain.composite b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/illegalsupplychain.composite new file mode 100644 index 0000000000..db1f0d34e7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/illegalsupplychain.composite @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/supplychain.composite b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/supplychain.composite new file mode 100644 index 0000000000..5be79b741a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/supplychain.composite @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/warehouse/JavaWarehouseComponentImpl.componentType b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/warehouse/JavaWarehouseComponentImpl.componentType new file mode 100644 index 0000000000..a76fae8090 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-classes/src/main/resources/supplychain/warehouse/JavaWarehouseComponentImpl.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/pom.xml new file mode 100644 index 0000000000..f1e6a62e2c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/pom.xml @@ -0,0 +1,60 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-classloader-test + Apache Tuscany Contribution Classloader tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-monitor-logging + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionTestCase.java new file mode 100644 index 0000000000..692f16f6f6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionTestCase.java @@ -0,0 +1,373 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.URLClassLoader; + +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.resolver.ClassReference; +import org.apache.tuscany.sca.contribution.service.ContributionResolveException; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/* + * + * Contribution ClassLoading integration tests + */ + +public class ContributionTestCase { + + private SupplyChain supplyChain; + + + @Before + public void setUp() throws Exception { + supplyChain = new SupplyChain(); + } + + + @After + public void tearDown() throws Exception { + + supplyChain.tearDown(); + + } + + + /** + * Test static ClassLoading for classes that are visible from contribution + * + * @throws Exception + */ + public void staticClassLoadingTestForVisibleClasses() throws Exception { + + Contribution customerContribution = supplyChain.getContribution("Customer"); + ClassReference customerClassRef = new ClassReference("supplychain.customer.Customer"); + customerClassRef = customerContribution.getModelResolver().resolveModel(ClassReference.class, customerClassRef); + Class customerClass = customerClassRef.getJavaClass(); + + Class customerClassFromContribution = customerContribution.getClassLoader().loadClass("supplychain.customer.Customer"); + Assert.assertEquals(customerClass, customerClassFromContribution); + + Object customer = supplyChain.getCustomer(customerClass); + + Method m = customerClass.getMethod("purchaseGoods"); + m.invoke(customer); + + + m = customerClass.getMethod("outstandingOrderCount"); + + int retries = 10; + int outstandingCount = 1; + while (retries-- > 0) { + + outstandingCount = (int)(Integer)m.invoke(customer); + if (outstandingCount == 0) + break; + else + Thread.sleep(100); + } + Assert.assertEquals(0, outstandingCount); + + + } + + + /** + * Test dynamic ClassLoading for classes that are visible from contribution + * + * @throws Exception + */ + public void dynamicClassLoadingTestForVisibleClasses() throws Exception { + + Contribution customerContribution = supplyChain.getContribution("Customer"); + Contribution retailerContribution = supplyChain.getContribution("Retailer"); + Contribution warehouseContribution = supplyChain.getContribution("Warehouse"); + Contribution shipperContribution = supplyChain.getContribution("Shipper"); + Contribution supplyChainContribution = supplyChain.getContribution("SupplyChain"); + + ClassReference customerClassRef = new ClassReference("supplychain.customer.Customer"); + customerClassRef = customerContribution.getModelResolver().resolveModel(ClassReference.class, customerClassRef); + Class customerClass = customerClassRef.getJavaClass(); + + Class customerClassFromContribution = customerContribution.getClassLoader().loadClass("supplychain.customer.Customer"); + Assert.assertEquals(customerClass, customerClassFromContribution); + + Object customer = supplyChain.getCustomer(customerClass); + Assert.assertTrue(customerClass.isInstance(customer)); + + ClassReference retailerClassRef = new ClassReference("supplychain.retailer.Retailer"); + retailerClassRef = retailerContribution.getModelResolver().resolveModel(ClassReference.class, retailerClassRef); + Class retailerClass = retailerClassRef.getJavaClass(); + + Class retailerClassFromContribution = retailerContribution.getClassLoader().loadClass("supplychain.retailer.Retailer"); + Assert.assertEquals(retailerClass, retailerClassFromContribution); + + Class retailerClassFromCustomer = customerContribution.getClassLoader().loadClass("supplychain.retailer.Retailer"); + Assert.assertEquals(retailerClass, retailerClassFromCustomer); + + ClassReference warehouseClassRef = new ClassReference("supplychain.warehouse.Warehouse"); + warehouseClassRef = warehouseContribution.getModelResolver().resolveModel(ClassReference.class, warehouseClassRef); + Class warehouseClass = warehouseClassRef.getJavaClass(); + + Class warehouseClassFromContribution = warehouseContribution.getClassLoader().loadClass("supplychain.warehouse.Warehouse"); + Assert.assertEquals(warehouseClass, warehouseClassFromContribution); + + Class warehouseClassFromRetailer = retailerContribution.getClassLoader().loadClass("supplychain.warehouse.Warehouse"); + Assert.assertEquals(warehouseClass, warehouseClassFromRetailer); + + ClassReference shipperClassRef = new ClassReference("supplychain.shipper.Shipper"); + shipperClassRef = shipperContribution.getModelResolver().resolveModel(ClassReference.class, shipperClassRef); + Class shipperClass = shipperClassRef.getJavaClass(); + + Class shipperClassFromContribution = shipperContribution.getClassLoader().loadClass("supplychain.shipper.Shipper"); + Assert.assertEquals(shipperClass, shipperClassFromContribution); + + Class shipperClassFromWarehouse = shipperContribution.getClassLoader().loadClass("supplychain.shipper.Shipper"); + Assert.assertEquals(shipperClass, shipperClassFromWarehouse); + + Class customerClassFromShipper = shipperContribution.getClassLoader().loadClass("supplychain.customer.Customer"); + Assert.assertEquals(customerClass, customerClassFromShipper); + + Class customerClassFromSupplyChain = supplyChainContribution.getClassLoader().loadClass("supplychain.customer.Customer"); + Assert.assertEquals(customerClass, customerClassFromSupplyChain); + Class retailerClassFromSupplyChain = supplyChainContribution.getClassLoader().loadClass("supplychain.retailer.Retailer"); + Assert.assertEquals(retailerClass, retailerClassFromSupplyChain); + Class warehouseClassFromSupplyChain = supplyChainContribution.getClassLoader().loadClass("supplychain.warehouse.Warehouse"); + Assert.assertEquals(warehouseClass, warehouseClassFromSupplyChain); + Class shipperClassFromSupplyChain = supplyChainContribution.getClassLoader().loadClass("supplychain.shipper.Shipper"); + Assert.assertEquals(shipperClass, shipperClassFromSupplyChain); + + } + + /** + * Test dynamic ClassLoading for classes that are visible from contribution + * + * @throws Exception + */ + public void dynamicClassLoadingTestForNonImportedClasses() throws Exception { + + Contribution customerContribution = supplyChain.getContribution("Customer"); + Contribution shipperContribution = supplyChain.getContribution("Shipper"); + + Class customerClass = customerContribution.getClassLoader().loadClass("supplychain.customer.Customer"); + Class shipperClass = shipperContribution.getClassLoader().loadClass("supplychain.shipper.Shipper"); + + try { + customerClass.getClassLoader().loadClass("supplychain.warehouse.Warehouse"); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + try { + customerClass.getClassLoader().loadClass("supplychain.shipper.JavaShipperComponentImpl"); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + + try { + Class.forName("supplychain.warehouse.Warehouse", true, customerClass.getClassLoader()); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + try { + Class.forName("supplychain.shipper.JavaShipperComponentImpl", true, customerClass.getClassLoader()); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + + try { + shipperClass.getClassLoader().loadClass("supplychain.warehouse.JavaWarehouseComponentImpl"); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + try { + shipperClass.getClassLoader().loadClass("supplychain.retailer.Retailer"); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + + try { + Class.forName("supplychain.warehouse.JavaWarehouseComponentImpl", true, shipperClass.getClassLoader()); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + try { + Class.forName("supplychain.retailer.Retailer", true, shipperClass.getClassLoader()); + Assert.fail("Non-imported class loaded incorrectly"); + } catch (ClassNotFoundException e) { + } + + + } + + + /** + * This test ensures that classes from imported packages can be statically loaded + * from other contributions even though the classes are not on CLASSPATH or on the + * parent ClassLoader, or the thread context ClassLoader. + * + * @throws Exception + */ + @Test + public void testValidStaticClassLoading() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader()); + + staticClassLoadingTestForVisibleClasses(); + } + + /** + * This test ensures that all imported classes are loaded from the exporting contributions + * rather than the parent classLoader. If any of the interface classes were incorrectly loaded + * through the parent ClassLoader, LinkageError should result. + * + * @throws Exception + */ + @Test + public void testValidStaticClassLoadingWithContributionsInParentClassLoader() throws Exception { + + + URLClassLoader parentClassLoader = new URLClassLoader( + supplyChain.getContributionURLs(), + this.getClass().getClassLoader()); + + supplyChain.setUp(parentClassLoader); + + staticClassLoadingTestForVisibleClasses(); + } + + + /** + * This test ensures that classes from imported packages can be dynamically loaded from + * other contributions even though the classes are not on CLASSPATH or on the + * parent ClassLoader, or the thread context ClassLoader. + * + * @throws Exception + */ + @Test + public void testValidDynamicClassLoading() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader()); + + dynamicClassLoadingTestForVisibleClasses(); + } + + /** + * This test ensures that all imported classes are dynamically loaded from the exporting + * contributions rather than the parent classLoader. If any of the interface classes were + * incorrectly loaded through the parent, NoClassDefFoundError or LinkageError should result. + * + * @throws Exception + */ + @Test + public void testValidDynamicClassLoadingWithContributionsInParentClassLoader() throws Exception { + + + URLClassLoader parentClassLoader = new URLClassLoader( + supplyChain.getContributionURLs(), + this.getClass().getClassLoader()); + + supplyChain.setUp(parentClassLoader); + + dynamicClassLoadingTestForVisibleClasses(); + } + + @Test + public void testIllegalStaticClassLoading1() throws Exception { + // FIXME we have commented this code as we are not throwing exceptions anymore + // need to deal with monitor logs to catch the errors. + + /*try { + supplyChain.setUp(this.getClass().getClassLoader(), SupplyChain.SUPPLYCHAIN_ILLEGAL_1); + + Assert.fail("Composite containing unresolved references resolved incorrectly"); + } catch (ContributionResolveException e) { + }*/ + } + + @Test + public void testIllegalStaticClassLoading2() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader(), SupplyChain.SUPPLYCHAIN_ILLEGAL_2); + + Contribution customerContribution = supplyChain.getContribution("Customer"); + ClassReference customerClassRef = new ClassReference("supplychain.customer.Customer"); + customerClassRef = customerContribution.getModelResolver().resolveModel(ClassReference.class, customerClassRef); + Class customerClass = customerClassRef.getJavaClass(); + + Object customer = supplyChain.getCustomer(customerClass); + + try { + Method m = customerClass.getMethod("purchaseGoods"); + m.invoke(customer); + + Assert.fail("Classloading exception not thrown as expected"); + } catch (InvocationTargetException e) { + + Throwable cause = e.getCause(); + Assert.assertTrue(cause instanceof NoClassDefFoundError); + Assert.assertTrue(cause.getMessage().indexOf("JavaWarehouseComponentImpl") > -1); } + + } + + /** + * This test ensures that classes from imported packages can be dynamically loaded from + * other contributions even though the classes are not on CLASSPATH or on the + * parent ClassLoader, or the thread context ClassLoader. + * + * @throws Exception + */ + @Test + public void testIllegalDynamicClassLoading() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader()); + + dynamicClassLoadingTestForNonImportedClasses(); + } + + + /** + * Self-contained contribution containing composites, componentType files and implementations + * should not require import/export statements for these files to find each other or for Tuscany + * to load these files. + * @throws Exception + */ + @Test + public void testSelfContainedContribution() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader(), SupplyChain.SUPPLYCHAIN_SELFCONTAINED); + + staticClassLoadingTestForVisibleClasses(); + } + + @Test + public void testContributionsWithSplitPackage() throws Exception { + + supplyChain.setUp(this.getClass().getClassLoader(), SupplyChain.SUPPLYCHAIN_SPLITPACKAGE); + + staticClassLoadingTestForVisibleClasses(); + + dynamicClassLoadingTestForNonImportedClasses(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/SupplyChain.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/SupplyChain.java new file mode 100644 index 0000000000..1ec7aaaa3a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/SupplyChain.java @@ -0,0 +1,231 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + + +import java.io.File; +import java.net.URL; +import java.util.Hashtable; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; +import org.junit.Assert; + +/* + * + * Contribution ClassLoading integration tests + */ + +public class SupplyChain { + + public static final int SUPPLYCHAIN = 0; + public static final int SUPPLYCHAIN_ILLEGAL_1 = 1; + public static final int SUPPLYCHAIN_ILLEGAL_2 = 2; + public static final int SUPPLYCHAIN_SELFCONTAINED = 3; + public static final int SUPPLYCHAIN_SPLITPACKAGE = 4; + + private String folderName = "../contribution-classes/target/classes"; + + private String customerJarName = "Customer"; + private String retailerJarName = "Retailer"; + private String warehouseJarName = "Warehouse"; + private String shipperJarName = "Shipper"; + private String supplychainJarName = "SupplyChain"; + private String illegalSupplyChain1JarName = "IllegalSupplyChain1"; + private String illegalSupplyChain2JarName = "IllegalSupplyChain2"; + private String illegalCustomerJarName = "IllegalCustomer"; + private String completeSupplychainJarName = "CompleteSupplyChain"; + private String customerInterfaceJarName = "CustomerInterface"; + private String customerImplJarName = "CustomerImpl"; + + + private EmbeddedSCADomain domain; + private ContributionService contributionService; + private int supplyChainVersion; + + private Hashtable contributions = new Hashtable(); + + private URL customerContribURL; + private URL retailerContribURL; + private URL warehouseContribURL; + private URL shipperContribURL; + private URL supplyChainContribURL; + private URL illegalSupplyChain1ContribURL; + private URL illegalSupplyChain2ContribURL; + private URL illegalCustomerContribURL; + private URL completeSupplyChainContribURL; + private URL customerInterfaceContribURL; + private URL customerImplContribURL; + + public SupplyChain() throws Exception { + + customerContribURL = new File(folderName + "/" + customerJarName + ".jar").toURI().toURL(); + retailerContribURL = new File(folderName + "/" + retailerJarName + ".jar").toURI().toURL(); + warehouseContribURL = new File(folderName + "/" + warehouseJarName + ".jar").toURI().toURL(); + shipperContribURL = new File(folderName + "/" + shipperJarName + ".jar").toURI().toURL(); + supplyChainContribURL = new File(folderName + "/" + supplychainJarName + ".jar").toURI().toURL(); + illegalSupplyChain1ContribURL = new File(folderName + "/" + illegalSupplyChain1JarName + ".jar").toURI().toURL(); + illegalSupplyChain2ContribURL = new File(folderName + "/" + illegalSupplyChain2JarName + ".jar").toURI().toURL(); + illegalCustomerContribURL = new File(folderName + "/" + illegalCustomerJarName + ".jar").toURI().toURL(); + completeSupplyChainContribURL = new File(folderName + "/" + completeSupplychainJarName + ".jar").toURI().toURL(); + customerInterfaceContribURL = new File(folderName + "/" + customerInterfaceJarName + ".jar").toURI().toURL(); + customerImplContribURL = new File(folderName + "/" + customerImplJarName + ".jar").toURI().toURL(); + } + + public void setUp(ClassLoader parentClassLoader) throws Exception { + this.setUp(parentClassLoader, SUPPLYCHAIN); + } + + public void setUp(ClassLoader parentClassLoader, int supplyChainVersion) throws Exception { + + this.supplyChainVersion = supplyChainVersion; + + Thread.currentThread().setContextClassLoader(parentClassLoader); + + //Create an embedded SCA domain + domain = new EmbeddedSCADomain(parentClassLoader, "http://localhost"); + + //Start the domain + domain.start(); + + this.contributionService = domain.getContributionService(); + + addContributions(supplyChainVersion); + } + + protected void addContributions(int supplyChainVersion) throws Exception { + + Contribution contribution; + + if (supplyChainVersion != SUPPLYCHAIN_SELFCONTAINED) { + contribution = contributionService.contribute("Shipper", shipperContribURL, true); + contributions.put("Shipper", contribution); + contribution = contributionService.contribute("Warehouse", warehouseContribURL, true); + contributions.put("Warehouse", contribution); + contribution = contributionService.contribute("Retailer", retailerContribURL, true); + contributions.put("Retailer", contribution); + } + + switch (supplyChainVersion) { + case SUPPLYCHAIN: + contribution = contributionService.contribute("Customer", customerContribURL, true); + contributions.put("Customer", contribution); + + contribution = contributionService.contribute("SupplyChain", supplyChainContribURL, true); + contributions.put("SupplyChain", contribution); + break; + case SUPPLYCHAIN_ILLEGAL_1: + contribution = contributionService.contribute("Customer", customerContribURL, true); + contributions.put("Customer", contribution); + + contribution = contributionService.contribute("SupplyChain", illegalSupplyChain1ContribURL, true); + contributions.put("SupplyChain", contribution); + break; + case SUPPLYCHAIN_ILLEGAL_2: + contribution = contributionService.contribute("Customer", illegalCustomerContribURL, true); + contributions.put("Customer", contribution); + + contribution = contributionService.contribute("SupplyChain", illegalSupplyChain2ContribURL, true); + contributions.put("SupplyChain", contribution); + break; + case SUPPLYCHAIN_SELFCONTAINED: + contribution = contributionService.contribute("SupplyChain", completeSupplyChainContribURL, true); + contributions.put("SupplyChain", contribution); + break; + case SUPPLYCHAIN_SPLITPACKAGE: + contribution = contributionService.contribute("Customer", customerInterfaceContribURL, true); + contributions.put("Customer", contribution); + + contribution = contributionService.contribute("CustomerImpl", customerImplContribURL, true); + contributions.put("CustomerImpl", contribution); + + contribution = contributionService.contribute("SupplyChain", supplyChainContribURL, true); + contributions.put("SupplyChain", contribution); + break; + } + + // SUPPLYCHAIN_ILLEGAL_1 should throw an exception when the composite is resolved, and hence + // should not get this far. + Assert.assertTrue(supplyChainVersion != SUPPLYCHAIN_ILLEGAL_1); + + + for (Contribution c : contributions.values()) { + + for (Composite deployable : c.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + } + + // Start Components from my composite + for (Composite deployable : contributions.get("SupplyChain").getDeployables() ) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + } + + public void tearDown() throws Exception { + + if (domain == null) + return; + + for (String contributionURI : contributions.keySet()) { + contributionService.remove(contributionURI); + } + + + if (contributions.get("SupplyChain") != null) { + // Stop Components from my composite + for (Composite deployable : contributions.get("SupplyChain").getDeployables() ) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + } + + domain.stop(); + + domain.close(); + } + + public Contribution getContribution(String uri) { + if (supplyChainVersion == SUPPLYCHAIN_SELFCONTAINED) + return contributions.get("SupplyChain"); + else + return contributions.get(uri); + } + + public Object getCustomer(Class customerClass) { + return domain.getService(customerClass, "CustomerComponent"); + } + + public URL[] getContributionURLs() { + return new URL[] { + customerContribURL, + retailerContribURL, + warehouseContribURL, + shipperContribURL, + supplyChainContribURL + }; + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/TuscanyClassloadingTestCaseFIXME.java b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/TuscanyClassloadingTestCaseFIXME.java new file mode 100644 index 0000000000..b123951ef6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/contribution-test/src/test/java/org/apache/tuscany/sca/test/contribution/TuscanyClassloadingTestCaseFIXME.java @@ -0,0 +1,381 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.extensibility.ServiceDiscovery; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.osoa.sca.ServiceReference; + +/* + * + * Contribution ClassLoading integration tests + */ + +//FIXME This test case needs some serious rework! +// First it is very dependent on the names of the Tuscany runtime JARs +// and this is going to be difficult to maintain +// Second its usage of reflection requires the Tuscany implementation classes +// to be made public and this breaks isolation between modules. +public class TuscanyClassloadingTestCaseFIXME { + + // private static final int SCA_API = 1; + // private static final int TUSCANY_CORE_SPI = 2; + // private static final int TUSCANY_RUNTIME = 3; + // private static final int TUSCANY_EXTENSIONS = 4; + // private static final int TUSCANY_DEPENDENCIES = 0; + + private static final String[] scaApiJars = {"sca-api"}; + private static final String[] tuscanyCoreSpiJars = + {"core-spi", "interface", "interface-java", "interface-wsdl", "assembly", "policy", "databinding", + "contribution", "definitions"}; + private static final String[] tuscanyRuntimeJars = + { + + "binding-sca-xml", "binding-sca", "assembly-java-dsl", "assembly-xml", "assembly-xsd", "contribution-impl", + "contribution-java", "contribution-namespace", "core-databinding", "core-spring", "core", "definitions-xml", + "domain-api", "domain-impl", "domain", "extension-helper", "host-embedded", "interface-java-xml", + "interface-wsdl-xml", "java2wsdl", "node-api", "node-impl", "node", "osgi-runtime", "policy-logging", + "policy-security", "policy-transaction", "policy-xml", "wsdl2java"}; + private static final String[] tuscanyExtensionJars = + {"binding-dwr", "binding-ejb", "binding-feed", "binding-http", "binding-jms", "binding-jsonrpc", + "binding-notification", "binding-rmi", "binding-sca-axis2", "binding-ws-axis2", "binding-ws-xml", + "binding-ws", "databinding-axiom", "databinding-fastinfoset", "databinding-jaxb", "databinding-json", + "databinding-saxon", "databinding-sdo-axiom", "databinding-sdo", "databinding-xmlbeans", "host-http", + "host-jetty", "host-rmi", "host-tomcat", "host-webapp", "implementation-das.jar", "implementation-data.jar", + "implementation-java-runtime", "implementation-java-xml", "implementation-java", + "implementation-node-runtime", "implementation-node-xml", "implementation-node", + "implementation-notification", "implementation-osgi", "implementation-resource", "implementation-script", + "implementation-spring", "implementation-xquery", "contribution-osgi"}; + + private Class embeddedDomainClass; + Object domain; + + @Before + public void setUp() throws Exception { + + embeddedDomainClass = getEmbeddedDomainClass(); + + Constructor c = embeddedDomainClass.getConstructor(ClassLoader.class, String.class); + // Create an embedded domain + domain = c.newInstance(embeddedDomainClass.getClassLoader(), "http://localhost"); + + // Start the domain + invokeNoArgsMethod(domain, "start"); + + } + + @After + public void tearDown() throws Exception { + + // Stop the domain + invokeNoArgsMethod(domain, "stop"); + + } + + /** + * Create a ClassLoader hierarchy for Tuscany runtime + * Dependencies <- SCA-API <- Core-SPI+ Runtime <- Extensions + * Load the embedded SCA domain class using the runtime ClassLoader + * + * @return embedded SCA domain class + * @throws Exception + */ + private Class getEmbeddedDomainClass() throws Exception { + + URL[] scaApiUrls; + URL[] runtimeUrls; + URL[] extensionUrls; + URL[] dependencyUrls; + + // When the test is run under Eclipse, the ClassLoader for the test is + // sun.misc.Launcher$AppClassLoader. The first code path is taken. + // When the test is run under Maven, the ClassLoader for the test is + // org.apache.maven.surefire.booter.IsolatedClassLoader, which is a subclass + // of URLClassLoader. The second code path is taken. + if (!(this.getClass().getClassLoader() instanceof URLClassLoader)) { + String classPath = System.getProperty("java.class.path"); + String[] classPathEntries = classPath.split(System.getProperty("path.separator")); + HashSet dependentJars = new HashSet(); + for (int i = 0; i < classPathEntries.length; i++) { + dependentJars.add(classPathEntries[i]); + } + + scaApiUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars, scaApiJars); + runtimeUrls = + getTuscanyClassLoaderURLs(classPathEntries, dependentJars, tuscanyCoreSpiJars, tuscanyRuntimeJars); + extensionUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars, tuscanyExtensionJars); + dependencyUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars); + } else { + HashSet dependentJars = new HashSet(); + URL[] classPathEntries = ((URLClassLoader)this.getClass().getClassLoader()).getURLs(); + for (int i = 0; i < classPathEntries.length; i++) { + dependentJars.add(classPathEntries[i]); + } + scaApiUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars, scaApiJars); + runtimeUrls = + getTuscanyClassLoaderURLs(classPathEntries, dependentJars, tuscanyCoreSpiJars, tuscanyRuntimeJars); + extensionUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars, tuscanyExtensionJars); + dependencyUrls = getTuscanyClassLoaderURLs(classPathEntries, dependentJars); + + } + + boolean useSingleClassLoader = + (scaApiUrls == null || scaApiUrls.length == 0) || (runtimeUrls == null || runtimeUrls.length == 0) + || (extensionUrls == null || extensionUrls.length == 0) + || (dependencyUrls == null || dependencyUrls.length == 0); + + if (useSingleClassLoader) { + return EmbeddedSCADomain.class; + } else { + + ClassLoader dependencyLoader = new URLClassLoader(dependencyUrls, null); + ClassLoader scaApiLoader = new URLClassLoader(scaApiUrls, dependencyLoader); + ClassLoader runtimeClassLoader = new URLClassLoader(runtimeUrls, scaApiLoader); + ClassLoader extensionClassLoader = new URLClassLoader(extensionUrls, runtimeClassLoader); + + Class serviceDiscoveryClass = runtimeClassLoader.loadClass(ServiceDiscovery.class.getName()); + Method getInstanceMethod = serviceDiscoveryClass.getMethod("getInstance"); + Object serviceDiscoveryObj = getInstanceMethod.invoke(null); + Method registerClassLoaderMethod = + serviceDiscoveryClass.getMethod("registerClassLoader", ClassLoader.class); + registerClassLoaderMethod.invoke(serviceDiscoveryObj, extensionClassLoader); + + Thread.currentThread().setContextClassLoader(extensionClassLoader); + + return runtimeClassLoader.loadClass(EmbeddedSCADomain.class.getName()); + + } + + } + + /** + * From the list of entries in the test ClassLoader, match + * Tuscany jars corresponding to a ClassLoader, and return the list + * of matching entries as URLs. + * This method is used when the test is run under eclipse, using CLASSPATH + * based application ClassLoader. + * + * @param classPathEntries List of entries on CLASSPATH + * @param dependentJars Complete set of jars, remove jars corresponding to this + * ClassLoader from the set. + * @param jars List of Tuscany jars corresponding to this ClassLoader + * @return Matching URLs for the ClassLoader + * @throws IOException + */ + private URL[] getTuscanyClassLoaderURLs(String[] classPathEntries, HashSet dependentJars, String[]... jars) + throws IOException { + + String pathSeparator = System.getProperty("file.separator"); + HashSet classPathEntrySet; + + if (jars.length == 0) + classPathEntrySet = dependentJars; + else { + classPathEntrySet = new HashSet(); + + for (int i = 0; i < classPathEntries.length; i++) { + + String classPathEntry = classPathEntries[i]; + for (int j = 0; j < jars.length; j++) { + String[] jarList = jars[j]; + if (jarList != null) { + for (int k = 0; k < jarList.length; k++) { + String jarName = "tuscany-" + jarList[k]; + String alternateJarName = "modules" + pathSeparator + jarList[k]; + if (classPathEntry.indexOf(jarName) >= 0 || classPathEntry.indexOf(alternateJarName) >= 0) { + classPathEntrySet.add(classPathEntry); + dependentJars.remove(classPathEntry); + } + } + } + } + } + + } + ArrayList urls = new ArrayList(); + + for (String fileName : classPathEntrySet) { + File file = new File((String)fileName); + if (!file.exists()) { + throw new FileNotFoundException(fileName); + + } else { + urls.add(file.toURL()); + + } + } + + return (URL[])urls.toArray(new URL[urls.size()]); + } + + /** + * From the list of URLs of the test ClassLoader, match + * Tuscany jars corresponding to a ClassLoader, and return the matching URLs + * This method is used when the test is run under Maven. The test ClassLoader is + * org.apache.maven.surefire.booter.IsolatedClassLoader, which is a subclass + * of URLClassLoader + * + * @param classPathEntries List of URLs from the test ClassLoader + * @param dependentJars Complete set of jars, remove jars corresponding to this + * ClassLoader from the set. + * @param jars List of Tuscany jars corresponding to this ClassLoader + * @return Matching URLs for the ClassLoader + * @throws IOException + */ + private URL[] getTuscanyClassLoaderURLs(URL[] classPathEntries, HashSet dependentJars, String[]... jars) + throws IOException { + + String pathSeparator = System.getProperty("file.separator"); + HashSet classPathEntrySet; + + if (jars.length == 0) + classPathEntrySet = dependentJars; + else { + classPathEntrySet = new HashSet(); + + for (int i = 0; i < classPathEntries.length; i++) { + + URL classPathEntry = classPathEntries[i]; + String classPathEntryStr = classPathEntry.getPath(); + for (int j = 0; j < jars.length; j++) { + String[] jarList = jars[j]; + if (jarList != null) { + for (int k = 0; k < jarList.length; k++) { + String jarName = "tuscany-" + jarList[k]; + String alternateJarName = "modules" + pathSeparator + jarList[k]; + if (classPathEntryStr.indexOf(jarName) >= 0 || classPathEntryStr.indexOf(alternateJarName) >= 0) { + classPathEntrySet.add(classPathEntry); + dependentJars.remove(classPathEntry); + } + } + } + } + } + + } + return (URL[])classPathEntrySet.toArray(new URL[classPathEntrySet.size()]); + } + + private Object invokeNoArgsMethod(Object obj, String methodName) throws Exception { + + return obj.getClass().getMethod(methodName).invoke(obj); + } + + private Object invokeOneArgMethod(Object obj, String methodName, Class argType, Object arg) throws Exception { + + return obj.getClass().getMethod(methodName, argType).invoke(obj, arg); + } + + /** + * + * Load Tuscany runtime using multiple ClassLoaders, and run supplychain + * test. + * + * @throws Exception + */ + @SuppressWarnings("unchecked") + @Test + public void test() throws Exception { + + ClassLoader runtimeClassloader = embeddedDomainClass.getClassLoader(); + + if (runtimeClassloader == this.getClass().getClassLoader()) { + System.out.println("Runtime and test loaded using the same classloader " + runtimeClassloader); + } else { + System.out + .println("Running test using separate Tuscany classloaders, runtime classloader=" + runtimeClassloader); + ClassLoader apiClassLoader = + runtimeClassloader.loadClass(ServiceReference.class.getName()).getClassLoader(); + Assert.assertTrue(apiClassLoader != runtimeClassloader); + + try { + runtimeClassloader.loadClass("org.apache.tuscany.sca.implementation.java.JavaImplementation"); + Assert.fail("Loaded extension class incorrectly from runtimeClassLoader"); + } catch (ClassNotFoundException e) { + } + + } + + // Contribute supplychain (as single contribution) + Object contributionService = invokeNoArgsMethod(domain, "getContributionService"); + Method contributeMethod = + contributionService.getClass().getMethod("contribute", String.class, URL.class, boolean.class); + + String folderName = "../contribution-classes/target/classes"; + String supplychainJarName = "CompleteSupplyChain"; + URL supplyChainContribURL = new File(folderName + "/" + supplychainJarName + ".jar").toURL(); + Object contribution = contributeMethod.invoke(contributionService, "SupplyChain", supplyChainContribURL, true); + + Object composite = ((List)invokeNoArgsMethod(contribution, "getDeployables")).get(0); + Object domainComposite = invokeNoArgsMethod(domain, "getDomainComposite"); + List includes = (List)invokeNoArgsMethod(domainComposite, "getIncludes"); + includes.add(composite); + //Object compositeBuilder = invokeNoArgsMethod(domain, "getCompositeBuilder"); + Object compositeActivator = invokeNoArgsMethod(domain, "getCompositeActivator"); + + Class compositeClass = embeddedDomainClass.getClassLoader().loadClass(Composite.class.getName()); + invokeOneArgMethod(domain, "buildComposite", compositeClass, composite); + invokeOneArgMethod(compositeActivator, "activate", compositeClass, composite); + invokeOneArgMethod(compositeActivator, "start", compositeClass, composite); + + // Get customer service + Method getClassLoaderMethod = contribution.getClass().getMethod("getClassLoader"); + ClassLoader classLoader = (ClassLoader)getClassLoaderMethod.invoke(contribution); + + Class customerClass = classLoader.loadClass("supplychain.customer.Customer"); + Method getServiceMethod = embeddedDomainClass.getMethod("getService", Class.class, String.class); + Object customer = getServiceMethod.invoke(domain, customerClass, "CustomerComponent"); + + // Invoke purchaseGoods + Method m = customerClass.getMethod("purchaseGoods"); + m.invoke(customer); + + m = customerClass.getMethod("outstandingOrderCount"); + + int retries = 10; + int outstandingCount = 1; + while (retries-- > 0) { + + outstandingCount = (int)(Integer)m.invoke(customer); + if (outstandingCount == 0) + break; + else + Thread.sleep(100); + } + Assert.assertEquals(0, outstandingCount); + + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-classloader/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/pom.xml new file mode 100644 index 0000000000..7749a8cef0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-classloader/pom.xml @@ -0,0 +1,51 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-classloader + pom + Apache Tuscany Contribution ClassLoader Integration Tests + + + contribution-classes + contribution-test + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-contribution-impl + 2.0-incubating-SNAPSHOT + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/pom.xml new file mode 100644 index 0000000000..3f436719b7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/pom.xml @@ -0,0 +1,67 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-export-composite + Apache Tuscany SCA Contribution Export Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/Hello.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/Hello.java new file mode 100644 index 0000000000..e65422136f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/Hello.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 hello; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the Hello service. + */ +@Remotable +public interface Hello { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/HelloImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/HelloImpl.java new file mode 100644 index 0000000000..5369c18497 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/java/hello/HelloImpl.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 hello; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(Hello.class) +public class HelloImpl implements Hello { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..3c14560a56 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/hello.composite b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/hello.composite new file mode 100644 index 0000000000..636b7111d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/main/resources/hello.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/test/java/org/apache/tuscany/sca/test/contribution/HelloTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/test/java/org/apache/tuscany/sca/test/contribution/HelloTestCase.java new file mode 100644 index 0000000000..72b77564d2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-composite/src/test/java/org/apache/tuscany/sca/test/contribution/HelloTestCase.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.test.contribution; + +import hello.Hello; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * Tests that the helloworld server is available + */ +public class HelloTestCase extends TestCase { + private ClassLoader cl; + private EmbeddedSCADomain domain; + + @Override + protected void setUp() throws Exception { + // Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + // Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + URL helloURL = getContributionURL(Hello.class); + + // File helloContrib = new File("./target/classes/"); + // URL helloURL = helloContrib.toURL(); + Contribution consumerContribution = + contributionService.contribute("http://import-export/hello", helloURL, false); + Composite consumerComposite = consumerContribution.getDeployables().get(0); + domain.getDomainComposite().getIncludes().add(consumerComposite); + domain.buildComposite(consumerComposite); + + // Start Components from my composite + domain.getCompositeActivator().activate(consumerComposite); + domain.getCompositeActivator().start(consumerComposite); + } + + private URL getContributionURL(Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cls.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + + public void testHello() throws IOException { + Hello hello = domain.getService(Hello.class, "HelloServiceComponent"); + assertNotNull(hello); + assertEquals(hello.getGreetings("lresende"), "Hello lresende"); + } + + @Override + public void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/pom.xml new file mode 100644 index 0000000000..97a69a4bf6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/pom.xml @@ -0,0 +1,67 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-export-java + Apache Tuscany SCA Contribution Java Export Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..74d22ed830 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/java/helloworld/HelloWorldService.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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..dc33dfa560 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/helloworld/HelloWorldImpl.componentType b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/helloworld/HelloWorldImpl.componentType new file mode 100644 index 0000000000..5a14b41650 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-java/src/main/resources/helloworld/HelloWorldImpl.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/pom.xml new file mode 100644 index 0000000000..428e6bd3ed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/pom.xml @@ -0,0 +1,31 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-export-resource + Apache Tuscany SCA Contribution Resource Export Integration Tests + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..f11eacb416 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/ufservices/store.html b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/ufservices/store.html new file mode 100644 index 0000000000..1ff281373a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-resource/src/main/resources/ufservices/store.html @@ -0,0 +1,27 @@ + + + +Store + + + +

Sample Store Page

+ + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/pom.xml new file mode 100644 index 0000000000..b6e0c425bc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/pom.xml @@ -0,0 +1,31 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-export-wsdl + Apache Tuscany SCA Contribution WSDL Export Integration Tests + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b7394ec14b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.wsdl new file mode 100644 index 0000000000..9b31363e1a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.wsdl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.xsd b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.xsd new file mode 100644 index 0000000000..d3c83b08c6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/export-wsdl/src/main/resources/helloworld.xsd @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/pom.xml new file mode 100644 index 0000000000..6a7d43061c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-import-composite + Apache Tuscany SCA Contribution Import Integration Tests + + + + org.apache.tuscany.sca + itest-contribution-export-composite + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..966f56d7d5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldImpl.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 helloworld; + +import hello.Hello; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + @Reference + protected Hello helloServiceRef; + + public String getGreetings(String name) { + return helloServiceRef.getGreetings(name); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldServer.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldServer.java new file mode 100644 index 0000000000..3d43290380 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldServer.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package helloworld; + +import java.io.IOException; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This server program shows how to create an SCA runtime, and start it which + * activates the helloworld Web service endpoint. + */ +public class HelloWorldServer { + + public static void main(String[] args) { + + SCADomain scaDomain = SCADomain.newInstance("helloworldws.composite"); + + try { + System.out.println("HelloWorld server started (press enter to shutdown)"); + System.in.read(); + } catch (IOException e) { + e.printStackTrace(); + } + + scaDomain.close(); + System.out.println("HelloWorld server stopped"); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..74d22ed830 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/java/helloworld/HelloWorldService.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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..9f3f5be452 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.wsdl new file mode 100644 index 0000000000..9b31363e1a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.wsdl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.xsd b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.xsd new file mode 100644 index 0000000000..d3c83b08c6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworld.xsd @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworldws.composite b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworldws.composite new file mode 100644 index 0000000000..e2f852ff7e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/main/resources/helloworldws.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/test/java/org/apache/tuscany/test/contribution/HelloWorldServerTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/test/java/org/apache/tuscany/test/contribution/HelloWorldServerTestCase.java new file mode 100644 index 0000000000..1176a89143 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-composite/src/test/java/org/apache/tuscany/test/contribution/HelloWorldServerTestCase.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.test.contribution; + +import hello.Hello; +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.Socket; +import java.net.URL; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * Tests that the helloworld server is available + */ +public class HelloWorldServerTestCase extends TestCase { + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution helloWorldContribution; + private Contribution compositeContribution; + + @Override + protected void setUp() throws Exception { + //Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + // File compositeContribLocation = new File("../export-composite/target/classes"); + // URL compositeContribURL = compositeContribLocation.toURL(); + URL compositeContribURL = getContributionURL(Hello.class); + compositeContribution = + contributionService.contribute("http://import-export/export-composite", compositeContribURL, false); + for (Composite deployable : compositeContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + +// File helloWorldContribLocation = new File("./target/classes/"); +// URL helloWorldContribURL = helloWorldContribLocation.toURL(); + URL helloWorldContribURL = getContributionURL(HelloWorldService.class); + helloWorldContribution = + contributionService.contribute("http://import-export/helloworld", helloWorldContribURL, false); + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + // Start Components from my composite + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + } + + private URL getContributionURL(Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cls.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + + public void testPing() throws IOException { + new Socket("127.0.0.1", 8085); + } + + public void testServiceCall() throws IOException { + HelloWorldService helloWorldService = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent/HelloWorldService"); + assertNotNull(helloWorldService); + + assertEquals("Hello Smith", helloWorldService.getGreetings("Smith")); + } + + @Override + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://import-export/helloworld"); + contributionService.remove("http://import-export/export-composite"); + + //Stop Components from my composite + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + + domain.stop(); + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/pom.xml new file mode 100644 index 0000000000..788123a781 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-import-java + Apache Tuscany SCA Contribution Java Import Java Integration Tests + + + + org.apache.tuscany.sca + itest-contribution-export-java + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..4cdcc1fd0b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/java/helloworld/HelloWorldImpl.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 helloworld; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..224e2c4d79 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/helloworldws.composite b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/helloworldws.composite new file mode 100644 index 0000000000..9b650e4acc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/main/resources/helloworldws.composite @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java new file mode 100644 index 0000000000..431988cc04 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-java/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java @@ -0,0 +1,127 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + +import helloworld.HelloWorldImpl; +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * Tests that the helloworld server is available + */ +public class HelloWorldServerTestCase extends TestCase { + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution helloWorldContribution; + private Contribution javaContribution; + + @Override + protected void setUp() throws Exception { + //Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + //File javaContribLocation = new File("../export-java/target/classes"); + //URL javaContribURL = javaContribLocation.toURL(); + URL javaContribURL = getContributionURL(HelloWorldService.class); + javaContribution = contributionService.contribute("http://import-export/export-java", javaContribURL, false); + for (Composite deployable : javaContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + //File helloWorldContribLocation = new File("./target/classes/"); + //URL helloWorldContribURL = helloWorldContribLocation.toURL(); + URL helloWorldContribURL = getContributionURL(HelloWorldImpl.class); + helloWorldContribution = contributionService.contribute("http://import-export/helloworld", helloWorldContribURL, false); + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + // Start Components from my composite + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + } + + private URL getContributionURL(Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cls.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + + public void testPing() throws IOException { + HelloWorldService helloWorldService = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent/HelloWorldService"); + assertNotNull(helloWorldService); + assertEquals("Hello test", helloWorldService.getGreetings("test")); + } + + public void testServiceCall() throws IOException { + HelloWorldService helloWorldService = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent/HelloWorldService"); + assertNotNull(helloWorldService); + + assertEquals("Hello Smith", helloWorldService.getGreetings("Smith")); + } + + @Override + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://import-export/helloworld"); + contributionService.remove("http://import-export/export-java"); + + // Stop Components from my composite + for (Composite deployable : helloWorldContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + + domain.stop(); + + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/pom.xml new file mode 100644 index 0000000000..ca0a44ad4f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/pom.xml @@ -0,0 +1,95 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-import-resource + Apache Tuscany SCA Contribution Resource Import Java Integration Tests + + + + + org.apache.tuscany.sca + itest-contribution-export-resource + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-http + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-http-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-resource-runtime + 2.0-incubating-SNAPSHOT + test + + + + javax.servlet + servlet-api + 2.5 + provided + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..ac6d7becb3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/store.composite b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/store.composite new file mode 100644 index 0000000000..bb5a7b764f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/main/resources/store.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/test/java/org/apache/tuscany/sca/test/contribution/StoreTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/test/java/org/apache/tuscany/sca/test/contribution/StoreTestCase.java new file mode 100644 index 0000000000..1b7542b7d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-resource/src/test/java/org/apache/tuscany/sca/test/contribution/StoreTestCase.java @@ -0,0 +1,129 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.Socket; +import java.net.URL; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * Tests that the helloworld server is available + */ +public class StoreTestCase extends TestCase { + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution storeContribution; + private Contribution resourceContribution; + + @Override + protected void setUp() throws Exception { + //Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + URL javaContribURL = getContributionURL(cl, "ufservices/store.html"); + resourceContribution = contributionService.contribute("http://import-export/export-resource", javaContribURL, false); + for (Composite deployable : resourceContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + URL storeContributionURL = getContributionURL(cl, "store.composite"); + + storeContribution = + contributionService.contribute("http://import-export/store", storeContributionURL, false); + for (Composite deployable : storeContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + // Start Components from my composite + for (Composite deployable : storeContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + } + + public void testPing() throws IOException { + new Socket("127.0.0.1", 8085); + } + + + @Override + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://import-export/store"); + contributionService.remove("http://import-export/export-resource"); + + // Stop Components from my composite + for (Composite deployable : storeContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + + domain.stop(); + + domain.close(); + } + + + /** + * Utility methods + */ + + + private URL getContributionURL(ClassLoader cl, Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cl.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + + private URL getContributionURL(ClassLoader cl, String uri) throws MalformedURLException { + URL url = cl.getResource(uri); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - uri.length()); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/pom.xml new file mode 100644 index 0000000000..fb0951d7bf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-import-wsdl + Apache Tuscany SCA Contribution WSDL Import Integration Tests + + + + org.apache.tuscany.sca + itest-contribution-export-wsdl + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + junit + junit + 4.2 + test + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..4cdcc1fd0b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldImpl.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 helloworld; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldServer.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldServer.java new file mode 100644 index 0000000000..3d43290380 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldServer.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package helloworld; + +import java.io.IOException; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This server program shows how to create an SCA runtime, and start it which + * activates the helloworld Web service endpoint. + */ +public class HelloWorldServer { + + public static void main(String[] args) { + + SCADomain scaDomain = SCADomain.newInstance("helloworldws.composite"); + + try { + System.out.println("HelloWorld server started (press enter to shutdown)"); + System.in.read(); + } catch (IOException e) { + e.printStackTrace(); + } + + scaDomain.close(); + System.out.println("HelloWorld server stopped"); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..74d22ed830 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/java/helloworld/HelloWorldService.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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..d46fe0b57c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/helloworldws.composite b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/helloworldws.composite new file mode 100644 index 0000000000..5008a2ea5b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/main/resources/helloworldws.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java new file mode 100644 index 0000000000..5c40606e50 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/import-wsdl/src/test/java/org/apache/tuscany/sca/test/contribution/HelloWorldServerTestCase.java @@ -0,0 +1,137 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.test.contribution; + +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.Socket; +import java.net.URL; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * Tests that the helloworld server is available + */ +public class HelloWorldServerTestCase extends TestCase { + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution wsdlContribution; + private Contribution consumerContribution; + + @Override + protected void setUp() throws Exception { + // Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + // File wsdlContribLocation = new File("../export-wsdl/target/classes"); + // URL wsdlContribURL = wsdlContribLocation.toURL(); + URL wsdlContribURL = getContributionURL(getClass().getClassLoader(), "helloworld.wsdl"); + wsdlContribution = contributionService.contribute("http://import-export/export-wsdl", wsdlContribURL, false); + for (Composite deployable : wsdlContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + // File helloWorldContribLocation = new File("./target/classes/"); + // URL helloWorldContribURL = helloWorldContribLocation.toURL(); + URL helloWorldContribURL = getContributionURL(HelloWorldService.class); + consumerContribution = + contributionService.contribute("http://import-export/helloworld", helloWorldContribURL, false); + for (Composite deployable : consumerContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + // Start Components from my composite + for (Composite deployable : consumerContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + } + + public void testPing() throws IOException { + new Socket("127.0.0.1", 8085); + } + + private URL getContributionURL(Class cls) throws MalformedURLException { + String flag = "/" + cls.getName().replace('.', '/') + ".class"; + URL url = cls.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length() + 1); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + return url; + } + + private URL getContributionURL(ClassLoader cl, String flag) throws MalformedURLException { + URL url = cl.getResource(flag); + String root = url.toExternalForm(); + root = root.substring(0, root.length() - flag.length()); + if (root.startsWith("jar:") && root.endsWith("!/")) { + root = root.substring(4, root.length() - 2); + } + url = new URL(root); + // System.out.println(url); + return url; + } + + public void testServiceCall() throws IOException { + HelloWorldService helloWorldService = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent/HelloWorldService"); + assertNotNull(helloWorldService); + + assertEquals("Hello Smith", helloWorldService.getGreetings("Smith")); + } + + @Override + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://import-export/helloworld"); + contributionService.remove("http://import-export/export-wsdl"); + + // Stop Components from my composite + for (Composite deployable : consumerContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + + domain.stop(); + + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-import-export/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/pom.xml new file mode 100644 index 0000000000..b1c8196a33 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-import-export/pom.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-import-export + pom + Apache Tuscany SCA Contribution Import/Export Integration Tests + + + export-composite + export-java + export-resource + export-wsdl + import-composite + import-java + import-resource + import-wsdl + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-contribution-impl + 2.0-incubating-SNAPSHOT + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/pom.xml new file mode 100644 index 0000000000..bde64e79aa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/pom.xml @@ -0,0 +1,51 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution-multiple + Apache Tuscany SCA Multiple Contribution Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-contribution-impl + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/Hello.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/Hello.java new file mode 100644 index 0000000000..7e574a7db3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/Hello.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 hello; + +/** + * This is the business interface of the Hello service. + */ +public interface Hello { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/HelloImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/HelloImpl.java new file mode 100644 index 0000000000..ff9f6e75f3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/hello/HelloImpl.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 hello; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(Hello.class) +public class HelloImpl implements Hello { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..c062afaed0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldImpl.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 helloworld; + +import hello.Hello; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + @Reference + protected Hello helloServiceRef; + + public String getGreetings(String name) { + return helloServiceRef.getGreetings(name); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..5251fc0a45 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/helloworld/HelloWorldService.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 helloworld; + + +/** + * This is the business interface of the HelloWorld greetings service. + */ +public interface HelloWorldService { + + public String getGreetings(String name); +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionCycleTestCaseFIXME.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionCycleTestCaseFIXME.java new file mode 100644 index 0000000000..ec5123eb2d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionCycleTestCaseFIXME.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 test; + +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.URL; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +import junit.framework.TestCase; + +/** + * Test multiple contributions scenario + * + * FIXME This test case causes a StackOverflowException instead of + * reporting an error when a composite is not found, as there's a + * dependency cycle in the test contributions and the model resolvers + * do not handle import cycles properly. + * + */ +public class ContributionCycleTestCaseFIXME extends TestCase { + + private String helloContribution_dir = "target/test-classes/contribution-cycle-export"; + private String helloWorldContribution_one_dir = "target/test-classes/contribution-cycle-import"; + + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution helloContribution; + private Contribution helloWorldContribution_one; + + protected void setUp() throws Exception { + URL helloContribution_URL = new java.io.File(helloContribution_dir).toURI().toURL(); + URL helloWorldContribution_one_URL = new java.io.File(helloWorldContribution_one_dir).toURI().toURL(); + + // Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + // Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + helloContribution = + contributionService.contribute("http://contribution-multiple/helloworld", helloContribution_URL, false); + + for (Composite deployable : helloContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + for (Composite deployable : helloContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + helloWorldContribution_one = + contributionService.contribute("http://contribution-multiple/helloworld_one", helloWorldContribution_one_URL, false); + for (Composite deployable : helloWorldContribution_one.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + for (Composite deployable : helloWorldContribution_one.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + } + + public void testServiceCall() throws IOException { + HelloWorldService helloWorldService_one = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent_one/HelloWorldService"); + assertNotNull(helloWorldService_one); + + assertEquals("Hello Smith", helloWorldService_one.getGreetings("Smith")); + + } + + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://contribution-multiple/helloworld"); + contributionService.remove("http://contribution-multiple/helloworld_one"); + + // Stop Components from my composite + for (Composite deployable : helloWorldContribution_one.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + for (Composite deployable : helloContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + // domain.stop(); + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionMultipleTestCaseFIXME.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionMultipleTestCaseFIXME.java new file mode 100644 index 0000000000..133c98f357 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionMultipleTestCaseFIXME.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 test; + +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.URL; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +import junit.framework.TestCase; + +/** + * Test multiple contribution scenario + * Contributed by TUSCANY-1718 + */ +public class ContributionMultipleTestCaseFIXME extends TestCase { + + private String helloContribution_dir = "target/test-classes/contribution-export"; + private String helloWorldContribution_one_dir = "target/test-classes/contribution-import-one"; + private String helloWorldContribution_two_dir = "target/test-classes/contribution-import-two"; + + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution helloContribution; + private Contribution helloWorldContribution_one; + private Contribution helloWorldContribution_two; + + protected void setUp() throws Exception { + URL helloContribution_URL = new java.io.File(helloContribution_dir).toURI().toURL(); + URL helloWorldContribution_one_URL = new java.io.File(helloWorldContribution_one_dir).toURI().toURL(); + URL helloWorldContribution_two_URL = new java.io.File(helloWorldContribution_two_dir).toURI().toURL(); + + // Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + // Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + helloContribution = + contributionService.contribute("http://contribution-multiple/helloworld", helloContribution_URL, false); + + helloWorldContribution_one = + contributionService.contribute("http://contribution-multiple/helloworld_one", helloWorldContribution_one_URL, false); + + helloWorldContribution_two = + contributionService.contribute("http://contribution-multiple/helloworld_two", helloWorldContribution_two_URL, false); + + for (Composite deployable : helloContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + } + + for (Composite deployable : helloWorldContribution_one.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + } + + for (Composite deployable : helloWorldContribution_two.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + } + + domain.buildComposite(domain.getDomainComposite()); + domain.getCompositeActivator().activate(domain.getDomainComposite()); + domain.getCompositeActivator().start(domain.getDomainComposite()); + + } + + public void testServiceCall() throws IOException { + HelloWorldService helloWorldService_one = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent_one/HelloWorldService"); + assertNotNull(helloWorldService_one); + + assertEquals("Hello Smith", helloWorldService_one.getGreetings("Smith")); + + HelloWorldService helloWorldService_two = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent_two/HelloWorldService"); + assertNotNull(helloWorldService_two); + + assertEquals("Hello Smith", helloWorldService_two.getGreetings("Smith")); + + } + + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://contribution-multiple/helloworld"); + contributionService.remove("http://contribution-multiple/helloworld_one"); + contributionService.remove("http://contribution-multiple/helloworld_two"); + + // Stop Components from my composite + for (Composite deployable : helloWorldContribution_two.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + for (Composite deployable : helloWorldContribution_one.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + for (Composite deployable : helloContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + // domain.stop(); + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionTestCase.java new file mode 100644 index 0000000000..790b6fed98 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/java/test/ContributionTestCase.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package test; + +import helloworld.HelloWorldService; + +import java.io.IOException; +import java.net.URL; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +import junit.framework.TestCase; + +/** + * Test multiple contribution scenario + * Contributed by TUSCANY-1756 + */ +public class ContributionTestCase extends TestCase { + + private String helloContribution_dir = "target/test-classes/contribution-export"; + //private String helloWorldContribution_one_dir = "target/test-classes/contribution-import-one"; + private String helloWorldContribution_two_dir = "target/test-classes/contribution-import-two"; + + private ClassLoader cl; + private EmbeddedSCADomain domain; + private Contribution helloContribution; + //private Contribution helloWorldContribution_one; + private Contribution helloWorldContribution_two; + + protected void setUp() throws Exception { + URL helloContribution_URL = new java.io.File(helloContribution_dir).toURI().toURL(); + //URL helloWorldContribution_one_URL = new java.io.File(helloWorldContribution_one_dir).toURI().toURL(); + URL helloWorldContribution_two_URL = new java.io.File(helloWorldContribution_two_dir).toURI().toURL(); + + // Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + // Start the domain + domain.start(); + + // Contribute the SCA contribution + ContributionService contributionService = domain.getContributionService(); + + helloContribution = + contributionService.contribute("http://contribution-multiple/helloworld", helloContribution_URL, false); + + //helloWorldContribution_one = + // contributionService.contribute("http://contribution-multiple/helloworld_one", helloWorldContribution_one_URL, false); + + helloWorldContribution_two = + contributionService.contribute("http://contribution-multiple/helloworld_two", helloWorldContribution_two_URL, false); + + for (Composite deployable : helloContribution.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + //for (Composite deployable : helloWorldContribution_one.getDeployables()) { + // domain.getDomainComposite().getIncludes().add(deployable); + // domain.buildComposite(deployable); + //} + + for (Composite deployable : helloWorldContribution_two.getDeployables()) { + domain.getDomainComposite().getIncludes().add(deployable); + domain.buildComposite(deployable); + } + + for (Composite deployable : helloContribution.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + //for (Composite deployable : helloWorldContribution_one.getDeployables()) { + // domain.getCompositeActivator().activate(deployable); + // domain.getCompositeActivator().start(deployable); + //} + + for (Composite deployable : helloWorldContribution_two.getDeployables()) { + domain.getCompositeActivator().activate(deployable); + domain.getCompositeActivator().start(deployable); + } + + } + + public void testServiceCall() throws IOException { + //HelloWorldService helloWorldService_one = + //domain.getService(HelloWorldService.class, "HelloWorldServiceComponent_one/HelloWorldService"); + //assertNotNull(helloWorldService_one); + + //assertEquals("Hello Smith", helloWorldService_one.getGreetings("Smith")); + + HelloWorldService helloWorldService_two = + domain.getService(HelloWorldService.class, "HelloWorldServiceComponent_two/HelloWorldService"); + assertNotNull(helloWorldService_two); + + assertEquals("Hello Smith", helloWorldService_two.getGreetings("Smith")); + + } + + public void tearDown() throws Exception { + ContributionService contributionService = domain.getContributionService(); + + // Remove the contribution from the in-memory repository + contributionService.remove("http://contribution-multiple/helloworld"); + //contributionService.remove("http://contribution-multiple/helloworld_one"); + contributionService.remove("http://contribution-multiple/helloworld_two"); + + // Stop Components from my composite + for (Composite deployable : helloWorldContribution_two.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + //for (Composite deployable : helloWorldContribution_one.getDeployables()) { + // domain.getCompositeActivator().stop(deployable); + // domain.getCompositeActivator().deactivate(deployable); + //} + for (Composite deployable : helloContribution.getDeployables()) { + domain.getCompositeActivator().stop(deployable); + domain.getCompositeActivator().deactivate(deployable); + } + // domain.stop(); + domain.close(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..8b76783c3d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/hello.composite b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/hello.composite new file mode 100644 index 0000000000..aeeab337fa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-export/hello.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..bfbf74373a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/helloworld_one.composite b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/helloworld_one.composite new file mode 100644 index 0000000000..7a8003577e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-cycle-import/helloworld_one.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..bea6f39932 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/META-INF/sca-contribution.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/hello.composite b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/hello.composite new file mode 100644 index 0000000000..aeeab337fa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-export/hello.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..bfbf74373a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/helloworld_one.composite b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/helloworld_one.composite new file mode 100644 index 0000000000..45cb504ea4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-one/helloworld_one.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..cbabdcd4fc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/META-INF/sca-contribution.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/helloworld_two.composite b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/helloworld_two.composite new file mode 100644 index 0000000000..4c9225de34 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution-multiple/src/test/resources/contribution-import-two/helloworld_two.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/pom.xml b/sandbox/sebastien/java/sca-node/itest/contribution/pom.xml new file mode 100644 index 0000000000..06003d0097 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-contribution + Apache Tuscany SCA Contribution Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-contribution-impl + 2.0-incubating-SNAPSHOT + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddService.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddService.java new file mode 100644 index 0000000000..4e72f92fda --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddService.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 calculator; + +/** + * It is an Interface which has method declarations. Methods which are to be accessed as a service are declared in this + * interface. Implementation for these methods is provided in AddServiceImpl Class + */ +public interface AddService { + + /** + * This is an add method which takes 2 parameters of double type and returns the sum of two parameters + */ + double add(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddServiceImpl.java new file mode 100644 index 0000000000..e9c635e3c8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/AddServiceImpl.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 calculator; + +/** + * An implementation of the Add service + */ +public class AddServiceImpl implements AddService { + + public double add(double n1, double n2) { + return n1 + n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorClient.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorClient.java new file mode 100644 index 0000000000..40ca4d9b0f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorClient.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package calculator; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class CalculatorClient { + public static void main(String[] args) throws Exception { + + SCADomain domain = SCADomain.newInstance("Calculator.composite"); + + CalculatorService calculatorService = domain.getService(CalculatorService.class, + "CalculatorServiceComponent"); + + // Calculate + System.out.println("3 + 2=" + calculatorService.add(3, 2)); + System.out.println("3 - 2=" + calculatorService.subtract(3, 2)); + System.out.println("3 * 2=" + calculatorService.multiply(3, 2)); + System.out.println("3 / 2=" + calculatorService.divide(3, 2)); + + domain.close(); + + } + +} \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorService.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..f288af0174 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorService.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 calculator; + +/** + * This is a Calculator service interface. All the methods which are to be accessed as a service are declared in this + * interface but not the implementation of those methods. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorServiceImpl.java new file mode 100644 index 0000000000..ae4ed12b7b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/CalculatorServiceImpl.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 calculator; + +import org.osoa.sca.annotations.Reference; + + +/** + * An implementation of the Calculator service. + */ +public class CalculatorServiceImpl implements CalculatorService { + + private AddService addService; + private SubtractService subtractService; + private MultiplyService multiplyService; + private DivideService divideService; + + @Reference + public void setAddService(AddService addService) { + this.addService = addService; + } + + @Reference + public void setSubtractService(SubtractService subtractService) { + this.subtractService = subtractService; + } + + @Reference + public void setDivideService(DivideService divideService) { + this.divideService = divideService; + } + + @Reference + public void setMultiplyService(MultiplyService multiplyService) { + this.multiplyService = multiplyService; + } + + public double add(double n1, double n2) { + return addService.add(n1, n2); + } + + public double subtract(double n1, double n2) { + return subtractService.subtract(n1, n2); + } + + public double multiply(double n1, double n2) { + return multiplyService.multiply(n1, n2); + } + + public double divide(double n1, double n2) { + return divideService.divide(n1, n2); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideService.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideService.java new file mode 100644 index 0000000000..ad99418f5b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideService.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 calculator; + +/** + * This is an interface for Divide Service which has divide method declared which is implemented in DivideServiceImpl + * class + */ +public interface DivideService { + + /** + * This is a divide method which takes 2 parameters of double type and returns the result of division + */ + double divide(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideServiceImpl.java new file mode 100644 index 0000000000..8c33862f6d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/DivideServiceImpl.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 calculator; + +/** + * An implementation of the Divide service. + */ +public class DivideServiceImpl implements DivideService { + + public double divide(double n1, double n2) { + return n1 / n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyService.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyService.java new file mode 100644 index 0000000000..3987b0a54f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyService.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 calculator; + +/** + * This is an interface for Multiply Service which has multiply method declared which is implemented in + * MultiplyServiceImpl class + */ +public interface MultiplyService { + + /** + * This is a multiply method which takes 2 parameters of double type and returns the result of multiplication of the + * two parameters + */ + double multiply(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyServiceImpl.java new file mode 100644 index 0000000000..c7fbc73c00 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/MultiplyServiceImpl.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 calculator; + +/** + * An implementation of the Multiply service. + */ +public class MultiplyServiceImpl implements MultiplyService { + + public double multiply(double n1, double n2) { + return n1 * n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractService.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractService.java new file mode 100644 index 0000000000..25e0ed6ca7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractService.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 calculator; + +/** + * This is an interface for Subtract Service which has subtract method declared which is implemented in + * SubtractServiceImpl class + */ + +public interface SubtractService { + + /** + * This is a subtract method which takes 2 parameters of double type and returns the result of subtraction. + */ + double subtract(double n1, double n2); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractServiceImpl.java new file mode 100644 index 0000000000..1a7f145ad8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/java/calculator/SubtractServiceImpl.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 calculator; + +/** + * An implementation of the subtract service. + */ +public class SubtractServiceImpl implements SubtractService { + + public double subtract(double n1, double n2) { + return n1 - n2; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/ContributionTest.composite b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/ContributionTest.composite new file mode 100644 index 0000000000..d814e439e2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/ContributionTest.composite @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/Calculator.composite b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/Calculator.composite new file mode 100644 index 0000000000..657a2f95d8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/Calculator.composite @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/sca-contribution.xml new file mode 100644 index 0000000000..e95796d83a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/main/resources/calculator/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java new file mode 100644 index 0000000000..97b2e5d6ed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java @@ -0,0 +1,218 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.test.contribution; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; +import java.util.List; + +import javax.xml.namespace.QName; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; +import org.apache.tuscany.sca.contribution.Artifact; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.service.ContributionService; +import org.apache.tuscany.sca.contribution.service.util.FileHelper; +import org.apache.tuscany.sca.contribution.service.util.IOHelper; +import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain; + +/** + * This is more intended to be a integration test then a unit test. * + */ +public class ContributionServiceTestCase extends TestCase { + private static final String CONTRIBUTION_001_ID = "contribution001/"; + private static final String CONTRIBUTION_002_ID = "contribution002/"; + private static final String JAR_CONTRIBUTION = "/repository/sample-calculator.jar"; + private static final String FOLDER_CONTRIBUTION = "target/classes/"; + + private ClassLoader cl; + private EmbeddedSCADomain domain; + private ContributionService contributionService; + + /** + * setUp() is a method in JUnit Frame Work which is executed before all others methods in the class extending + * unit.framework.TestCase. So this method is used to create a test Embedded SCA Domain, to start the SCA Domain and + * to get a reference to the contribution service + */ + + @Override + protected void setUp() throws Exception { + //Create a test embedded SCA domain + cl = getClass().getClassLoader(); + domain = new EmbeddedSCADomain(cl, "http://localhost"); + + //Start the domain + domain.start(); + + //get a reference to the contribution service + contributionService = domain.getContributionService(); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contrututionId with the value retrieved from the SCA runtime. + */ + public void testContributeJAR() throws Exception { + URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION); + //URL contributionLocation = new URL("file:/D:/dev/Opensource/Apache/Tuscany/source/java/sca/samples/calculator/target/sample-calculator.jar"); + String contributionId = CONTRIBUTION_001_ID; + contributionService.contribute(contributionId, contributionLocation, false); + assertNotNull(contributionService.getContribution(contributionId)); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contrututionId with the value retrieved from the SCA runtime using + * contributionService. + */ + public void testStoreContributionPackageInRepository() throws Exception { + URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION); + String contributionId = CONTRIBUTION_001_ID; + contributionService.contribute(contributionId, contributionLocation, true); + + assertTrue(FileHelper.toFile(new URL(contributionService.getContribution(contributionId).getLocation())) + .exists()); + + assertNotNull(contributionId); + + Contribution contributionModel = contributionService.getContribution(contributionId); + + File contributionFile = FileHelper.toFile(new URL(contributionModel.getLocation())); + assertTrue(contributionFile.exists()); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contrututionId with the value retrieved from the SCA runtime using + * contributionService. + */ + public void testStoreContributionStreamInRepository() throws Exception { + URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION); + String contributionId = CONTRIBUTION_001_ID; + + InputStream contributionStream = contributionLocation.openStream(); + try { + contributionService.contribute(contributionId, contributionLocation, contributionStream); + } finally { + IOHelper.closeQuietly(contributionStream); + } + + assertTrue(FileHelper.toFile(new URL(contributionService.getContribution(contributionId).getLocation())) + .exists()); + + assertNotNull(contributionId); + + Contribution contributionModel = contributionService.getContribution(contributionId); + + File contributionFile = FileHelper.toFile(new URL(contributionModel.getLocation())); + assertTrue(contributionFile.exists()); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contributionId1,contributionId2 with the value retrieved from the SCA + * runtime using contributionService. + */ + public void testStoreDuplicatedContributionInRepository() throws Exception { + URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION); + String contributionId1 = CONTRIBUTION_001_ID; + contributionService.contribute(contributionId1, contributionLocation, true); + assertNotNull(contributionService.getContribution(contributionId1)); + String contributionId2 = CONTRIBUTION_002_ID; + contributionService.contribute(contributionId2, contributionLocation, true); + assertNotNull(contributionService.getContribution(contributionId2)); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contributionId with the value retrieved from the SCA runtime using + * contributionService. + */ + public void testContributeFolder() throws Exception { + final File rootContributionFolder = new File(FOLDER_CONTRIBUTION); + String contributionId = CONTRIBUTION_001_ID; + //first rename the sca-contribution metadata file + //File calculatorMetadataFile = new File("target/classes/calculator/sca-contribution.xml"); + //File metadataDirectory = new File("target/classes/META-INF/"); + //if (!metadataDirectory.exists()) { + // FileHelper.forceMkdir(metadataDirectory); + //} + //FileHelper.copyFileToDirectory(calculatorMetadataFile, metadataDirectory); + + // Requires permission to read user.dir property. Requires PropertyPermision in security policy. + URL contributionFolderURL; + try { + contributionFolderURL = AccessController.doPrivileged(new PrivilegedExceptionAction() { + public URL run() throws IOException { + return rootContributionFolder.toURL(); + } + }); + } catch (PrivilegedActionException e) { + throw (IOException)e.getException(); + } + contributionService.contribute(contributionId, contributionFolderURL, false); + assertNotNull(contributionService.getContribution(contributionId)); + } + + /** + * Method prefixed with 'test' is a test method where testing logic is written using various assert methods. This + * test verifies the string assigned to contributionId, artifactId with the value retrieved from the SCA runtime + * using contributionService. + */ + public void testAddDeploymentComposites() throws Exception { + URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION); + String contributionId = CONTRIBUTION_001_ID; + Contribution contribution = contributionService.contribute(contributionId, contributionLocation, false); + assertNotNull(contributionService.getContribution(contributionId)); + + String artifactId = "contributionComposite.composite"; + Composite composite = (new DefaultAssemblyFactory()).createComposite(); + composite.setName(new QName(null, "contributionComposite")); + composite.setURI("contributionComposite.composite"); + + contributionService.addDeploymentComposite(contribution, composite); + + List deployables = contributionService.getContribution(contributionId).getDeployables(); + Composite composite1 = (Composite)deployables.get(deployables.size() - 1); + assertEquals("contributionComposite", composite1.getName().toString()); + + Artifact artifact = null; + contribution = contributionService.getContribution(contributionId); + String id = artifactId.toString(); + for (Artifact a : contribution.getArtifacts()) { + if (id.equals(a.getURI())) { + artifact = a; + break; + } + } + Composite composite2 = (Composite)artifact.getModel(); + assertEquals("contributionComposite", composite2.getName().toString()); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/deployables/sample-calculator.jar b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/deployables/sample-calculator.jar new file mode 100644 index 0000000000..0ca3a1b781 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/deployables/sample-calculator.jar differ diff --git a/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/repository/sample-calculator.jar b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/repository/sample-calculator.jar new file mode 100644 index 0000000000..0ca3a1b781 Binary files /dev/null and b/sandbox/sebastien/java/sca-node/itest/contribution/src/test/resources/repository/sample-calculator.jar differ diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/pom.xml b/sandbox/sebastien/java/sca-node/itest/conversations-ws/pom.xml new file mode 100644 index 0000000000..c025134a66 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/pom.xml @@ -0,0 +1,60 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-conversations-ws + Apache Tuscany SCA Conversations Over binding.ws Integration Tests + + + + + + org.apache.tuscany.sca + tuscany-node2-impl + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/BusinessException.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/BusinessException.java new file mode 100644 index 0000000000..9cd88620e3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/BusinessException.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.itest.conversational; + +public class BusinessException extends Exception { + + private String message; + + public BusinessException() { + super(); + } + + public BusinessException(String message) { + super(message); + setMessage(message); + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java new file mode 100644 index 0000000000..53dadc3dc7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; + +@Conversational +public interface ConversationIdService { + + String getCIDField(); + String getCIDSetter(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java new file mode 100644 index 0000000000..cb7a032e85 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The callback interface used when testing conversational callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +public interface ConversationalCallback { + + // public void init(); + + // public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws BusinessException; + + @EndsConversation + public String endConversation(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java new file mode 100644 index 0000000000..2532346349 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.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.itest.conversational; + +import org.osoa.sca.annotations.Remotable; + +/** + * The client for the conversational itest. Is implemented by clients + * offering both stateless and stateful callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Remotable +public interface ConversationalClient { + + public int runConversationFromInjectedReference(); + public int runConversationFromInjectedReference2(); + public int runConversationFromServiceReference(); + public int runConversationWithUserDefinedConversationId(); + public String runConversationCheckUserDefinedConversationId(); + public int runConversationCheckingScope(); + public int runConversationWithCallback(); + public int runConversationHavingPassedReference(); + public String runConversationBusinessException(); + public String runConversationBusinessExceptionCallback(); + public int runConversationCallingEndedConversation(); + public int runConversationCallingEndedConversationCallback(); + public String runConversationCallingEndedConversationCheckConversationId(); + public String runConversationCallingEndedConversationCallbackCheckConversationId(); + public int runConversationAgeTimeout(); + public int runConversationIdleTimeout(); + public int runConversationPrincipleError(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java new file mode 100644 index 0000000000..8f008fa711 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.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.itest.conversational; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +/** + * The client that calls into an existing conversation by accepting + * a reference to that conversation + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Remotable +public interface ConversationalReferenceClient { + + public void incrementCount(CallableReference conversationalService); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java new file mode 100644 index 0000000000..1e36ce6917 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The service interface used when testing conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +@Callback(ConversationalCallback.class) +public interface ConversationalService { + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + //public void businessException() throws BusinessException; + + public void initializeCountCallback(int count); + + public void incrementCountCallback(); + + public int retrieveCountCallback(); + + //public void businessExceptionCallback() throws BusinessException; + + @EndsConversation + public String endConversation(); + + public String endConversationCallback(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java new file mode 100644 index 0000000000..b4d3fe3d71 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.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.itest.conversational; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The service interface used when testing conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +@Callback(NonConversationalCallback.class) +public interface ConversationalServiceNonConversationalCallback { + + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws BusinessException; + + public void initializeCountCallback(int count); + + public void incrementCountCallback(); + + public int retrieveCountCallback(); + + public void businessExceptionCallback() throws BusinessException; + + @EndsConversation + public String endConversation(); + + public String endConversationCallback(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java new file mode 100644 index 0000000000..ed3a01c10b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.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.itest.conversational; + +import org.osoa.sca.annotations.Remotable; + + +/** + * The callback interface used when testing conversational callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +public interface NonConversationalCallback { + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws BusinessException; + + public String endConversation(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java new file mode 100644 index 0000000000..1603916cca --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="1 seconds") +public class ConversationAgeComponentImpl implements ConversationalService { + + private int count; + + public void businessException() throws BusinessException { + } + + public void businessExceptionCallback() throws BusinessException { + } + + public void destroy() { + } + + public String endConversation() { + return null; + } + + public String endConversationCallback() { + return null; + } + + public void incrementCount() { + } + + public void incrementCountCallback() { + } + + public void init() { + } + + public void initializeCount(int count) { + this.count = count; + } + + public void initializeCountCallback(int count) { + } + + public int retrieveCount() { + return count; + } + + public int retrieveCountCallback() { + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java new file mode 100644 index 0000000000..accc1eee27 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationIdService; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationIdService.class) +@Scope("CONVERSATION") +public class ConversationIdComponentImpl implements ConversationIdService { + + @ConversationID + public String cid; + + private String setterCid; + + public String getCIDField() { + return cid; + } + public String getCIDSetter() { + return setterCid; + } + + + @ConversationID + public void setCID(String cid) { + this.setterCid = cid; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java new file mode 100644 index 0000000000..90f6de86ac --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxIdleTime="1 seconds") +public class ConversationMaxIdleComponentImpl implements ConversationalService { + + private int count; + + public void businessException() throws BusinessException { + } + + public void businessExceptionCallback() throws BusinessException { + } + + public void destroy() { + } + + public String endConversation() { + return null; + } + + public String endConversationCallback() { + return null; + } + + public void incrementCount() { + } + + public void incrementCountCallback() { + } + + public void init() { + } + + public void initializeCount(int count) { + this.count = count; + } + + public void initializeCountCallback(int count) { + } + + public int retrieveCount() { + return count; + } + + public int retrieveCountCallback() { + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java new file mode 100644 index 0000000000..3f7a90b3dc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java @@ -0,0 +1,322 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalClientStatefulImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + + String clientConversationId = serviceReference.getConversationID().toString(); + String serverConversationId = callableReference.endConversation(); + + if (clientConversationId.equals("MyConversation2") && + serverConversationId.equals("MyConversation2") ) { + return clientConversationId; + } else { + return "client = " + clientConversationId + + "server = " + serverConversationId; + } + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + callbackCount = 2; + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); +// conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); +// conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount += count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + callbackCount = 0; + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java new file mode 100644 index 0000000000..ab91498132 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java @@ -0,0 +1,311 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.apache.tuscany.sca.itest.conversational.NonConversationalCallback; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalClientStatefulNonConversationalCallbackImpl implements ConversationalClient, NonConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + return callableReference.endConversation(); + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + callbackCount = 2; + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); +// conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); +// conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount += count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java new file mode 100644 index 0000000000..e4f83656de --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java @@ -0,0 +1,318 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +public class ConversationalClientStatelessImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + // now test the second reference + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + + String clientConversationId = serviceReference.getConversationID().toString(); + String serverConfersationId = callableReference.endConversation(); + + if (clientConversationId.equals("MyConversation2") && + serverConfersationId.equals("MyConversation2") ) { + return clientConversationId; + } else { + return "client = " + clientConversationId + + "server = " + serverConfersationId; + } + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); +// conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); +// conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount = 0; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + callbackCount = 0; + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java new file mode 100644 index 0000000000..8fe7c5b6ba --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Service; + +/** + * A client component that accepts a reference to an ongoing conversation + * and takes part in that conversation + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalReferenceClient.class}) +public class ConversationalReferenceClientImpl implements ConversationalReferenceClient{ + + public void incrementCount(CallableReference conversationalService){ + ConversationalService callableReference = conversationalService.getService(); + + callableReference.incrementCount(); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java new file mode 100644 index 0000000000..9f4857f703 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.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.itest.conversational.impl; + +import java.util.HashMap; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +@Scope("REQUEST") +public class ConversationalServiceRequestImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // static area in which to hold conversational data + private static HashMap conversationalState = new HashMap(); + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + Integer conversationalCount = new Integer(count); + conversationalState.put(conversationId, conversationalCount); + } + + public void incrementCount(){ + calls.append("incrementCount,"); + Integer conversationalCount = conversationalState.get(conversationId); + conversationalCount++; + conversationalState.put(conversationId, conversationalCount); + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + Integer count = conversationalState.get(conversationId); + if (count != null){ + return count.intValue(); + } else { + return -999; + } + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + initializeCount(count); + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + incrementCount(); + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws BusinessException { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + conversationalState.remove(conversationId); + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java new file mode 100644 index 0000000000..4b06251414 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalServiceStatefulImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // local count - accumulates during the conversation + private int count = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + this.count = count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + count++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return count; + } + + public void businessException() throws BusinessException { + calls.append("businessException,"); + throw new BusinessException("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + this.count = count; + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + count++; + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws BusinessException { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + count = 0; + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java new file mode 100644 index 0000000000..be039748fc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalServiceNonConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.NonConversationalCallback; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalServiceNonConversationalCallback.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalServiceStatefulNonConversationalCallbackImpl implements ConversationalServiceNonConversationalCallback { + + @ConversationID + protected String conversationId; + + @Callback + protected NonConversationalCallback nonConversationalCallback; + + // local count - accumulates during the conversation + private int count = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + this.count = count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + count++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return count; + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + this.count = count; + nonConversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + count++; + nonConversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return nonConversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws BusinessException { + calls.append("businessExceptionCallback,"); + nonConversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + count = 0; + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return nonConversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java new file mode 100644 index 0000000000..42f2f1a603 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java @@ -0,0 +1,122 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import java.util.HashMap; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +public class ConversationalServiceStatelessImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // static area in which to hold conversational data + private static HashMap conversationalState = new HashMap(); + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + Integer conversationalCount = new Integer(count); + conversationalState.put(conversationId, conversationalCount); + } + + public void incrementCount(){ + calls.append("incrementCount,"); + Integer conversationalCount = conversationalState.get(conversationId); + conversationalCount++; + conversationalState.put(conversationId, conversationalCount); + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + Integer count = conversationalState.get(conversationId); + if (count != null){ + return count.intValue(); + } else { + return -999; + } + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + initializeCount(count); + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + incrementCount(); + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws BusinessException { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + conversationalState.remove(conversationId); + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java new file mode 100644 index 0000000000..a852aeda56 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational.impl; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.tuscany.sca.itest.conversational.BusinessException; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +public class ConversationalServiceStatelessScopeImpl implements ConversationalService { + + @ConversationID + protected String cid; + + static Map state = new HashMap(); + + public void destroy() { + // TODO Auto-generated method stub + + } + + public String endConversation() { + state.remove(cid); + return cid; + } + + public String endConversationCallback() { + // TODO Auto-generated method stub + return null; + + } + + public void incrementCount() { + state.put(cid, Integer.valueOf(state.get(cid)+1)); + } + + public void businessException() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public void incrementCountCallback() { + // TODO Auto-generated method stub + + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void initializeCount(int count) { + state.put(cid, Integer.valueOf(count)); + } + + public void initializeCountCallback(int count) { + // TODO Auto-generated method stub + + } + + public void businessExceptionCallback() throws BusinessException { + throw new BusinessException("Business Exception"); + } + + public int retrieveCount() { + return state.get(cid); + } + + public int retrieveCountCallback() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..d5a1ff7410 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/META-INF/sca-contribution.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/conversational.composite b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/conversational.composite new file mode 100644 index 0000000000..c4da99145d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/Conversational/conversational.composite @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/ConversationalServiceStateful.wsdl b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/ConversationalServiceStateful.wsdl new file mode 100644 index 0000000000..20a92c9dc7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/ConversationalServiceStateful.wsdl @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/META-INF/sca-contribution.xml b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..73d078674c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/META-INF/sca-contribution.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/conversationalWSDL.composite b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/conversationalWSDL.composite new file mode 100644 index 0000000000..9c6b0a2b34 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/main/resources/ConversationalWSDL/conversationalWSDL.composite @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationWSDLTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationWSDLTestCase.java new file mode 100644 index 0000000000..7854975d40 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationWSDLTestCase.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.itest.conversational; + + +import java.io.File; + + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ConversationWSDLTestCase { + + private SCANode2 node; + private ConversationalClient conversationalStatelessClientStatefulService; + + @Before + public void setUp() throws Exception { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/ConversationalWSDL/conversationalWSDL.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/ConversationalWSDL").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, "ConversationalStatelessClientStatefulService"); + + + ConversationalClientStatelessImpl.calls = new StringBuffer(); + } + + @After + public void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatefulService = null; + } + + @Test + public void testStatelessStatefulConversationFromInjectedReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + //@Test + public void testKeepServerRunning() throws Exception { + System.out.println("press enter to continue"); + System.in.read(); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallbackTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallbackTestCase.java new file mode 100644 index 0000000000..d0f9692e2e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallbackTestCase.java @@ -0,0 +1,198 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class NonConversationalCallbackTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateful client non conversational callback stateful service tests + // ================================================================== + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromInjectedReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromInjectedReference2() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromServiceReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCheckingScope() { + resetCallStack(); + ConversationalServiceStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulNonConversationalCallbackImpl.calls.toString()); + } + + //@Test + public void testStatefulNonConversationalCallbackStatefulConversationWithCallback() { + resetCallStack(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalClientStatefulNonConversationalCallbackImpl.calls.toString()); + } + + //@Test + public void testStatefulNonConversationalCallbackStatefulConversationHavingPassedReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversation() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + //@Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals("MyConversation3", id); + } + + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/RequestScopeTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/RequestScopeTestCase.java new file mode 100644 index 0000000000..2ce6394b58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/RequestScopeTestCase.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.itest.conversational; + +import java.io.File; + + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceRequestImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class RequestScopeTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateless client request scope service tests + // ============================================ + @Test + public void testStatelessRequestConversationFromInjectedReference() { + int count = conversationalStatelessClientRequestService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + //@Test + public void testStatelessRequestConversationFromInjectedReference2() { + int count = conversationalStatelessClientRequestService.runConversationFromInjectedReference2(); + Assert.assertEquals(1, count); + } + + @Test + public void testStatelessRequestConversationFromServiceReference() { + int count = conversationalStatelessClientRequestService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessRequestConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientRequestService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + //@Test + public void testStatelessRequestConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientRequestService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + //@Test + public void testStatelessRequestConversationCheckingScope() { + resetCallStack(); + ConversationalServiceRequestImpl.calls = new StringBuffer(); + conversationalStatelessClientRequestService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,", + ConversationalServiceRequestImpl.calls.toString()); + //init,initializeCount,init,incrementCount,init,retrieveCount,init,endConversation, + } + + @Test + public void testStatelessRequestConversationWithCallback() { + resetCallStack(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + int count = conversationalStatelessClientRequestService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + + //@Test + public void testStatelessRequestConversationHavingPassedReference() { + int count = conversationalStatelessClientRequestService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + //@Test + public void testStatelessRequestConversationBusinessException() { + String message = conversationalStatelessClientRequestService.runConversationBusinessException(); + Assert.assertEquals("Business Exception", message); + } + + //@Test + public void testStatelessRequestConversationBusinessExceptionCallback() { + String message = conversationalStatelessClientRequestService.runConversationBusinessExceptionCallback(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversation() { + int count = conversationalStatelessClientRequestService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessRequestConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatefulTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatefulTestCase.java new file mode 100644 index 0000000000..bae7d4cbd8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatefulTestCase.java @@ -0,0 +1,193 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import java.io.File; + + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class StatefulStatefulTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateful client stateful service tests + // ====================================== + @Test + public void testStatefulStatefulConversationFromInjectedReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationFromInjectedReference2() { + int count = conversationalStatefulClientStatefulService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationFromServiceReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatefulConversationCheckingScope() { + resetCallStack(); + conversationalStatefulClientStatefulService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulImpl.calls.toString()); + } + + @Test + public void testStatefulStatefulConversationWithCallback() { + resetCallStack(); + int count = conversationalStatefulClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalClientStatefulImpl.calls.toString()); + } + + //@Test + public void testStatefulStatefulConversationHavingPassedReference() { + int count = conversationalStatefulClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatelessTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatelessTestCase.java new file mode 100644 index 0000000000..0df71474da --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatefulStatelessTestCase.java @@ -0,0 +1,193 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import java.io.File; + + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class StatefulStatelessTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateful client stateless service tests + // ======================================= + @Test + public void testStatefulStatelessConversationFromInjectedReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationFromInjectedReference2() { + int count = conversationalStatefulClientStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationFromServiceReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatelessConversationCheckingScope() { + resetCallStack(); + conversationalStatefulClientStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalServiceStatelessImpl.calls.toString()); + } + + @Test + public void testStatefulStatelessConversationWithCallback() { + resetCallStack(); + int count = conversationalStatefulClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalClientStatefulImpl.calls.toString()); + } + + //@Test + public void testStatefulStatelessConversationHavingPassedReference() { + int count = conversationalStatefulClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatefulTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatefulTestCase.java new file mode 100644 index 0000000000..fc43064999 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatefulTestCase.java @@ -0,0 +1,205 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class StatelessStatefulTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateless client stateful service tests + // ======================================= + @Test + public void testStatelessStatefulConversationFromInjectedReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationFromInjectedReference2() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationFromServiceReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatefulConversationCheckingScope() { + resetCallStack(); + conversationalStatelessClientStatefulService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulImpl.calls.toString()); + } + + @Test + public void testStatelessStatefulConversationWithCallback() { + resetCallStack(); + int count = conversationalStatelessClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + + //@Test + public void testStatelessStatefulConversationHavingPassedReference() { + int count = conversationalStatelessClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + //@Test + public void testStatelessStatefulConversationBusinessException() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessException(); + Assert.assertEquals("Business Exception", message); + } + + //@Test + public void testStatelessStatefulConversationBusinessExceptionCallback() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessExceptionCallback(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatelessTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatelessTestCase.java new file mode 100644 index 0000000000..871f806c36 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations-ws/src/test/java/org/apache/tuscany/sca/itest/conversational/StatelessStatelessTestCase.java @@ -0,0 +1,192 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCANode2; +import org.apache.tuscany.sca.node.SCANode2Factory; +import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class StatelessStatelessTestCase { + + private static SCANode2 node; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + SCANode2Factory nodeFactory = SCANode2Factory.newInstance(); + node = nodeFactory.createSCANode(new File("src/main/resources/Conversational/conversational.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/Conversational").toURL().toString())); + + + node.start(); + + conversationalStatelessClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = ((SCAClient)node).getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + node.stop(); + conversationalStatelessClientStatelessService = null; + conversationalStatelessClientStatefulService = null; + conversationalStatefulClientStatelessService = null; + conversationalStatefulClientStatefulService = null; + conversationalStatelessClientRequestService = null; + conversationalStatefulClientNonConversationalCallbackStatelessService = null; + } + + private static void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + + // stateless client stateless service tests + // ======================================== + + @Test + public void testStatelessStatelessConversationFromInjectedReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationFromInjectedReference2() { + int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationFromServiceReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + @Test + public void testStatelessStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatelessConversationCheckingScope() { + resetCallStack(); + conversationalStatelessClientStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalServiceStatelessImpl.calls.toString()); + } + + @Test + public void testStatelessStatelessConversationWithCallback() { + resetCallStack(); + int count = conversationalStatelessClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + //@Test + public void testStatelessStatelessConversationHavingPassedReference() { + int count = conversationalStatelessClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessStatelessConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/pom.xml b/sandbox/sebastien/java/sca-node/itest/conversations/pom.xml new file mode 100644 index 0000000000..d82da498bd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + itest-conversations + Apache Tuscany SCA Conversations Integration Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-incubating-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-incubating-SNAPSHOT + runtime + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/Record.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/Record.java new file mode 100644 index 0000000000..a3b83dfc14 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/Record.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.itest; + +import java.io.Serializable; + +/** + * @version $Rev$ $Date$ + */ +public class Record implements Serializable { + public String id; + public String conversationId; +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/TestResult.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/TestResult.java new file mode 100644 index 0000000000..8e98b9cbd4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/TestResult.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.itest; + +import java.util.Hashtable; + +/** + * @version $Rev$ $Date$ + */ +public class TestResult { + public static Hashtable results = new Hashtable(); + private static int completed = 0; + public static synchronized void updateCompleted() { + ++completed; + } + + public static synchronized int getCompleted() { + return completed; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/AService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/AService.java new file mode 100644 index 0000000000..e7583c339a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; + +/** + * Simple conversational Service that uses another Conversational Service + */ +@Conversational +public interface AService { + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + String getState(); + + /** + * Returns the state for the other service that this service is using + * + * @return The state for the other service that this service is using + */ + String getStateOnB(); + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + void setState(String aState); + + /** + * Sets the state for the other service that this service is using + * + * @param aState The state for the other service that this service is using + */ + void setStateOnB(String aState); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Alpha.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Alpha.java new file mode 100644 index 0000000000..bc4a5fc571 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Alpha.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.itest.conversational; + +import org.osoa.sca.annotations.OneWay; +import org.osoa.sca.annotations.Remotable; + +/** + * @version $Rev$ $Date$ + */ + +@Remotable +public interface Alpha { + @OneWay + void run(int param); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/BService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/BService.java new file mode 100644 index 0000000000..77d7f4c007 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/BService.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; + +/** + * Simple conversational Service + */ +@Conversational +public interface BService { + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + String getState(); + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + void setState(String aState); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Beta.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Beta.java new file mode 100644 index 0000000000..e422938b27 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Beta.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.itest.conversational; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +/** + * @version $Rev$ $Date$ + */ + +@Remotable +public interface Beta { + CallableReference getRef(int param); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/CService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/CService.java new file mode 100644 index 0000000000..a6dbf56797 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/CService.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; + +/** + * Simple conversational Service that uses another Conversational Service + */ +@Conversational +public interface CService { + + String getState(); + + void setState(String aState); + + Object getConversationID(); + + Object getConversationObjectConversationId(); + + void setConversationID(String theID); + + void endConversation(); + + void endConversationViaAnnotatedMethod(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Constants.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Constants.java new file mode 100644 index 0000000000..3f04e9f09e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Constants.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational; + +public interface Constants { + + String A_INITIAL_VALUE = "Initial Value of A"; + String B_INITIAL_VALUE = "Initial Value of B"; +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.java new file mode 100644 index 0000000000..53dadc3dc7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationIdService.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; + +@Conversational +public interface ConversationIdService { + + String getCIDField(); + String getCIDSetter(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.java new file mode 100644 index 0000000000..8cad88d2f4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalCallback.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.itest.conversational; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The callback interface used when testing conversational callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +public interface ConversationalCallback { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + @EndsConversation + public String endConversation(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java new file mode 100644 index 0000000000..2532346349 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.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.itest.conversational; + +import org.osoa.sca.annotations.Remotable; + +/** + * The client for the conversational itest. Is implemented by clients + * offering both stateless and stateful callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Remotable +public interface ConversationalClient { + + public int runConversationFromInjectedReference(); + public int runConversationFromInjectedReference2(); + public int runConversationFromServiceReference(); + public int runConversationWithUserDefinedConversationId(); + public String runConversationCheckUserDefinedConversationId(); + public int runConversationCheckingScope(); + public int runConversationWithCallback(); + public int runConversationHavingPassedReference(); + public String runConversationBusinessException(); + public String runConversationBusinessExceptionCallback(); + public int runConversationCallingEndedConversation(); + public int runConversationCallingEndedConversationCallback(); + public String runConversationCallingEndedConversationCheckConversationId(); + public String runConversationCallingEndedConversationCallbackCheckConversationId(); + public int runConversationAgeTimeout(); + public int runConversationIdleTimeout(); + public int runConversationPrincipleError(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.java new file mode 100644 index 0000000000..8f008fa711 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalReferenceClient.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.itest.conversational; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +/** + * The client that calls into an existing conversation by accepting + * a reference to that conversation + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Remotable +public interface ConversationalReferenceClient { + + public void incrementCount(CallableReference conversationalService); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java new file mode 100644 index 0000000000..546382cfd1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.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.itest.conversational; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The service interface used when testing conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +@Callback(ConversationalCallback.class) +public interface ConversationalService { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + public void initializeCountCallback(int count); + + public void incrementCountCallback(); + + public int retrieveCountCallback(); + + public void businessExceptionCallback() throws Exception; + + @EndsConversation + public String endConversation(); + + public String endConversationCallback(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.java new file mode 100644 index 0000000000..f1a21cc18f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalServiceNonConversationalCallback.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.itest.conversational; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The service interface used when testing conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +@Conversational +@Callback(NonConversationalCallback.class) +public interface ConversationalServiceNonConversationalCallback { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + public void initializeCountCallback(int count); + + public void incrementCountCallback(); + + public int retrieveCountCallback(); + + public void businessExceptionCallback() throws Exception; + + @EndsConversation + public String endConversation(); + + public String endConversationCallback(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/DService.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/DService.java new file mode 100644 index 0000000000..74afbfb763 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/DService.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; + +/** + * Simple conversational Service + */ +@Conversational +public interface DService { + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + String getState(); + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + void setState(String aState); + + @EndsConversation + void endConversationViaAnnotatedMethod(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Gamma.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Gamma.java new file mode 100644 index 0000000000..5f97b16088 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/Gamma.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.itest.conversational; + +import org.apache.tuscany.sca.itest.Record; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + +/** + * @version $Rev$ $Date$ + */ + +@Remotable +@Conversational +public interface Gamma { + void start(int param); + + boolean hasNext(); + + Record next(); + + @EndsConversation + void stop(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java new file mode 100644 index 0000000000..3ce3e3ada7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/NonConversationalCallback.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational; + +import org.osoa.sca.annotations.Remotable; + + +/** + * The callback interface used when testing conversational callbacks + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Remotable +public interface NonConversationalCallback { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + public String endConversation(); + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AServiceImpl.java new file mode 100644 index 0000000000..95c9c7ae6e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AServiceImpl.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.itest.conversational.impl; + +import java.lang.reflect.Proxy; +import org.apache.tuscany.sca.core.invocation.JDKInvocationHandler; + +import org.apache.tuscany.sca.itest.conversational.AService; +import org.apache.tuscany.sca.itest.conversational.BService; +import org.apache.tuscany.sca.itest.conversational.Constants; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Simple conversational Service that uses another Conversational Service + */ +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService { + + /** + * The state + */ + private String state = Constants.A_INITIAL_VALUE; + + /** + * The reference to the other service + */ + private BService b; + + /** + * Constructor + * + */ + public AServiceImpl() { + System.out.println("---> AServiceImpl constructor for " + this); + } + + /** + * Inject the reference to the other service + * @param aB The other service. + */ + @Reference(name="b") + public void setB(BService aB) { + System.out.println("---> Setting reference to B on " + this + " to " + aB); + this.b = aB; + } + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + public String getState() { + return state; + } + + /** + * Returns the state for the other service that this service is using + * + * @return The state for the other service that this service is using + */ + public String getStateOnB() { + return b.getState(); + } + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + public void setState(String aState) { + this.state = aState; + } + + /** + * Sets the state for the other service that this service is using + * + * @param aState The state for the other service that this service is using + */ + public void setStateOnB(String aState) { + b.setState(aState); + } + + /** + * Sets the conversation ID for this service + * @param id The Conversation ID + */ + @ConversationID + public void setConversationID(String id) { + System.out.println("Conversation ID for " + this + " is set to " + id); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AlphaImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AlphaImpl.java new file mode 100644 index 0000000000..a5f37f7a52 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/AlphaImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.Record; +import org.apache.tuscany.sca.itest.TestResult; +import org.apache.tuscany.sca.itest.conversational.Alpha; +import org.apache.tuscany.sca.itest.conversational.Beta; +import org.apache.tuscany.sca.itest.conversational.Gamma; +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * @version $Rev$ $Date$ + */ + +@Service(Alpha.class) +@Scope("COMPOSITE") +public class AlphaImpl implements Alpha { + @Reference + public Beta beta; + + @Context + protected ComponentContext componentContext; + + public void run(int param) { + CallableReference gammaRef = null; + boolean testPassed = true; + try { + gammaRef = beta.getRef(param); + while (gammaRef.getService().hasNext()) { + Record record = gammaRef.getService().next(); + if (!record.conversationId.equals(gammaRef.getConversation().getConversationID())) { + // Record returned is not from this conversation. + testPassed = false; + } + } + } catch (Exception ex) { + testPassed = false; + ex.printStackTrace(); + } finally { + TestResult.updateCompleted(); + if (gammaRef != null) { + TestResult.results.put(gammaRef.getConversation() + .getConversationID(), testPassed); + gammaRef.getService().stop(); + } + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BServiceImpl.java new file mode 100644 index 0000000000..c1e27641ef --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/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.itest.conversational.impl; + + +import org.apache.tuscany.sca.itest.conversational.BService; +import org.apache.tuscany.sca.itest.conversational.Constants; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Simple conversational Service + */ +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService { + + /** + * The state for this service + */ + private String state = Constants.B_INITIAL_VALUE; + + /** + * Constructor + */ + public BServiceImpl() { + System.out.println("---> BServiceImpl constructor for " + this); + } + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + public String getState() { + return state; + } + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + public void setState(String aState) { + this.state = aState; + } + + /** + * Sets the conversation ID for this service + * @param id The Conversation ID + */ + @ConversationID + public void setConversationID(String id) { + System.out.println("Conversation ID for " + this + " is set to " + id); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BetaImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BetaImpl.java new file mode 100644 index 0000000000..900b8f743f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/BetaImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.Beta; +import org.apache.tuscany.sca.itest.conversational.Gamma; +import org.osoa.sca.CallableReference; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * @version $Rev$ $Date$ + */ + +@Service(Beta.class) +@Scope("COMPOSITE") +public class BetaImpl implements Beta { + @Context + protected ComponentContext componentContext; + + @Reference + public Gamma gamma; + + public CallableReference getRef(int param) { + ServiceReference gammaRef = componentContext + .getServiceReference(Gamma.class, "gamma"); + Gamma g = gammaRef.getService(); + g.start(param); + return gammaRef; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/CServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/CServiceImpl.java new file mode 100644 index 0000000000..b21f956bd9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/CServiceImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.CService; +import org.apache.tuscany.sca.itest.conversational.DService; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Simple conversational Service that uses another Conversational Service + */ +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + private ServiceReference dServiceRef; + + @Reference(name = "d") + public void setD(ServiceReference servRef) { + this.dServiceRef = servRef; + } + + public String getState() { + return dServiceRef.getService().getState(); + } + + public void setState(String aState) { + dServiceRef.getService().setState(aState); + } + + + /* + * When the coversationId is set manually the client may access the + * conversation id that will be used by the reference using + * ServiceReference.getConversationId() + */ + public Object getConversationID() { + return dServiceRef.getConversationID(); + } + + /* + * Whether the conversation ID is chosen by the client or is generated by + * the system, the client may access the conversation ID by calling + * Conversation.getConversationID(). + */ + public Object getConversationObjectConversationId() { + // TODO Auto-generated method stub + if (dServiceRef.getConversation() != null){ + return dServiceRef.getConversation().getConversationID(); + } else { + return null; + } + } + + public void endConversation() { + dServiceRef.getConversation().end(); + } + + public void endConversationViaAnnotatedMethod() { + dServiceRef.getService().endConversationViaAnnotatedMethod(); + } + + public void setConversationID(String theID) { + dServiceRef.setConversationID(theID); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.java new file mode 100644 index 0000000000..9deef312ac --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationAgeComponentImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="1 seconds") +public class ConversationAgeComponentImpl implements ConversationalService { + + private int count; + + public void businessException() throws Exception { + } + + public void businessExceptionCallback() throws Exception { + } + + public void destroy() { + } + + public String endConversation() { + return null; + } + + public String endConversationCallback() { + return null; + } + + public void incrementCount() { + } + + public void incrementCountCallback() { + } + + public void init() { + } + + public void initializeCount(int count) { + this.count = count; + } + + public void initializeCountCallback(int count) { + } + + public int retrieveCount() { + return count; + } + + public int retrieveCountCallback() { + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.java new file mode 100644 index 0000000000..cffa76186a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationIdComponentImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationIdService; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationIdService.class) +@Scope("CONVERSATION") +public class ConversationIdComponentImpl implements ConversationIdService { + + @ConversationID + public String cid; + + private String setterCid; + + public String getCIDField() { + return cid; + } + public String getCIDSetter() { + return setterCid; + } + + + @ConversationID + public void setCID(String cid) { + this.setterCid = cid; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.java new file mode 100644 index 0000000000..1272c7ab7f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationMaxIdleComponentImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxIdleTime="1 seconds") +public class ConversationMaxIdleComponentImpl implements ConversationalService { + + private int count; + + public void businessException() throws Exception { + } + + public void businessExceptionCallback() throws Exception { + } + + public void destroy() { + } + + public String endConversation() { + return null; + } + + public String endConversationCallback() { + return null; + } + + public void incrementCount() { + } + + public void incrementCountCallback() { + } + + public void init() { + } + + public void initializeCount(int count) { + this.count = count; + } + + public void initializeCountCallback(int count) { + } + + public int retrieveCount() { + return count; + } + + public int retrieveCountCallback() { + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java new file mode 100644 index 0000000000..847b038881 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java @@ -0,0 +1,321 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalClientStatefulImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + + String clientConversationId = serviceReference.getConversationID().toString(); + String serverConversationId = callableReference.endConversation(); + + if (clientConversationId.equals("MyConversation2") && + serverConversationId.equals("MyConversation2") ) { + return clientConversationId; + } else { + return "client = " + clientConversationId + + "server = " + serverConversationId; + } + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + callbackCount = 2; + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); + conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); + conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount += count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + callbackCount = 0; + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java new file mode 100644 index 0000000000..b77e4c0194 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulNonConversationalCallbackImpl.java @@ -0,0 +1,310 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.apache.tuscany.sca.itest.conversational.NonConversationalCallback; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalClientStatefulNonConversationalCallbackImpl implements ConversationalClient, NonConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + return callableReference.endConversation(); + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + callbackCount = 2; + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); + conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); + conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount += count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java new file mode 100644 index 0000000000..5b3906fc2c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java @@ -0,0 +1,317 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalClient.class}) +public class ConversationalClientStatelessImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalService conversationalService2; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromInjectedReference2(){ + calls.append("runConversationFromInjectedReference2,"); + + // now test the second reference + conversationalService2.initializeCount(1); + conversationalService2.incrementCount(); + + // stick in a call to the first reference to + // make sure the two references don't clash + conversationalService.initializeCount(1); + + clientCount = conversationalService2.retrieveCount(); + conversationalService2.endConversation(); + + // end the conversation through the first reference + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + // serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + + String clientConversationId = serviceReference.getConversationID().toString(); + String serverConfersationId = callableReference.endConversation(); + + if (clientConversationId.equals("MyConversation2") && + serverConfersationId.equals("MyConversation2") ) { + return clientConversationId; + } else { + return "client = " + clientConversationId + + "server = " + serverConfersationId; + } + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); + conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); + conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public String runConversationCallingEndedConversationCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public String runConversationCallingEndedConversationCallbackCheckConversationId(){ + calls.append("runConversationCallingEndedConversationCallbackCheckConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation3"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversationCallback(); + + if (serviceReference.getConversation() ==null ) { + return null; + } else { + return serviceReference.getConversation().getConversationID().toString(); + } + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount = 0; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + callbackCount = 0; + return null; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.java new file mode 100644 index 0000000000..8fe7c5b6ba --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalReferenceClientImpl.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.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Service; + +/** + * A client component that accepts a reference to an ongoing conversation + * and takes part in that conversation + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ + +@Service(interfaces={ConversationalReferenceClient.class}) +public class ConversationalReferenceClientImpl implements ConversationalReferenceClient{ + + public void incrementCount(CallableReference conversationalService){ + ConversationalService callableReference = conversationalService.getService(); + + callableReference.incrementCount(); + } + + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java new file mode 100644 index 0000000000..9a25f0f59a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceRequestImpl.java @@ -0,0 +1,123 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import java.util.HashMap; + +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +@Scope("REQUEST") +public class ConversationalServiceRequestImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // static area in which to hold conversational data + private static HashMap conversationalState = new HashMap(); + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + Integer conversationalCount = new Integer(count); + conversationalState.put(conversationId, conversationalCount); + } + + public void incrementCount(){ + calls.append("incrementCount,"); + Integer conversationalCount = conversationalState.get(conversationId); + conversationalCount++; + conversationalState.put(conversationId, conversationalCount); + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + Integer count = conversationalState.get(conversationId); + if (count != null){ + return count.intValue(); + } else { + return -999; + } + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + initializeCount(count); + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + incrementCount(); + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + conversationalState.remove(conversationId); + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java new file mode 100644 index 0000000000..efcbdff06f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java @@ -0,0 +1,117 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalServiceStatefulImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // local count - accumulates during the conversation + private int count = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + this.count = count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + count++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return count; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + this.count = count; + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + count++; + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + count = 0; + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java new file mode 100644 index 0000000000..8454b3846b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulNonConversationalCallbackImpl.java @@ -0,0 +1,117 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import org.apache.tuscany.sca.itest.conversational.ConversationalServiceNonConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.NonConversationalCallback; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalServiceNonConversationalCallback.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalServiceStatefulNonConversationalCallbackImpl implements ConversationalServiceNonConversationalCallback { + + @ConversationID + protected String conversationId; + + @Callback + protected NonConversationalCallback nonConversationalCallback; + + // local count - accumulates during the conversation + private int count = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + this.count = count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + count++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return count; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + this.count = count; + nonConversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + count++; + nonConversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return nonConversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + nonConversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + count = 0; + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return nonConversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java new file mode 100644 index 0000000000..07186c91e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java @@ -0,0 +1,123 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + +import java.util.HashMap; + +import org.apache.tuscany.sca.itest.conversational.ConversationalCallback; +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev: 537240 $ $Date: 2007-05-11 18:35:03 +0100 (Fri, 11 May 2007) $ + */ +@Service(ConversationalService.class) +@Scope("STATELESS") +public class ConversationalServiceStatelessImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // static area in which to hold conversational data + private static HashMap conversationalState = new HashMap(); + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + Integer conversationalCount = new Integer(count); + conversationalState.put(conversationId, conversationalCount); + } + + public void incrementCount(){ + calls.append("incrementCount,"); + Integer conversationalCount = conversationalState.get(conversationId); + conversationalCount++; + conversationalState.put(conversationId, conversationalCount); + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + Integer count = conversationalState.get(conversationId); + if (count != null){ + return count.intValue(); + } else { + return -999; + } + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + initializeCount(count); + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + incrementCount(); + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + conversationalState.remove(conversationId); + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.java new file mode 100644 index 0000000000..344aa99dff --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessScopeImpl.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.itest.conversational.impl; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.tuscany.sca.itest.conversational.ConversationalService; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Service; + +@Service(ConversationalService.class) +public class ConversationalServiceStatelessScopeImpl implements ConversationalService { + + @ConversationID + protected String cid; + + static Map state = new HashMap(); + + public void destroy() { + // TODO Auto-generated method stub + + } + + public String endConversation() { + state.remove(cid); + return cid; + } + + public String endConversationCallback() { + // TODO Auto-generated method stub + return null; + + } + + public void incrementCount() { + state.put(cid, Integer.valueOf(state.get(cid)+1)); + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void incrementCountCallback() { + // TODO Auto-generated method stub + + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void initializeCount(int count) { + state.put(cid, Integer.valueOf(count)); + } + + public void initializeCountCallback(int count) { + // TODO Auto-generated method stub + + } + + public void businessExceptionCallback() throws Exception { + throw new Exception("Business Exception"); + } + + public int retrieveCount() { + return state.get(cid); + } + + public int retrieveCountCallback() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/DServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/DServiceImpl.java new file mode 100644 index 0000000000..8d79bb75e8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/DServiceImpl.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.conversational.impl; + + +import org.apache.tuscany.sca.itest.conversational.Constants; +import org.apache.tuscany.sca.itest.conversational.DService; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * Simple conversational Service + */ +@Service(DService.class) +@Scope("CONVERSATION") +public class DServiceImpl implements DService { + + /** + * The state for this service + */ + private String state = "Initial state value"; + + /** + * Returns the state for this service. + * + * @return The state for this service + */ + public String getState() { + return state; + } + + /** + * Sets the state for this service. + * + * @param aState The state for this service + */ + public void setState(String aState) { + this.state = aState; + } + + /** + * Sets the conversation ID for this service + * @param id The Conversation ID + */ + @ConversationID + public void setConversationID(String id) { + System.out.println ("Setting conversation ID at service = " + id ); + } + + public void endConversationViaAnnotatedMethod() { + System.out.println ("Annotated Ends Conversation"); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/GammaImpl.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/GammaImpl.java new file mode 100644 index 0000000000..d1b769216b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/GammaImpl.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.itest.conversational.impl; + +import java.util.ArrayList; + +import org.apache.tuscany.sca.itest.Record; +import org.apache.tuscany.sca.itest.conversational.Gamma; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +/** + * @version $Rev$ $Date$ + */ + +@Service(Gamma.class) +@Scope("CONVERSATION") +public class GammaImpl implements Gamma { + @ConversationID + public String conversationId; + + private ArrayList list; + + public void start(int param) { + list = new ArrayList(); + fillList(param, conversationId); + } + + public boolean hasNext() { + return !list.isEmpty(); + } + + public Record next() { + return list.remove(0); + } + + public void stop() { + list = null; + } + + private void fillList(int param, String cid) { + for (int i = 0; i < param; i++) { + Record record = new Record(); + record.id = "id_" + i; + record.conversationId = cid; + list.add(record); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationAge.composite b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationAge.composite new file mode 100644 index 0000000000..abd1c35ced --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationAge.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationUniqueId.composite b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationUniqueId.composite new file mode 100644 index 0000000000..831449a079 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/ConversationUniqueId.composite @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationId.composite b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationId.composite new file mode 100644 index 0000000000..e61eb08194 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationId.composite @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationLifetime.composite b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationLifetime.composite new file mode 100644 index 0000000000..3b79dc43d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversationLifetime.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversational.composite b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversational.composite new file mode 100644 index 0000000000..4da3ce74d5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/main/resources/conversational.composite @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationIdTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationIdTestCase.java new file mode 100644 index 0000000000..3e750bdd1e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationIdTestCase.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.itest.conversational; + + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ConversationIdTestCase { + + private SCADomain domain; + + @Before + public void setUp() throws Exception { + domain = SCADomain.newInstance("conversationId.composite"); + + } + + @After + public void tearDown() throws Exception { + if (domain != null) { + domain.close(); + } + } + + @Test + public void testConversationId() { + ConversationIdService service = + domain.getService(ConversationIdService.class, "ConversationIdComponent"); + Assert.assertNotNull(service.getCIDField()); + Assert.assertNotNull(service.getCIDSetter()); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationLifetimeTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationLifetimeTestCase.java new file mode 100644 index 0000000000..326a833a42 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationLifetimeTestCase.java @@ -0,0 +1,203 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ConversationLifetimeTestCase { + + private SCADomain domain; + + @Before + public void setUp() throws Exception { + domain = SCADomain.newInstance("conversationLifetime.composite"); + } + + @After + public void tearDown() throws Exception { + if (domain != null) { + domain.close(); + } + } + + /** + * Following a clarification re. the wording of the Java Common Annotations and APIs 1.00 Specification + * (see TUSCANY-2055) the following is accepted to be the intended operation + * + * Whether the conversation ID is chosen by the user or is generated by the system, the client + * may access the conversation ID by calling getConversationID() on the current conversation object. + * + * ServiceReference.getConversationID() - Returns the id supplied by the user that will be associated with + * future conversations initiated through this reference, or null if no ID has been set by the user. + * + * ServiceReference.setConversationID(Object conversationId) - Set an ID, supplied by the user, to associate with any future 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. + * + */ + + /** + * Verify that ServiceReference.getConversationID() returns null before a conversation + * ID has been set manually. + */ + @Test + public void getConversationID() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + Assert.assertNull(service.getConversationID()); + } + + /** + * Verify that ServiceReference.getConversationID() returns any value previous set through the + * setConversationID() API. + */ + @Test + public void getConversationID2() { + String userProvidedID = "A conversation ID"; + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.setConversationID(userProvidedID); + service.getState(); + Assert.assertEquals(service.getConversationID(), userProvidedID); + } + + /** + * Whether the conversation ID is chosen by the user or is generated by the system, the client + * may access the conversation ID by calling getConversationID() on the current conversation object. + * Here test the manually set conversationID + */ + @Test + public void getConversationID3() { + String userProvidedID = "A conversation ID"; + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.setConversationID(userProvidedID); + service.getState(); + Assert.assertEquals(service.getConversationObjectConversationId(), userProvidedID); + } + + /** + * Whether the conversation ID is chosen by the user or is generated by the system, the client + * may access the conversation ID by calling getConversationID() on the current conversation object. + * Here test the auto generated conversationId + */ + @Test + public void getConversationID4() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + Assert.assertNotNull(service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 494-495 Verify: + * 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 implicitStartNewConversationAfterEnd() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + Object firstID = service.getConversationObjectConversationId(); + service.endConversationViaAnnotatedMethod(); + service.getState(); + Assert.assertNotSame(firstID, service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 495-495 Verify: If a + * method is invoked on a service reference after an "@EndsConversation" + * method has been called then a new conversation will automatically be + * started. Note: Uses Conversation.end() rather than "@EndsConversation" + */ + @Test + public void implicitStartNewConversationAfterEnd2() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + Object firstID = service.getConversationObjectConversationId(); + service.endConversation(); + service.getState(); + Assert.assertNotSame(firstID, service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 495-497 Verify: + * 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 nullConversationIDAfterEndConversation() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + service.endConversationViaAnnotatedMethod(); + Assert.assertNull(service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 495-497 Verify: + * If ServiceReference.getConversationID() is called after the + * "@EndsConversation" method is called, but before the next conversation + * has been started, it will return null. Note: Uses explicit set of Conversation ID + */ + @Test + public void nullConversationIDAfterEndConversation1a() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.setConversationID("User provided ID"); + service.getState(); + service.endConversationViaAnnotatedMethod(); + Assert.assertNull(service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 495-497 Verify: If + * ServiceReference.getConversationID() is called after the + * "@EndsConversationmethod" is called, but before the next conversation has + * been started, it will return null. Note: Uses Conversation.end() rather + * than "@EndsConversation" + */ + @Test + public void nullConversationIDAfterEndConversation2() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.getState(); + service.endConversation(); + Assert.assertNull(service.getConversationObjectConversationId()); + } + + /** + * Java Common Annotations and APIs 1.00 Specification line 495-497 Verify: If + * ServiceReference.getConversationID() is called after the + * "@EndsConversationmethod" is called, but before the next conversation has + * been started, it will return null. Note: Uses Conversation.end() rather + * than "@EndsConversation". Note 2: Uses explicit set of Conversation ID + */ + @Test + public void nullConversationIDAfterEndConversation2a() { + CService service = domain.getService(CService.class, "ConversationalCComponent"); + service.setConversationID("User provided ID"); + service.getState(); + service.endConversation(); + Assert.assertNull(service.getConversationObjectConversationId()); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationUniqueIdTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationUniqueIdTestCase.java new file mode 100644 index 0000000000..431962221a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationUniqueIdTestCase.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.TestResult; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/** + * @version $Rev$ $Date$ + */ +public class ConversationUniqueIdTestCase { + + private SCADomain domain; + + @Before + public void setUp() throws Exception { + domain = SCADomain.newInstance("ConversationUniqueId.composite"); + } + + @After + public void tearDown() throws Exception { + if (domain != null) { + domain.close(); + } + } + + @Test + public void testConversationUniqueId() { + Alpha alpha = domain.getService(Alpha.class, "Alpha"); + int numConversations = 3; + + for(int i = 0; i < numConversations; ++i) { + alpha.run(5); + } + + // Wait for the conversations to complete + while (TestResult.getCompleted() < numConversations) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + } + } + + Assert.assertEquals(TestResult.results.size(), numConversations); + for(Boolean value : TestResult.results.values()) { + Assert.assertTrue(value); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalAgeTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalAgeTestCase.java new file mode 100644 index 0000000000..cc31c77873 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalAgeTestCase.java @@ -0,0 +1,103 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.osoa.sca.ConversationEndedException; + +public class ConversationalAgeTestCase { + + private SCADomain domain; + + @Before + public void setUp() throws Exception { + System.setProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.ReaperInterval", "2"); + domain = SCADomain.newInstance("ConversationAge.composite"); + + } + + @After + public void tearDown() throws Exception { + System.clearProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.ReaperInterval"); + if (domain != null) { + domain.close(); + } + } + + @Test + public void testMaxAge() throws InterruptedException { + + ConversationalService conversationalService = + domain.getService(ConversationalService.class, "ConversationAgeComponent"); + + Assert.assertEquals(0, conversationalService.retrieveCount()); + conversationalService.initializeCount(42); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Thread.sleep(500); + try { + Assert.assertEquals(42, conversationalService.retrieveCount()); + } catch (ConversationEndedException e) { + Assert.fail(); + } + } + + @Test + public void testAgeExpired() throws InterruptedException { + + ConversationalService conversationalService = + domain.getService(ConversationalService.class, "ConversationAgeComponent"); + + Assert.assertEquals(0, conversationalService.retrieveCount()); + conversationalService.initializeCount(42); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Thread.sleep(1100); + try { + Assert.assertEquals(0, conversationalService.retrieveCount()); + Assert.fail(); + } catch (ConversationEndedException e) { + // expected + } + } + + @Test + public void testMaxIdle() throws InterruptedException { + + ConversationalService conversationalService = + domain.getService(ConversationalService.class, "ConversationIdleComponent"); + + Assert.assertEquals(0, conversationalService.retrieveCount()); + conversationalService.initializeCount(42); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Assert.assertEquals(42, conversationalService.retrieveCount()); + Thread.sleep(1100); + try { + Assert.assertEquals(0, conversationalService.retrieveCount()); + } catch (ConversationEndedException e) { + // expected + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalJ2SETestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalJ2SETestCase.java new file mode 100644 index 0000000000..8480e04028 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalJ2SETestCase.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.itest.conversational; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ConversationalJ2SETestCase { + + private SCADomain domain; + + @Before + public void setUp() throws Exception { + domain = SCADomain.newInstance("conversational.composite"); + + } + + @After + public void tearDown() throws Exception { + if (domain != null) { + domain.close(); + } + } + + @Test + public void testStatefulConversation() { + ConversationalService conversationalService = + domain.getService(ConversationalService.class, "ConversationalServiceStateful"); + + conversationalService.initializeCount(1); + Assert.assertEquals(1, conversationalService.retrieveCount()); + conversationalService.incrementCount(); + Assert.assertEquals(2, conversationalService.retrieveCount()); + conversationalService.endConversation(); + + Assert.assertEquals(0, conversationalService.retrieveCount()); + + conversationalService.initializeCount(4); + Assert.assertEquals(4, conversationalService.retrieveCount()); + conversationalService.incrementCount(); + Assert.assertEquals(5, conversationalService.retrieveCount()); + conversationalService.endConversation(); + + } + + @Test + public void testStatelessConversation() { + ConversationalService conversationalService = + domain.getService(ConversationalService.class, "ConversationalServiceStateless"); + + conversationalService.initializeCount(1); + Assert.assertEquals(1, conversationalService.retrieveCount()); + conversationalService.incrementCount(); + Assert.assertEquals(2, conversationalService.retrieveCount()); + conversationalService.endConversation(); + + conversationalService.initializeCount(4); + Assert.assertEquals(4, conversationalService.retrieveCount()); + conversationalService.incrementCount(); + Assert.assertEquals(5, conversationalService.retrieveCount()); + conversationalService.endConversation(); + + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTestCase.java b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTestCase.java new file mode 100644 index 0000000000..da359bc296 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTestCase.java @@ -0,0 +1,649 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.conversational; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceRequestImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulNonConversationalCallbackImpl; +import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatelessImpl; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class ConversationalTestCase { + + private static SCADomain domain; + private static ConversationalClient conversationalStatelessClientStatelessService; + private static ConversationalClient conversationalStatelessClientStatefulService; + private static ConversationalClient conversationalStatefulClientStatelessService; + private static ConversationalClient conversationalStatefulClientStatefulService; + private static ConversationalClient conversationalStatelessClientRequestService; + private static ConversationalClient conversationalStatefulClientNonConversationalCallbackStatelessService; + + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("conversational.composite"); + + conversationalStatelessClientStatelessService = domain.getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService"); + + conversationalStatelessClientStatefulService = domain.getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService"); + + conversationalStatefulClientStatelessService = domain.getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService"); + + conversationalStatefulClientStatefulService = domain.getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService"); + conversationalStatelessClientRequestService = domain.getService(ConversationalClient.class, + "ConversationalStatelessClientRequestService"); + conversationalStatefulClientNonConversationalCallbackStatelessService = domain.getService(ConversationalClient.class, + "ConversationalStatefulClientNonConversationalCallbackStatefulService"); + + } catch(Exception ex) { + System.err.println(ex.toString()); + } + + } + + @AfterClass + public static void tearDown() throws Exception { + domain.close(); + } + + private void resetCallStack() { + + // reset the place where we record the sequence of calls passing + // through each component instance + ConversationalServiceStatelessImpl.calls = new StringBuffer(); + ConversationalServiceStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + ConversationalClientStatefulImpl.calls = new StringBuffer(); + ConversationalClientStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + ConversationalServiceStatefulNonConversationalCallbackImpl.calls = new StringBuffer(); + + } + + // stateless client stateful service tests + // ======================================= + @Test + public void testStatelessStatefulConversationFromInjectedReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationFromInjectedReference2() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationFromServiceReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatefulConversationCheckingScope() { + resetCallStack(); + conversationalStatelessClientStatefulService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulImpl.calls.toString()); + } + + @Test + public void testStatelessStatefulConversationWithCallback() { + resetCallStack(); + int count = conversationalStatelessClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + + //@Test + public void testStatelessStatefulConversationHavingPassedReference() { + int count = conversationalStatelessClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessStatefulConversationBusinessException() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessException(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessStatefulConversationBusinessExceptionCallback() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessExceptionCallback(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + // stateless client stateless service tests + // ======================================== + @Test + public void testStatelessStatelessConversationFromInjectedReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationFromInjectedReference2() { + int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationFromServiceReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + @Test + public void testStatelessStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatelessConversationCheckingScope() { + resetCallStack(); + conversationalStatelessClientStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalServiceStatelessImpl.calls.toString()); + } + + @Test + public void testStatelessStatelessConversationWithCallback() { + resetCallStack(); + int count = conversationalStatelessClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + //@Test + public void testStatelessStatelessConversationHavingPassedReference() { + int count = conversationalStatelessClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessStatelessConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + // stateful client stateful service tests + // ====================================== + @Test + public void testStatefulStatefulConversationFromInjectedReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationFromInjectedReference2() { + int count = conversationalStatefulClientStatefulService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationFromServiceReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatefulConversationCheckingScope() { + resetCallStack(); + conversationalStatefulClientStatefulService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulImpl.calls.toString()); + } + + @Test + public void testStatefulStatefulConversationWithCallback() { + resetCallStack(); + int count = conversationalStatefulClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalClientStatefulImpl.calls.toString()); + } + + //@Test + public void testStatefulStatefulConversationHavingPassedReference() { + int count = conversationalStatefulClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + // stateful client stateless service tests + // ======================================= + @Test + public void testStatefulStatelessConversationFromInjectedReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationFromInjectedReference2() { + int count = conversationalStatefulClientStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationFromServiceReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatelessConversationCheckingScope() { + resetCallStack(); + conversationalStatefulClientStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalServiceStatelessImpl.calls.toString()); + } + + @Test + public void testStatefulStatelessConversationWithCallback() { + resetCallStack(); + int count = conversationalStatefulClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalClientStatefulImpl.calls.toString()); + } + + //@Test + public void testStatefulStatelessConversationHavingPassedReference() { + int count = conversationalStatefulClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + // stateless client request scope service tests + // ============================================ + @Test + public void testStatelessRequestConversationFromInjectedReference() { + int count = conversationalStatelessClientRequestService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessRequestConversationFromInjectedReference2() { + int count = conversationalStatelessClientRequestService.runConversationFromInjectedReference2(); + Assert.assertEquals(1, count); + } + + @Test + public void testStatelessRequestConversationFromServiceReference() { + int count = conversationalStatelessClientRequestService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessRequestConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientRequestService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + //@Test + public void testStatelessRequestConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientRequestService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessRequestConversationCheckingScope() { + resetCallStack(); + ConversationalServiceRequestImpl.calls = new StringBuffer(); + conversationalStatelessClientRequestService.runConversationCheckingScope(); + Assert.assertEquals("initializeCount,incrementCount,retrieveCount,endConversation,", + ConversationalServiceRequestImpl.calls.toString()); + } + + @Test + public void testStatelessRequestConversationWithCallback() { + resetCallStack(); + ConversationalClientStatelessImpl.calls = new StringBuffer(); + int count = conversationalStatelessClientRequestService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,", + ConversationalClientStatelessImpl.calls.toString()); + } + + //@Test + public void testStatelessRequestConversationHavingPassedReference() { + int count = conversationalStatelessClientRequestService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessRequestConversationBusinessException() { + String message = conversationalStatelessClientRequestService.runConversationBusinessException(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessRequestConversationBusinessExceptionCallback() { + String message = conversationalStatelessClientRequestService.runConversationBusinessExceptionCallback(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversation() { + int count = conversationalStatelessClientRequestService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessRequestConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + //@Test + public void testStatelessRequestConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatelessClientRequestService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals(null, id); + } + + // stateful client non conversational callback stateful service tests + // ================================================================== + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromInjectedReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromInjectedReference2() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromInjectedReference2(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationFromServiceReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCheckingScope() { + resetCallStack(); + conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,", + ConversationalServiceStatefulNonConversationalCallbackImpl.calls.toString()); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationWithCallback() { + resetCallStack(); + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,", + ConversationalClientStatefulNonConversationalCallbackImpl.calls.toString()); + } + + //@Test + public void testStatefulNonConversationalCallbackStatefulConversationHavingPassedReference() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversation() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCheckConversationId() { + String id = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCheckConversationId(); + Assert.assertEquals(null, id); + } + + @Test + public void testStatefulNonConversationalCallbackStatefulConversationCallingEndedConversationCallbackCheckConversationId() { + String id = conversationalStatefulClientNonConversationalCallbackStatelessService.runConversationCallingEndedConversationCallbackCheckConversationId(); + Assert.assertEquals("MyConversation3", id); + } + + private static final String NEW_A_VALUE = "First Instance - TestCode Set state on A"; + private static final String NEW_B_VALUE = "First Instance - TestCode Set state on B"; + private static final String SECOND_NEW_A_VALUE = "Second Instance - TestCode Set state on A"; + private static final String SECOND_NEW_B_VALUE = "Second Instance - TestCode Set state on B"; + + @Test + public void testMultipleConversations() { + ////////// + // Tests on first instance + ////////// + System.out.println("========= First instance tests ========="); + AService aService = domain.getService(AService.class, "ConversationalAComponent"); + + // Make sure initial values are correct + Assert.assertEquals(Constants.A_INITIAL_VALUE, aService.getState()); + Assert.assertEquals(Constants.B_INITIAL_VALUE, aService.getStateOnB()); + + // Set some new values + aService.setState(NEW_A_VALUE); + aService.setStateOnB(NEW_B_VALUE); + + // Verify the set worked + Assert.assertEquals(NEW_A_VALUE, aService.getState()); + Assert.assertEquals(NEW_B_VALUE, aService.getStateOnB()); + + + ////////// + // Tests on second instance + ////////// + System.out.println("========= Second instance tests ========="); + + // Do another look up + AService aService2 = domain.getService(AService.class, "ConversationalAComponent"); + + // Make sure initial values are correct on the second instance + Assert.assertEquals(Constants.A_INITIAL_VALUE, aService2.getState()); + Assert.assertEquals(Constants.B_INITIAL_VALUE, aService2.getStateOnB()); + + // Set some new values on the second instance + aService2.setState(SECOND_NEW_A_VALUE); + aService2.setStateOnB(SECOND_NEW_B_VALUE); + + // Verify the set worked on the second instance + Assert.assertEquals(SECOND_NEW_A_VALUE, aService2.getState()); + Assert.assertEquals(SECOND_NEW_B_VALUE, aService2.getStateOnB()); + + // Verify the values have not been changed on the first instance + Assert.assertEquals(NEW_A_VALUE, aService.getState()); + Assert.assertEquals(NEW_B_VALUE, aService.getStateOnB()); + + System.out.println("========= Done instance tests ========="); + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/pom.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/pom.xml new file mode 100644 index 0000000000..d25a2f71c2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/pom.xml @@ -0,0 +1,126 @@ + + + + + org.apache.tuscany.sca + itest-databindings + 2.0-incubating-SNAPSHOT + + + 4.0.0 + + itest-databindings-common + 2.0-incubating-SNAPSHOT + jar + Apache Tuscany SCA Databinding Common Integration Tests + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + + + + org.apache.tuscany.sca + tuscany-databinding-sdo + ${pom.version} + compile + + + org.apache.tuscany.sdo + tuscany-sdo-tools + 1.1-incubating + compile + + + velocity + velocity + 1.4 + compile + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.0 + + + add-test-source + generate-sources + + add-test-source + + + + target/sdo-source + + + + + + + org.apache.tuscany.sdo + tuscany-sdo-plugin + 1.1-incubating + + + generate-sdo + generate-sources + + + + ${basedir}/src/main/resources/generate/generate.xsd + + + true + true + true + + + generate + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/java/org/apache/tuscany/sca/itest/generate/Generate.java b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/java/org/apache/tuscany/sca/itest/generate/Generate.java new file mode 100644 index 0000000000..adb546a1ea --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/java/org/apache/tuscany/sca/itest/generate/Generate.java @@ -0,0 +1,181 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.generate; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileWriter; +import java.util.List; +import java.util.Properties; + +import org.apache.tuscany.generate.GenerateFactory; +import org.apache.tuscany.generate.GenerateType; +import org.apache.tuscany.generate.InputFileType; +import org.apache.tuscany.generate.TemplateType; +import org.apache.tuscany.sdo.generate.XSD2JavaGenerator; +import org.apache.tuscany.sdo.util.SDOUtil; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; + +import commonj.sdo.helper.HelperContext; +import commonj.sdo.helper.XMLDocument; + +/** + * Generates test files based on the information in a configuration files (generate.xml) + * and a set of velocity templates. The process is + * + * for each template + * for each xsd file + * generate SDOs + * include the factory into the composite + * for each type + * add client iface method + * add client impl method + * add service iface method + * add service impl method + * add test method + * add wsdl type and method + * + * @version $Rev$ $Date$ + */ +public class Generate { + + /** + * Does all the hard work of running the velocity templates against the + * the list of types to test. Both the list of templates and the list of + * XSD files is held in the configuration file (generate.xsd) which lives in the + * resources/generate directory of the project being generated. + * + * @param projectBuildDir the path to the target dir of the project being generated. + */ + public static void generate(String projectBuildDir) { + System.out.println(">> Building project from dir: " + projectBuildDir); + FileInputStream fis = null; + + try { + // Load the config file into a stream + fis = new FileInputStream(projectBuildDir + "/classes/generate/generate.xml"); + + // Load the stream into SDO + // We are just using SDO as a convenient way to parse the XML config file + HelperContext scope = SDOUtil.createHelperContext(); + GenerateFactory.INSTANCE.register(scope); + XMLDocument xmlDoc = scope.getXMLHelper().load(fis); + GenerateType generateType = (GenerateType)xmlDoc.getRootObject(); + + // Get the file list. This is the list of XSD that is passed into the + // the velocity templates. Each configured file holds a list of types + // that the velocity templates expand into appropriate methods and method calls + List fileList = generateType.getInputFile(); + + //Initialise velocity ready to generate the various files + Properties p = new Properties(); + p.setProperty("file.resource.loader.path", projectBuildDir + "/classes/generate"); + Velocity.init(p); + VelocityContext context = new VelocityContext(); + context.put("fileList", fileList); + + List templateList = generateType.getTemplate(); + + // For each velocity template in the template list pass in the XSD file list + for ( Object item: templateList){ + TemplateType template = (TemplateType)item; + context.put("template", template); + String tmp = template.getTemplateName(); + String filename = projectBuildDir + "/" + template.getTemplateTargetDir() + "/" + tmp.substring(0,tmp.length() - 3); + File f = new File(filename); + // Create folders since the package doesn't exist before the code-gen for the 1st time + f.getParentFile().mkdirs(); + FileWriter fw = new FileWriter(f); + System.out.println(">> Processing " + template.getTemplateName() + " to " + filename); + Velocity.mergeTemplate(template.getTemplateName(), context, fw ); + fw.flush(); + fw.close(); + } + + + } catch (Exception e) { + System.out.println("Exception : " + e.toString()); + e.printStackTrace(); + return; + } + } + + /** + * The SDO generator tool does all of the hard work + * + * @param projectBuildDir the path to the target dir of the project being generated. + */ + public static void generateSDO(String projectBuildDir) { + System.out.println(">> Building SDOs from dir: " + projectBuildDir); + FileInputStream fis = null; + + try { + // Load the config file into a stream + fis = new FileInputStream(projectBuildDir + "/classes/generate/generate.xml"); + + // Load the stream into SDO + // We are just using SDO as a convenient way to parse the XML config file + HelperContext scope = SDOUtil.createHelperContext(); + GenerateFactory.INSTANCE.register(scope); + XMLDocument xmlDoc = scope.getXMLHelper().load(fis); + GenerateType generateType = (GenerateType)xmlDoc.getRootObject(); + + // Get the file list. This is the list of XSD that is passed into the + // the velocity templates. Each configured file holds a list of types + // that the velocity templates expand into appropriate methods and method calls + List fileList = generateType.getInputFile(); + + // for each XSD in the XSD file list generate an SDO. + XSD2JavaGenerator generator = new XSD2JavaGenerator(); + + for ( Object item : fileList){ + InputFileType file = (InputFileType)item; + + XSD2JavaGenerator.generateFromXMLSchema(projectBuildDir + "/classes/xsd/" + file.getFileName(), + file.getNamespace(), + projectBuildDir + "/sdo-source", + file.getJavaPackage(), + null, //file.getPrefix(), + XSD2JavaGenerator.OPTION_NO_CONTAINMENT | XSD2JavaGenerator.OPTION_NO_NOTIFICATION | XSD2JavaGenerator.OPTION_NO_UNSETTABLE); + + } + + } catch (Exception e) { + System.out.println("Exception : " + e.toString()); + e.printStackTrace(); + return; + } + } + + /** + * The mainline + * + * @param args the target directory where project in which files are being generated + */ + public static void main(String[] args) { + + Generate.generate(args[0]); + + if (args.length > 1){ + Generate.generateSDO(args[0]); + } + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/DatabindingTestCase.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/DatabindingTestCase.java.vm new file mode 100644 index 0000000000..b2346aa973 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/DatabindingTestCase.java.vm @@ -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 $template.getJavaPackage(); + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; + +import ${template.getJavaPackage()}.GreeterService; + +// Data types +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +import $file.getJavaPackage().$file.getFactory(); +#end +#end + +/** + * Automatically generated test case. Calls the greeter client for a number of + * bindings and a number of data types. + * + * @version $Rev: 511417 $ $Date: 2007-02-25 03:06:42 +0000 (Sun, 25 Feb 2007) $ + */ +public class DatabindingTestCase extends TestCase { + + private SCADomain domain; + private GreeterService greeterClient; + + /** + * Runs before each test method + */ + protected void setUp() throws Exception { + domain = SCADomain.newInstance("greeter.composite"); + super.setUp(); + } + + /** + * Runs after each test method + */ + protected void tearDown() { + domain.close(); + } + + /** + * Finds the SCA component that relates to the protocol being tested. This test + * always connects locally to the client component but the client component will + * connect to the back end component using the appropriate protocol + * + * @param ext the protcol required + */ + private void setUpClient(String ext) throws Exception { + greeterClient = domain.getService(GreeterService.class, ext + "GreeterServiceClient"); + } + + /** + * Invokes the SDO Greet service using web service bindings with SDO payload + */ + public void testWSGreet() throws Exception { + setUpClient("WS"); + greet(); + } + + /** + * Invokes the SDO Greet service using default bindings with SDO payload + */ + public void testDefaultGreet() throws Exception { + setUpClient("Default"); + greet(); + } + + /** + * A generic method which, regarless of which client is connected, sends out a + * series of requrests passing different data types. + */ + public void greet() { +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + // test $typeInstance.getTypeName() + { + $typeInstance.getTypeName() param = null; + $typeInstance.getCreateTypeCode() + $typeInstance.getTypeName() result = greeterClient.greet$typeInstance.getTypeName()(param); + $typeInstance.getResultComparison() + } +#end +#end + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/Greeter.wsdl.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/Greeter.wsdl.vm new file mode 100644 index 0000000000..88616cc997 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/Greeter.wsdl.vm @@ -0,0 +1,103 @@ + + + + + + + +#foreach($file in $fileList) + +#end + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + +#end +#end + + + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + + + +#end +#end + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterService.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterService.java.vm new file mode 100644 index 0000000000..77a12e92ec --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterService.java.vm @@ -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 $template.getJavaPackage(); + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +#end +#end + +import org.osoa.sca.annotations.Remotable; + +/** + * The automatically generated interface to the service that reflects data objects + * that are sent to it + * + * @version $Rev: 511417 $ $Date: 2007-02-25 03:06:42 +0000 (Sun, 25 Feb 2007) $ + */ +@Remotable +public interface GreeterService { + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + /** + * Take the provided data object, change it slightly and return it + * + * @param param the data object to be changed and returned + * @return the change data object + */ + $typeInstance.getTypeName() greet$typeInstance.getTypeName()($typeInstance.getTypeName() param); +#end +#end + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClient.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClient.java.vm new file mode 100644 index 0000000000..ee73db6152 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClient.java.vm @@ -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 $template.getJavaPackage(); + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +#end +#end + +import org.osoa.sca.annotations.AllowsPassByReference; + +/** + * GreeterServiceClient + */ +@AllowsPassByReference +public interface GreeterServiceClient { +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + $typeInstance.getTypeName() greet$typeInstance.getTypeName()($typeInstance.getTypeName() param); +#end +#end +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClientImpl.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClientImpl.java.vm new file mode 100644 index 0000000000..aab564dc1e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceClientImpl.java.vm @@ -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 $template.getJavaPackage(); + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +#end +#end + +/** + * The automatically generated service that simply forwards data objects on to + * the GreeterService and passes back the responses + * + * @version $Rev: 508831 $ $Date: 2007-02-18 00:12:31 +0000 (Sun, 18 Feb 2007) $ + */ +@Service(GreeterService.class) +public class GreeterServiceClientImpl implements GreeterService { + + /** + * the reference the the GreeterService that will + * change each data object slightly and return it + */ + private GreeterService service; + + @Reference + public void setGreeterService(GreeterService service) { + this.service = service; + } +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + /* + * (non-Javadoc) + * + * @see org.apache.tuscany.sca.itest.sdodatabinding.GreeterService#greet$typeInstance.getTypeName()($typeInstance.getTypeName() param) + */ + public $typeInstance.getTypeName() greet$typeInstance.getTypeName()($typeInstance.getTypeName() param) { + return service.greet$typeInstance.getTypeName()(param); + } +#end +#end +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceImpl.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceImpl.java.vm new file mode 100644 index 0000000000..5507a0b747 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/GreeterServiceImpl.java.vm @@ -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 $template.getJavaPackage(); + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +#end +#end + +import org.osoa.sca.annotations.Service; + +/** + * The automatically generated service implementation that reflects data objects + * that are sent to it + * + * @version $Rev: 511417 $ $Date: 2007-02-25 03:06:42 +0000 (Sun, 25 Feb 2007) $ + */ +@Service(GreeterService.class) +public class GreeterServiceImpl implements GreeterService { +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + /** + * Take the provided data object, change it slightly and return it + * + * @param param the data object to be changed and returned + * @return the change data object + */ + public $typeInstance.getTypeName() greet$typeInstance.getTypeName()($typeInstance.getTypeName() param) { + $typeInstance.getModifyTypeCode() + return param; + } +#end +#end +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/generate.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/generate.xsd new file mode 100644 index 0000000000..1fabedf55f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/generate/generate.xsd @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/wsdl/Dummy.txt b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/wsdl/Dummy.txt new file mode 100644 index 0000000000..8927d725b6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/wsdl/Dummy.txt @@ -0,0 +1,4 @@ +A dummy file that causes the target/classes/wsdl dir to be created in the generated test project. This is +required because the test generator must run in the process-resource phase, after generate.xml has been copied +into target. The generator needs to write out target/classes/wsdl and will fail the directory isn't there. So +this file just gets unpacked and forces the directory to be created. diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xml new file mode 100644 index 0000000000..f1f4346e58 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xsd new file mode 100644 index 0000000000..1fae43eb09 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Annotation.xsd @@ -0,0 +1,38 @@ + + + + + + SDO 2.0.1 + + A schema that tests the presence of annotations in schema read by SDO + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xml new file mode 100644 index 0000000000..c20c80b658 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xsd new file mode 100644 index 0000000000..bd3db2e030 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Attribute.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xml new file mode 100644 index 0000000000..30e4979dca --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xsd new file mode 100644 index 0000000000..e7738dcff7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeReference.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xml new file mode 100644 index 0000000000..9552421e2d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xsd new file mode 100644 index 0000000000..c7b9655749 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithDefaultValue.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xml new file mode 100644 index 0000000000..5e5e7fbd55 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xsd new file mode 100644 index 0000000000..5c455c2ab5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithFixedValue.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xml new file mode 100644 index 0000000000..635e851632 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xsd new file mode 100644 index 0000000000..004dab4fbb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOAliasName.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xml new file mode 100644 index 0000000000..136092951b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xsd new file mode 100644 index 0000000000..796f08e1cf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDODataType.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xml new file mode 100644 index 0000000000..927b94885c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xsd new file mode 100644 index 0000000000..93f83cd0a1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOName.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xml new file mode 100644 index 0000000000..ea7db70595 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xsd new file mode 100644 index 0000000000..c64323e7e1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertySDOOppositePropertyType.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xml new file mode 100644 index 0000000000..85c7d85fd4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xsd new file mode 100644 index 0000000000..543f276c50 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOPropertyType.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xml new file mode 100644 index 0000000000..fcd281539b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xsd new file mode 100644 index 0000000000..1610c2b861 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/AttributeWithSDOString.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xml new file mode 100644 index 0000000000..36a0760a61 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xml @@ -0,0 +1,24 @@ + + + + anySimpleType + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xsd new file mode 100644 index 0000000000..999b72bb35 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnySimpleType.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xml new file mode 100644 index 0000000000..5849165fe0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xsd new file mode 100644 index 0000000000..71dad561ca --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyType.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xml new file mode 100644 index 0000000000..8acf9376d7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xml @@ -0,0 +1,24 @@ + + + + http://tempuri.org + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xsd new file mode 100644 index 0000000000..a49987c352 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInAnyURI.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xml new file mode 100644 index 0000000000..a35b6e174a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xml @@ -0,0 +1,24 @@ + + + + ABCDEF + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xsd new file mode 100644 index 0000000000..e1995890f9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBase64Binary.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xml new file mode 100644 index 0000000000..91cfce51b8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xml @@ -0,0 +1,27 @@ + + + + true + false + 1 + 0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xsd new file mode 100644 index 0000000000..a2f86ba8c5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInBoolean.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xml new file mode 100644 index 0000000000..907474cd1b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xml @@ -0,0 +1,25 @@ + + + + 127 + -127 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xsd new file mode 100644 index 0000000000..a2f6bcfa77 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInByte.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xml new file mode 100644 index 0000000000..c5820e1a2e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xml @@ -0,0 +1,24 @@ + + + + 2001-01-01 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xsd new file mode 100644 index 0000000000..f4d596bfe3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDate.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xml new file mode 100644 index 0000000000..0debe2fec5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xml @@ -0,0 +1,24 @@ + + + + 2001-12-31T12:00:00 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xsd new file mode 100644 index 0000000000..b5bcfdcfd4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDateTime.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xml new file mode 100644 index 0000000000..7f001254cc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xml @@ -0,0 +1,23 @@ + + + + -1.23456789 + 1.23456789 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xsd new file mode 100644 index 0000000000..8d4d106f59 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDecimal.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xml new file mode 100644 index 0000000000..f875b9f94d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xml @@ -0,0 +1,25 @@ + + + + 0.0 + 12.3E-4 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xsd new file mode 100644 index 0000000000..4c8a39b06c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDouble.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xml new file mode 100644 index 0000000000..7d343d6dda --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xml @@ -0,0 +1,24 @@ + + + + P1D + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xsd new file mode 100644 index 0000000000..bb12bc04a9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInDuration.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xml new file mode 100644 index 0000000000..7a81f3b0dd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xml @@ -0,0 +1,24 @@ + + + + 0.0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xsd new file mode 100644 index 0000000000..f0e1c21233 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInFloat.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xml new file mode 100644 index 0000000000..d35568b3c9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xml @@ -0,0 +1,24 @@ + + + + ---01 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xsd new file mode 100644 index 0000000000..92bd9a4b66 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGDay.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xml new file mode 100644 index 0000000000..52cdfa8c4e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xml @@ -0,0 +1,24 @@ + + + + --01-- + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xsd new file mode 100644 index 0000000000..78d001a585 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonth.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xml new file mode 100644 index 0000000000..2609a858f7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xml @@ -0,0 +1,24 @@ + + + + --01-01 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xsd new file mode 100644 index 0000000000..38f6c55059 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGMonthDay.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xml new file mode 100644 index 0000000000..7868a47ca3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xml @@ -0,0 +1,24 @@ + + + + 2001 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xsd new file mode 100644 index 0000000000..0d65b124ff --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYear.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xml new file mode 100644 index 0000000000..3f5080d49f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xml @@ -0,0 +1,24 @@ + + + + 2001-01 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xsd new file mode 100644 index 0000000000..340555dc5f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInGYearMonth.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xml new file mode 100644 index 0000000000..0deb7af980 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xml @@ -0,0 +1,24 @@ + + + + 0F00 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xsd new file mode 100644 index 0000000000..8059fe6da0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInHexBinary.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xml new file mode 100644 index 0000000000..06c92ce19b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xml @@ -0,0 +1,24 @@ + + + + idvalue0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xsd new file mode 100644 index 0000000000..7b1f02d1d4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInID.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xml new file mode 100644 index 0000000000..9bc0cefd0f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xml @@ -0,0 +1,24 @@ + + + + idvalue0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xsd new file mode 100644 index 0000000000..0c207983bc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREF.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xml new file mode 100644 index 0000000000..f91b602f99 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xml @@ -0,0 +1,24 @@ + + + + idvalue0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xsd new file mode 100644 index 0000000000..b99bf01b73 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInIDREFS.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xml new file mode 100644 index 0000000000..c99698e175 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xml @@ -0,0 +1,25 @@ + + + + -2147483648 + 2147483647 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xsd new file mode 100644 index 0000000000..b5b9b0d1eb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInt.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xml new file mode 100644 index 0000000000..80d22ce057 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xml @@ -0,0 +1,25 @@ + + + + -2147483648 + 2147483647 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xsd new file mode 100644 index 0000000000..4902935db5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInInteger.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xml new file mode 100644 index 0000000000..664bf824b4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xml @@ -0,0 +1,24 @@ + + + + EN + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xsd new file mode 100644 index 0000000000..5d3658d224 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLanguage.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xml new file mode 100644 index 0000000000..c5861fa92a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xml @@ -0,0 +1,25 @@ + + + + -9223372036854775808 + 9223372036854775807 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xsd new file mode 100644 index 0000000000..0aa4710057 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInLong.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xml new file mode 100644 index 0000000000..1f95950394 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xml @@ -0,0 +1,24 @@ + + + + NCName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xsd new file mode 100644 index 0000000000..6ee9c435db --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNCName.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xml new file mode 100644 index 0000000000..0297f1aeb4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xml @@ -0,0 +1,24 @@ + + + + NMTOKEN + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xsd new file mode 100644 index 0000000000..56d027bdbb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKEN.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xml new file mode 100644 index 0000000000..81ba1069bd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xml @@ -0,0 +1,24 @@ + + + + NMTOKENS + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xsd new file mode 100644 index 0000000000..866ab73024 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNMTOKENS.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xml new file mode 100644 index 0000000000..8bb3a08b94 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xml @@ -0,0 +1,24 @@ + + + + tns:BuiltInNotationNotation + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xsd new file mode 100644 index 0000000000..c7c62f812b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNOTATION.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xml new file mode 100644 index 0000000000..8235718c5e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xml @@ -0,0 +1,24 @@ + + + + Name + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xsd new file mode 100644 index 0000000000..36caba2f16 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInName.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xml new file mode 100644 index 0000000000..599c428a44 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xml @@ -0,0 +1,24 @@ + + + + -1 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xsd new file mode 100644 index 0000000000..389d5a99f0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNegativeInteger.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xml new file mode 100644 index 0000000000..919c4a20ee --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xml @@ -0,0 +1,24 @@ + + + + 0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xsd new file mode 100644 index 0000000000..59887078b5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonNegativeInteger.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xml new file mode 100644 index 0000000000..79011f26ab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xml @@ -0,0 +1,24 @@ + + + + -1 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xsd new file mode 100644 index 0000000000..5de7d64d7b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNonPositiveInteger.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xml new file mode 100644 index 0000000000..c40be9e18b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xml @@ -0,0 +1,24 @@ + + + + normalizedString + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xsd new file mode 100644 index 0000000000..d4a78787b8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInNormalizedString.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xml new file mode 100644 index 0000000000..c30434de66 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xml @@ -0,0 +1,24 @@ + + + + 1 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xsd new file mode 100644 index 0000000000..5381590cd1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInPositiveInteger.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xml new file mode 100644 index 0000000000..4cd6ea7e72 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xml @@ -0,0 +1,24 @@ + + + + QName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xsd new file mode 100644 index 0000000000..e8faf6225b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInQName.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xml new file mode 100644 index 0000000000..b4375467c4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xml @@ -0,0 +1,25 @@ + + + + -32768 + 32767 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xsd new file mode 100644 index 0000000000..a4f564d9b7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInShort.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xml new file mode 100644 index 0000000000..d30ab85530 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xml @@ -0,0 +1,24 @@ + + + + string + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xsd new file mode 100644 index 0000000000..8abb34b5a5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInString.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xml new file mode 100644 index 0000000000..7fd9a061ae --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xsd new file mode 100644 index 0000000000..1615976813 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInTime.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xml new file mode 100644 index 0000000000..cd567ba528 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xml @@ -0,0 +1,24 @@ + + + + token + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xsd new file mode 100644 index 0000000000..0beaac571f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInToken.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xml new file mode 100644 index 0000000000..025362defb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xml @@ -0,0 +1,25 @@ + + + + 0 + 255 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xsd new file mode 100644 index 0000000000..d6d951fe5d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedByte.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xml new file mode 100644 index 0000000000..5736a8c121 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xml @@ -0,0 +1,25 @@ + + + + 0 + 4294967295 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xsd new file mode 100644 index 0000000000..242be1d53b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedInt.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xml new file mode 100644 index 0000000000..d728115a77 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xml @@ -0,0 +1,25 @@ + + + + 0 + 18446744073709551615 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xsd new file mode 100644 index 0000000000..108e3a8619 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedLong.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xml new file mode 100644 index 0000000000..d4ffae5e17 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xml @@ -0,0 +1,25 @@ + + + + 0 + 65535 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xsd new file mode 100644 index 0000000000..5ee5e0229e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/BuiltInUnsignedShort.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xml new file mode 100644 index 0000000000..3d5aed5aa8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xsd new file mode 100644 index 0000000000..e7b80ab11c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeComplexContentRestrictingComplexType.xsd @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xml new file mode 100644 index 0000000000..2b4fe5594e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xml @@ -0,0 +1,27 @@ + + + + + SimpleTypeWithName + SimpleTypeWithNameExtended + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xsd new file mode 100644 index 0000000000..fc4deb63c2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingComplexType.xsd @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xml new file mode 100644 index 0000000000..03570f41d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xml @@ -0,0 +1,24 @@ + + + + ComplexTypeExtendingSimpeTypeElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xsd new file mode 100644 index 0000000000..c754502645 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeExtendingSimpleType.xsd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xml new file mode 100644 index 0000000000..4603793bfc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xml @@ -0,0 +1,24 @@ + + + + ComplexTypeSimpleContentRestrictingComplexTypeElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xsd new file mode 100644 index 0000000000..4bcd2f8c46 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeSimpleContentRestrictingComplexType.xsd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xml new file mode 100644 index 0000000000..a6861f803a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xml @@ -0,0 +1,27 @@ + + + + + BaseElement + ExtensionElement + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xsd new file mode 100644 index 0000000000..8bb251cab2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithAbstract.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xml new file mode 100644 index 0000000000..467ec007ed --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xml @@ -0,0 +1,30 @@ + + + + + Some + ]]> + Mixed + SimpleType]]>WithName + Content + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xsd new file mode 100644 index 0000000000..8d00646678 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithCDATA.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xml new file mode 100644 index 0000000000..7deafd798a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xsd new file mode 100644 index 0000000000..72ac75fee0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithContent.xsd @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xml new file mode 100644 index 0000000000..f6208f81b3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xml @@ -0,0 +1,29 @@ + + + + + Some + Mixed + SimpleTypeWithName + Content + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xsd new file mode 100644 index 0000000000..1f26e13673 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithMixed.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xml new file mode 100644 index 0000000000..97de7b98eb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xml @@ -0,0 +1,24 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xsd new file mode 100644 index 0000000000..67716553d8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenAttributes.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xml new file mode 100644 index 0000000000..5941348921 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xml @@ -0,0 +1,31 @@ + + + + + + + Some + Mixed + SimpleTypeWithName + Content + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xsd new file mode 100644 index 0000000000..24d5d09054 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOpenContent.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xml new file mode 100644 index 0000000000..f684d06a4d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xml @@ -0,0 +1,30 @@ + + + + + SomeData + + + idvalue2 + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xsd new file mode 100644 index 0000000000..de4a8a666d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithOppositeProperty.xsd @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xml new file mode 100644 index 0000000000..242908bd27 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xsd new file mode 100644 index 0000000000..4c00fbe295 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOAliasName.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xml new file mode 100644 index 0000000000..925e8625d5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xsd new file mode 100644 index 0000000000..b12bec040b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOName.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xml new file mode 100644 index 0000000000..c73708ce46 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xsd new file mode 100644 index 0000000000..795c3ea7d9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithSDOSequence.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xml new file mode 100644 index 0000000000..3ebdc89ae0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xsd new file mode 100644 index 0000000000..21546d0f67 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutContent.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xml new file mode 100644 index 0000000000..89657e42ca --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xsd new file mode 100644 index 0000000000..d01b4172e4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ComplexTypeWithoutName.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xml new file mode 100644 index 0000000000..82fd1eedaf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xml @@ -0,0 +1,23 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xsd new file mode 100644 index 0000000000..e1dcf06194 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/DefaultNamespace.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xml new file mode 100644 index 0000000000..ebf03c9d5d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xml @@ -0,0 +1,27 @@ + + + + + ElementInAllOne + ElementInAllTwo + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xsd new file mode 100644 index 0000000000..8b9ba5b4b8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInAll.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xml new file mode 100644 index 0000000000..26466b1b39 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xml @@ -0,0 +1,25 @@ + + + + Element1InChoice + Element2InChoice + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xsd new file mode 100644 index 0000000000..ff418c56ab --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementInChoice.xsd @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xml new file mode 100644 index 0000000000..27bb1ce9cc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xml @@ -0,0 +1,29 @@ + + + + + + ChangeSummaryText + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xsd new file mode 100644 index 0000000000..2bf1df8c99 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSDOChangeSummaryType.xsd @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xml new file mode 100644 index 0000000000..9b5561ed43 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xml @@ -0,0 +1,24 @@ + + + + ElementOfSimpleTypeWithDefaultDefault + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xsd new file mode 100644 index 0000000000..0b4e7bdf45 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithDefault.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xml new file mode 100644 index 0000000000..f1b7cd264c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xml @@ -0,0 +1,24 @@ + + + + ElementOfSimpleTypeWithFixedFixed + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xsd new file mode 100644 index 0000000000..a2c8456257 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithFixed.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xml new file mode 100644 index 0000000000..1f60b0423f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xml @@ -0,0 +1,24 @@ + + + + ElementOfSimpleTypeWithSDODataTypeElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xsd new file mode 100644 index 0000000000..21e55ab8c1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDODataType.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xml new file mode 100644 index 0000000000..30762f4912 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xml @@ -0,0 +1,24 @@ + + + + idvalue0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xsd new file mode 100644 index 0000000000..5bf35d0d70 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOOppositePropertyType.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xml new file mode 100644 index 0000000000..2dd01e4090 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xml @@ -0,0 +1,24 @@ + + + + idvalue0 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xsd new file mode 100644 index 0000000000..6920cd8dd0 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOPropertyType.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xml new file mode 100644 index 0000000000..6a526bdc47 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xml @@ -0,0 +1,24 @@ + + + + ElementOfSimpleTypeWithSDOStringElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xsd new file mode 100644 index 0000000000..1117a95eb8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementOfSimpleTypeWithSDOString.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xml new file mode 100644 index 0000000000..ab91458bff --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xml @@ -0,0 +1,40 @@ + + + + + + ElementInSubstitutionGroupBase + + + + Some Data + + + + ElementInSubstitutionGroupBase + + + ElementInSubstitutionGroupExtends + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xsd new file mode 100644 index 0000000000..3e015843b5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementSubstitutionGroupBase.xsd @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xml new file mode 100644 index 0000000000..b6d68fd08a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xml @@ -0,0 +1,25 @@ + + + + ElementWithMaxOccursElement1 + ElementWithMaxOccursElement2 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xsd new file mode 100644 index 0000000000..d4453a4477 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithMaxOccurs.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xml new file mode 100644 index 0000000000..6de3adc937 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xml @@ -0,0 +1,24 @@ + + + + ElementWithNillableElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xsd new file mode 100644 index 0000000000..786ab226da --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithNillable.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xml new file mode 100644 index 0000000000..64093aa803 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xml @@ -0,0 +1,24 @@ + + + + ElementWithSDOAliasName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xsd new file mode 100644 index 0000000000..01f4c2b1ef --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOAliasName.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xml new file mode 100644 index 0000000000..774646f682 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xml @@ -0,0 +1,24 @@ + + + + ElementWithSDONameElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xsd new file mode 100644 index 0000000000..34da37564c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ElementWithSDOName.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xml new file mode 100644 index 0000000000..a1fb3aa803 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xsd new file mode 100644 index 0000000000..8eb7a4fce4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementComplexType.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xml new file mode 100644 index 0000000000..f68eb1939d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xml @@ -0,0 +1,24 @@ + + + + GlobalElementSimpleType + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xsd new file mode 100644 index 0000000000..b9f77e6658 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/GlobalElementSimpleType.xsd @@ -0,0 +1,26 @@ + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xml new file mode 100644 index 0000000000..fd28850050 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xml @@ -0,0 +1,30 @@ + + + + + SimpleTypeWithName + + SomeString + SomeString + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xsd new file mode 100644 index 0000000000..eae93fd44a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Import.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ImportedSchema.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ImportedSchema.xsd new file mode 100644 index 0000000000..a7e568decf --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/ImportedSchema.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xml new file mode 100644 index 0000000000..d4b9e24fa6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xsd new file mode 100644 index 0000000000..34ff314a19 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Include.xsd @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Interop.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Interop.xsd new file mode 100644 index 0000000000..ae22ab2c44 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Interop.xsd @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xml new file mode 100644 index 0000000000..b75ac6500a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xml @@ -0,0 +1,24 @@ + + + +tns:Tuscany + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xsd new file mode 100644 index 0000000000..6ad019cb81 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Notation.xsd @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Person.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Person.xsd new file mode 100644 index 0000000000..5f5021b15e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/Person.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xml new file mode 100644 index 0000000000..6c5ad88ff4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xml @@ -0,0 +1,25 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xsd new file mode 100644 index 0000000000..6b7e39b334 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SDOJavaPackage.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xml new file mode 100644 index 0000000000..f9d4a24a49 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithAbstractExtensionElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xsd new file mode 100644 index 0000000000..f649e2ba83 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithAbstract.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xml new file mode 100644 index 0000000000..410df4b7e4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithExtendedInstanceClassElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xsd new file mode 100644 index 0000000000..5d27ef5ce1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithExtendedInstanceClass.xsd @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xml new file mode 100644 index 0000000000..7b74867c03 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithInstanceClassElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xsd new file mode 100644 index 0000000000..ec16a678a3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithInstanceClass.xsd @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xml new file mode 100644 index 0000000000..708d526f44 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xml @@ -0,0 +1,24 @@ + + + + listmember1 listmember2 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xsd new file mode 100644 index 0000000000..ed681009f9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithList.xsd @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xml new file mode 100644 index 0000000000..e404ac86b7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithNameElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xsd new file mode 100644 index 0000000000..af0431f048 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithName.xsd @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xml new file mode 100644 index 0000000000..c86a0f6bcb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithSDONameElement + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xsd new file mode 100644 index 0000000000..89b00a36cc --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithSDOName.xsd @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xml new file mode 100644 index 0000000000..399b0d8175 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xml @@ -0,0 +1,25 @@ + + + + EN + 01:02:03 + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xsd new file mode 100644 index 0000000000..ea35bec61a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithUnion.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xml new file mode 100644 index 0000000000..bc8cf35368 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xml @@ -0,0 +1,26 @@ + + + + + SimpleTypeWithoutName + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xsd new file mode 100644 index 0000000000..57981e3666 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/SimpleTypeWithoutName.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xml b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xml new file mode 100644 index 0000000000..da2929776e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xml @@ -0,0 +1,24 @@ + + + + SimpleTypeWithName + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xsd new file mode 100644 index 0000000000..ace5427786 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/TargetNamespace.xsd @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/datagraph.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/datagraph.xsd new file mode 100644 index 0000000000..e6b9697a8d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/datagraph.xsd @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Expected type is emof:Package. + + + + + + + + + + + Expected type is xsd:schema. + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoJava.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoJava.xsd new file mode 100644 index 0000000000..7387568942 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoJava.xsd @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoModel.xsd b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoModel.xsd new file mode 100644 index 0000000000..c5aabc9cc8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/main/resources/xsd/sdoModel.xsd @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/common/src/test/java/org/apache/tuscany/sca/itest/generate/GenerateTestCase.java b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/test/java/org/apache/tuscany/sca/itest/generate/GenerateTestCase.java new file mode 100644 index 0000000000..fa3f310d4d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/common/src/test/java/org/apache/tuscany/sca/itest/generate/GenerateTestCase.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.itest.generate; + +import junit.framework.TestCase; + + +/** + * + */ +public class GenerateTestCase extends TestCase { + + //private Generate generator = null; + + @Override + protected void setUp() throws Exception { + //generator = new Generate(); + } + + @Override + protected void tearDown() { + } + + /** + * Invokes the Generate class to generate databinding test classes and resources. + * + * @throws Exception + */ + public void testGenerate() throws Exception { + //generator.generate(); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/config.png b/sandbox/sebastien/java/sca-node/itest/databindings/config.png new file mode 100644 index 0000000000..7912019e9d Binary files /dev/null and b/sandbox/sebastien/java/sca-node/itest/databindings/config.png differ diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/config.svg b/sandbox/sebastien/java/sca-node/itest/databindings/config.svg new file mode 100644 index 0000000000..aaf027e2df --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/config.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + image/svg+xml + + + + + + <tns:Generate ...> <Template> <TemplateName>greeter.composite.vm</TemplateName> <TemplateTargetDir>classes</TemplateTargetDir> </Template> ... <InputFile> <FileName>Person.xsd</FileName> <FilePath>xsd</FilePath> <JavaPackage>org.apache.tuscany.sca.itest.databinding.types</JavaPackage> <Factory>TypesFactory</Factory> <Namespace>http://apache.org/tuscany/sca/itest/databinding/types</Namespace> <Prefix>p</Prefix> <Type> <TypeName>PersonType</TypeName> <CreateTypeCode> TypesFactory factory = TypesFactory.INSTANCE; param = factory.createPersonType(); param.setFirstName("George"); param.setLastName("Doors"); </CreateTypeCode> <ModifyTypeCode> param.setGreeting("Hello"); </ModifyTypeCode> <ResultComparison> assertNotSame("greetedPerson.getGreeting() not set", "", result.getGreeting()); </ResultComparison> </Type> </InputFile> ...</tns:Generate> + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/databinding.png b/sandbox/sebastien/java/sca-node/itest/databindings/databinding.png new file mode 100644 index 0000000000..76a9c71b7d Binary files /dev/null and b/sandbox/sebastien/java/sca-node/itest/databindings/databinding.png differ diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/databinding.svg b/sandbox/sebastien/java/sca-node/itest/databindings/databinding.svg new file mode 100644 index 0000000000..d6850ccf7d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/databinding.svg @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + GreeterService + + DefaultGreeterServiceClient + + + GreeterServiceComponent + + WSGreeterServiceClient + + + + + WSReference WSService + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop.png b/sandbox/sebastien/java/sca-node/itest/databindings/interop.png new file mode 100644 index 0000000000..005e0f24ea Binary files /dev/null and b/sandbox/sebastien/java/sca-node/itest/databindings/interop.png differ diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop.svg b/sandbox/sebastien/java/sca-node/itest/databindings/interop.svg new file mode 100644 index 0000000000..03897c6d09 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop.svg @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + InteropGreeterService + + SDODefaultGreeterServiceClient + + + SDOGreeterServiceComponent + + SDOWSGreeterServiceClient + + + + WSReference WSService + JAXBDefaultGreeterServiceClient + + + JAXBWSGreeterServiceClient + + + + WSReference WSService + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/pom.xml b/sandbox/sebastien/java/sca-node/itest/databindings/interop/pom.xml new file mode 100644 index 0000000000..d367901a1f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/pom.xml @@ -0,0 +1,223 @@ + + + + + org.apache.tuscany.sca + itest-databindings + 2.0-incubating-SNAPSHOT + + + 4.0.0 + + itest-databindings-interop + 2.0-incubating-SNAPSHOT + jar + Apache Tuscany SCA DataBinding Interop Integration Tests + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + java.net2 + java.net Maven 2.x Repository + http://download.java.net/maven/2 + + + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-jaxb + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-sdo + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-axiom + ${pom.version} + compile + + + javax.xml.bind + jaxb-api + 2.1 + compile + + + + com.sun.xml.ws + jaxws-rt + 2.1.3 + + + org.apache.tuscany.sca + itest-databindings-common + ${pom.version} + compile + + + org.apache.tuscany.sca + itest-databindings-sdo + ${pom.version} + compile + + + org.apache.tuscany.sca + itest-databindings-jaxb + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-embedded + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-interface-java-xml + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + -Djava.endorsed.dirs=target/endorsed + + + + org.apache.maven.plugins + maven-dependency-plugin + + + generate-sources + + unpack + + + + + org.apache.tuscany.sca + itest-databindings-common + ${project.version} + true + ${project.build.directory}/classes + + + + + + copy + generate-sources + + copy + + + + + javax.xml.ws + jaxws-api + 2.1 + jar + + + javax.xml.bind + jaxb-api + 2.1 + jar + + + ${project.build.directory}/endorsed + false + true + + + + + + org.codehaus.mojo + exec-maven-plugin + + + generate-test-source + process-resources + + java + + + + + org.apache.tuscany.sca.itest.generate.Generate + + ${project.build.directory} + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/InteropDatabindingTestCase.java.vm b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/InteropDatabindingTestCase.java.vm new file mode 100644 index 0000000000..7bdfc57924 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/InteropDatabindingTestCase.java.vm @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package $template.getJavaPackage(); + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import ${template.getJavaPackage()}.GreeterService; + +// Data types +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) +import $file.getJavaPackage().$typeInstance.getTypeName(); +import $file.getJavaPackage().$file.getFactory(); +#end +#end + +/** + * Automatically generated test case. Calls the greeter client for a number of + * bindings and a number of data types. + * + * @version $Rev: 511417 $ $Date: 2007-02-25 03:06:42 +0000 (Sun, 25 Feb 2007) $ + */ +public class InteropDatabindingTestCase extends TestCase { + + private static boolean initalised = false; + private GreeterService greeterClient; + private static SCADomain domain; + + /** + * Runs before each test method + */ + protected void setUp() throws Exception { + if (!initalised) { + domain = SCADomain.newInstance("interopgreeter.composite"); + super.setUp(); + initalised = true; + } + } + + /** + * Runs after each test method + */ + protected void tearDown() { + + } + + /** + * Finds the SCA component that relates to the protocol being tested. This test + * always connects locally to the client component but the client component will + * connect to the back end component using the appropriate protocol + * + * @param ext the protcol required + */ + private void setUpClient(String ext) throws Exception { + greeterClient = domain.getService(GreeterService.class, "SDO" + ext + "GreeterServiceClient"); + } + + /** + * Invokes the SDO Greet service using web service bindings with SDO payload + */ + public void testWSGreet() throws Exception { + setUpClient("WS"); + greet(); + } + + /** + * Invokes the SDO Greet service using default bindings with SDO payload + */ + public void testDefaultGreet() throws Exception { + setUpClient("Default"); + greet(); + } + + /** + * A generic method which, regarless of which client is connected, sends out a + * series of requrests passing different data types. + */ + public void greet() { +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + // test $typeInstance.getTypeName() + { + $typeInstance.getTypeName() param = null; + $typeInstance.getCreateTypeCode() + $typeInstance.getTypeName() result = greeterClient.greet$typeInstance.getTypeName()(param); + $typeInstance.getResultComparison() + } +#end +#end + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/JAXBGreeter.wsdl.vm b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/JAXBGreeter.wsdl.vm new file mode 100644 index 0000000000..38bfccce0c --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/JAXBGreeter.wsdl.vm @@ -0,0 +1,103 @@ + + + + + + + +#foreach($file in $fileList) + +#end + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + +#end +#end + + + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + + + +#end +#end + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/SDOGreeter.wsdl.vm b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/SDOGreeter.wsdl.vm new file mode 100644 index 0000000000..6f02af4c9d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/SDOGreeter.wsdl.vm @@ -0,0 +1,103 @@ + + + + + + + +#foreach($file in $fileList) + +#end + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + +#end +#end + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + +#end +#end + + + + +#foreach($file in $fileList) +#set($typeList = $file.getType_()) +#foreach($typeInstance in $typeList) + + + + + + + + + +#end +#end + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/generate.xml b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/generate.xml new file mode 100644 index 0000000000..8453dd56b4 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/generate.xml @@ -0,0 +1,159 @@ + + + + + + + + + + Person.xsd + xsd + org.apache.tuscany.sca.itest.databinding.types + TypesFactory + http://apache.org/tuscany/sca/itest/databinding/types + p + + PersonType + + TypesFactory factory = TypesFactory.INSTANCE; + param = factory.createPersonType(); + param.setFirstName("George"); + param.setLastName("Doors"); + + + param.setGreeting("Hello"); + + + assertNotSame("greetedPerson.getGreeting() not set", "", result.getGreeting()); + + + + + Interop.xsd + xsd + org.apache.tuscany.interop + InteropFactory + http://www.apache.org/tuscany/interop + i + + + AttributeComplexType + + InteropFactory factory = InteropFactory.INSTANCE; + org.apache.tuscany.interop.AttributeType attrib = factory.createAttributeType(); + attrib.setAttribute("SomeText"); + param = factory.createAttributeComplexType(); + param.setAttributeElement(attrib); + + + param.getAttributeElement().setAttribute("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getAttributeElement().getAttribute()); + + + + AttributeReferenceComplexType + + InteropFactory factory = InteropFactory.INSTANCE; + param = factory.createAttributeReferenceComplexType(); + + param.setReferencedAttribute("SomeText"); + + + param.setReferencedAttribute("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getReferencedAttribute()); + + + + SimpleTypeWithAbstractComplexType + + InteropFactory factory = InteropFactory.INSTANCE; + param = factory.createSimpleTypeWithAbstractComplexType(); + param.setSimpleTypeWithAbstractExtensionElement("SomeText"); + + + param.setSimpleTypeWithAbstractExtensionElement("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithAbstractExtensionElement()); + + + + SimpleTypeWithNameComplexType + + InteropFactory factory = InteropFactory.INSTANCE; + param = factory.createSimpleTypeWithNameComplexType(); + param.setSimpleTypeWithNameElement("SomeText"); + + + param.setSimpleTypeWithNameElement("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithNameElement()); + + + + ComplexTypeWithContentType + + InteropFactory factory = InteropFactory.INSTANCE; + param = factory.createComplexTypeWithContentType(); + param.setSimpleTypeWithName("SomeText"); + + + param.setSimpleTypeWithName("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithName()); + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/interopgreeter.composite.vm b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/interopgreeter.composite.vm new file mode 100644 index 0000000000..36797fde57 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/interop/src/main/resources/generate/interopgreeter.composite.vm @@ -0,0 +1,78 @@ + + + + + + #foreach( $file in $fileList ) + + #end + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/pom.xml b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/pom.xml new file mode 100644 index 0000000000..d82ad3b89b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/pom.xml @@ -0,0 +1,239 @@ + + + + + org.apache.tuscany.sca + itest-databindings + 2.0-incubating-SNAPSHOT + + + 4.0.0 + + itest-databindings-jaxb-bottom-up + 2.0-incubating-SNAPSHOT + jar + Apache Tuscany SCA Databinding Integration Tests - JAXB Bottom Up + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + java.net2 + java.net Maven 2.x Repository + http://download.java.net/maven/2 + + + + + + java.net2 + java.net Maven 2.x Repository + http://download.java.net/maven/2 + + + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-jaxb + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-sdo + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-axiom + ${pom.version} + compile + + + org.apache.tuscany.sca + itest-databindings-common + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-embedded + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-interface-java-xml + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + runtime + + + javax.xml.bind + jaxb-api + 2.1 + compile + + + + com.sun.xml.ws + jaxws-rt + 2.1.3 + + + + commons-collections + commons-collections + 3.1 + + + log4j + log4j + 1.2.12 + provided + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + -Djava.endorsed.dirs=target/endorsed + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy + generate-sources + + copy + + + + + javax.xml.ws + jaxws-api + 2.1 + jar + + + javax.xml.bind + jaxb-api + 2.1 + jar + + + ${project.build.directory}/endorsed + false + true + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean1.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean1.java new file mode 100644 index 0000000000..7529c2b841 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean1.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.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean1 { + private T item; + + public Bean1() { + } + + public Bean1(T item) { + this.item = item; + } + + public void setItem(T item) { + this.item = item; + } + + public T getItem() { + return item; + } + + public boolean equals(Object that) { + if(that == null) { + return false; + } + if(that.getClass() != this.getClass()) { + return false; + } + + Bean1 that1 = (Bean1)that; + if(this == that1) { + return true; + } else if(this.item != null) { + return this.item.equals(that1.item); + } else { + return that1.item == null; + } + } + + public String toString() { + return this.getClass().getSimpleName()+"[item = "+item+"]"; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean10.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean10.java new file mode 100644 index 0000000000..4a4419a42b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean10.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean10 extends Bean1 { +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean11.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean11.java new file mode 100644 index 0000000000..65f019ec48 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean11.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean11 extends Bean1 { +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean2.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean2.java new file mode 100644 index 0000000000..844e28863a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean2.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.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean2 { + private String name; + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public boolean equals(Object that) { + if(that == null) { + return false; + } + + if(this.getClass() != that.getClass()) { + return false; + } + + if(this == that) { + return true; + } else if(this.name != null) { + return this.name.equals(((Bean2)that).name); + } else { + return ((Bean2)that).name == null; + } + } + + public String toString() { + return this.getClass().getSimpleName()+"[name = "+name+"]"; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean3.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean3.java new file mode 100644 index 0000000000..4e0bd38b2b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean3.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.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean3 extends Bean2 { + private String address; + + public void setAddress(String address) { + this.address = address; + } + + public String getAddress() { + return address; + } + + public boolean equals(Object that) { + if(that == null) { + return false; + } + + if(this.getClass() != that.getClass()) { + return false; + } + + if(this == that) { + return true; + } else if(this.address != null) { + return this.address.equals(((Bean3)that).address) && super.equals(that); + } else { + return ((Bean3)that).address == null && super.equals(that); + } + } + + public String toString() { + return this.getClass().getSimpleName()+"[name = "+super.getName()+", address = "+address+"]"; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean31.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean31.java new file mode 100644 index 0000000000..40aff31297 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/Bean31.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.itest.databindings.jaxb; + +/** + * @version $Rev$ $Date$ + */ +public class Bean31 extends Bean2 { + private String address; + + public void setAddress(String address) { + this.address = address; + } + + public String getAddress() { + return address; + } + + public boolean equals(Object that) { + if(that == null) { + return false; + } + + if(this.getClass() != that.getClass()) { + return false; + } + + if(this == that) { + return true; + } else if(this.address != null) { + return this.address.equals(((Bean31)that).address) && super.equals(that); + } else { + return ((Bean31)that).address == null && super.equals(that); + } + } + + public String toString() { + return this.getClass().getSimpleName()+"[name = "+super.getName()+", address = "+address+"]"; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsLocalService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsLocalService.java new file mode 100644 index 0000000000..ca012b967d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsLocalService.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.itest.databindings.jaxb; + +/** + * The interface for GenericsLocalService. + * + * @version $Rev$ $Date$ + */ +public interface GenericsLocalService { + Bean1 getTypeExplicit(Bean1 arg); + + Bean1 getTypeUnbound(T[] anArray); + + Bean1 getTypeExtends(T[] anArray); + + > Bean1 getRecursiveTypeBound(T[] anArray); + + Bean1 getWildcardUnbound(Bean1 arg); + + Bean1 getWildcardSuper(Bean1 arg); + + Bean1 getWildcardExtends(Bean1 arg); + + Bean2 getPolymorphic(Bean2 arg); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsService.java new file mode 100644 index 0000000000..12ed7d0ec7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsService.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.itest.databindings.jaxb; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for GenericsService. + * + * @version $Rev$ $Date$ + */ +@Remotable +public interface GenericsService extends GenericsLocalService{ +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsServiceClient.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsServiceClient.java new file mode 100644 index 0000000000..3bae554dc7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsServiceClient.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.itest.databindings.jaxb; + +/** + * The interface for GenericsServiceClient. + * + * @version $Rev$ $Date$ + */ +public interface GenericsServiceClient { + Bean1 getTypeExplicitForward(Bean1 arg); + + Bean1 getTypeUnboundForward(T[] anArray); + + Bean1 getTypeExtendsForward(T[] anArray); + + > Bean1 getRecursiveTypeBoundForward(T[] anArray); + + Bean1 getWildcardUnboundForward(Bean1 arg); + + Bean1 getWildcardSuperForward(Bean1 arg); + + Bean1 getWildcardExtendsForward(Bean1 arg); + + Bean2 getPolymorphicForward(Bean2 arg); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloLocalServiceSimple.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloLocalServiceSimple.java new file mode 100644 index 0000000000..074ec85fce --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloLocalServiceSimple.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.itest.databindings.jaxb; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The interface for HelloLocalServiceSimple. + */ +public interface HelloLocalServiceSimple { + String getGreetings(String name); + String[] getGreetingsArray(String[] names); + /** + * Add the RequestWrapper/ResponseWrapper annotations to support Collections. These annotations are used + * by the remotable interface that extends this interface. + * @param names + * @return + */ + List getGreetingsList(List names); + + /** + * Add the RequestWrapper/ResponseWrapper annotations to support Collections. These annotations are used + * by the remotable interface that extends this interface. + * @param names + * @return + */ + // @RequestWrapper(className="org.apache.tuscany.sca.itest.databindings.jaxb.impl.jaxws.GetGreetingsList") + // @ResponseWrapper(className="org.apache.tuscany.sca.itest.databindings.jaxb.impl.jaxws.GetGreetingsListResponse") + ArrayList getGreetingsArrayList(ArrayList names); + + // @WebMethod(exclude=true) + Map getGreetingsMap(Map namesMap); + + // @WebMethod(exclude=true) + HashMap getGreetingsHashMap(HashMap namesMap); + + String getGreetingsVarArgs(String... names); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimple.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimple.java new file mode 100644 index 0000000000..34ac9024f6 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimple.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.itest.databindings.jaxb; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for HelloServiceSimple. + */ +@Remotable +public interface HelloServiceSimple extends HelloLocalServiceSimple { + // Add any methods to the local interface. +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimpleClient.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimpleClient.java new file mode 100644 index 0000000000..23ed57dec9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceSimpleClient.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.itest.databindings.jaxb; + +import java.util.ArrayList; +import java.util.List; +import java.util.HashMap; +import java.util.Map; + +/** + * The interface for HelloServiceSimpleClient. + */ +public interface HelloServiceSimpleClient { + String getGreetingsForward(String name); + String[] getGreetingsArrayForward(String[] names); + List getGreetingsListForward(List names); + ArrayList getGreetingsArrayListForward(ArrayList names); + Map getGreetingsMapForward(Map namesMap); + HashMap getGreetingsHashMapForward(HashMap namesMap); + String getGreetingsVarArgsForward(String... names); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesLocalService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesLocalService.java new file mode 100644 index 0000000000..6239c0f5f1 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesLocalService.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.itest.databindings.jaxb; + + +/** + * The interface for PrimitivesLocalService. + */ +public interface PrimitivesLocalService { + boolean negateBoolean(boolean flag); + boolean[] negateBooleanArray(boolean[] flags); + boolean[] identityBooleanArray(boolean[] flags); + byte negateByte(byte b); + byte[] negateByteArray(byte[] ba); + byte[] identityByteArray(byte[] ba); + short negateShort(short s); + short[] negateShortArray(short[] s); + short[] identityShortArray(short[] sa); + int negateInt(int s); + int[] negateIntArray(int[] s); + int[] identityIntArray(int[] ia); + long negateLong(long l); + long[] negateLongArray(long[] la); + long[] identityLongArray(long[] la); + float negateFloat(float f); + float[] negateFloatArray(float[] fa); + float[] identityFloatArray(float[] fa); + double negateDouble(double d); + double[] negateDoubleArray(double[] da); + double[] identityDoubleArray(double[] da); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java new file mode 100644 index 0000000000..c5553688e2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.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.itest.databindings.jaxb; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for PrimitivesService. + */ +@Remotable +public interface PrimitivesService extends PrimitivesLocalService { + // Add any methods to the local interface. +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java new file mode 100644 index 0000000000..3bdf886dfa --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.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.itest.databindings.jaxb; + + +/** + * The interface for PrimitivesServiceClient. + */ +public interface PrimitivesServiceClient { + boolean negateBooleanForward(boolean flag); + boolean[] negateBooleanArrayForward(boolean[] flags); + boolean passByValueBooleanArray(); + byte negateByteForward(byte b); + byte[] negateByteArrayForward(byte[] ba); + boolean passByValueByteArray(); + short negateShortForward(short s); + short[] negateShortArrayForward(short[] sa); + boolean passByValueShortArray(); + int negateIntForward(int i); + int[] negateIntArrayForward(int[] ia); + boolean passByValueIntArray(); + long negateLongForward(long l); + long[] negateLongArrayForward(long[] la); + boolean passByValueLongArray(); + float negateFloatForward(float f); + float[] negateFloatArrayForward(float[] fa); + boolean passByValueFloatArray(); + double negateDoubleForward(double d); + double[] negateDoubleArrayForward(double[] da); + boolean passByValueDoubleArray(); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesLocalService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesLocalService.java new file mode 100644 index 0000000000..0fdf69459f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesLocalService.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.itest.databindings.jaxb; + +import java.awt.Image; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URI; +import java.util.Calendar; +import java.util.Date; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; +import javax.xml.transform.Source; + + +/** + * The interface for StandardTypesLocalService. + */ +public interface StandardTypesLocalService { + BigInteger getNewBigInteger(BigInteger bi); + BigInteger[] getNewBigIntegerArray(BigInteger[] bia); + + BigDecimal getNewBigDecimal(BigDecimal bd); + BigDecimal[] getNewBigDecimalArray(BigDecimal[] bda); + + Calendar getNewCalendar(Calendar c); + Calendar[] getNewCalendarArray(Calendar[] ca); + + Date getNewDate(Date d); + Date[] getNewDateArray(Date[] da); + + QName getNewQName(QName qname); + QName[] getNewQNameArray(QName[] qnames); + + URI getNewURI(URI uri); + URI[] getNewURIArray(URI[] uris); + + XMLGregorianCalendar getNewXMLGregorianCalendar(XMLGregorianCalendar xgcal); + XMLGregorianCalendar[] getNewXMLGregorianCalendarArray(XMLGregorianCalendar[] xgcal); + + Duration getNewDuration(Duration d); + Duration[] getNewDurationArray(Duration[] da); + + Object getNewObject(Object obj); + Object[] getNewObjectArray(Object[] objs); + + Image getNewImage(Image img); + Image[] getNewImageArray(Image[] imgs); + + DataHandler getNewDataHandler(DataHandler dh); + DataHandler[] getNewDataHandlerArray(DataHandler[] dha); + + Source getNewSource(Source src); + Source[] getNewSourceArray(Source[] srcs); + + UUID getNewUUID(UUID uuid); + UUID[] getNewUUIDArray(UUID[] uuids); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java new file mode 100644 index 0000000000..2842205085 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.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.itest.databindings.jaxb; + +import org.osoa.sca.annotations.Remotable; + + + +/** + * The interface for StandardTypesService. + */ +@Remotable +public interface StandardTypesService extends StandardTypesLocalService{ +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesServiceClient.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesServiceClient.java new file mode 100644 index 0000000000..351d9df0cb --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesServiceClient.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.itest.databindings.jaxb; + +import java.awt.Image; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URI; +import java.util.Calendar; +import java.util.Date; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; +import javax.xml.transform.Source; + + +/** + * The interface for StandardTypesServiceClient. + */ +public interface StandardTypesServiceClient { + BigInteger getNewBigIntegerForward(BigInteger bi); + BigInteger[] getNewBigIntegerArrayForward(BigInteger[] bia); + + BigDecimal getNewBigDecimalForward(BigDecimal bd); + BigDecimal[] getNewBigDecimalArrayForward(BigDecimal[] bda); + + Calendar getNewCalendarForward(Calendar c); + Calendar[] getNewCalendarArrayForward(Calendar[] ca); + + Date getNewDateForward(Date d); + Date[] getNewDateArrayForward(Date[] da); + + QName getNewQNameForward(QName qname); + QName[] getNewQNameArrayForward(QName[] qnames); + + URI getNewURIForward(URI uri); + URI[] getNewURIArrayForward(URI[] uris); + + XMLGregorianCalendar getNewXMLGregorianCalendarForward(XMLGregorianCalendar xgcal); + XMLGregorianCalendar[] getNewXMLGregorianCalendarArrayForward(XMLGregorianCalendar[] xgcals); + + Duration getNewDurationForward(Duration d); + Duration[] getNewDurationArrayForward(Duration[] da); + + Object getNewObjectForward(Object obj); + Object[] getNewObjectArrayForward(Object[] objs); + + Image getNewImageForward(Image img); + Image[] getNewImageArrayForward(Image[] imgs); + + DataHandler getNewDataHandlerForward(DataHandler dh); + DataHandler[] getNewDataHandlerArrayForward(DataHandler[] dha); + + Source getNewSourceForward(Source src); + Source[] getNewSourceArrayForward(Source[] srcs); + + UUID getNewUUIDForward(UUID uuid); + UUID[] getNewUUIDArrayForward(UUID[] uuids); +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsLocalServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsLocalServiceClientImpl.java new file mode 100644 index 0000000000..9e042ffe6a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsLocalServiceClientImpl.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean1; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean2; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean3; +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of GenericsLocalServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + * + * @version $Rev$ $Date$ + */ +@Service(GenericsServiceClient.class) +public class GenericsLocalServiceClientImpl implements GenericsServiceClient { + + private GenericsLocalService service; + + @Reference(required=false) + protected void setGenericsLocalService(GenericsLocalService service) { + this.service = service; + } + + public Bean1 getTypeExplicitForward(Bean1 arg) { + return service.getTypeExplicit(arg); + } + + public Bean1 getTypeUnboundForward(T[] anArray) { + return service.getTypeUnbound(anArray); + } + + public Bean1 getTypeExtendsForward(T[] anArray) { + return service.getTypeExtends(anArray); + } + + public > Bean1 getRecursiveTypeBoundForward(T[] anArray) { + return service.getRecursiveTypeBound(anArray); + } + + public Bean1 getWildcardUnboundForward(Bean1 arg) { + return service.getWildcardUnbound(arg); + } + + public Bean1 getWildcardSuperForward(Bean1 arg) { + return service.getWildcardSuper(arg); + } + + public Bean1 getWildcardExtendsForward(Bean1 arg) { + return service.getWildcardExtends(arg); + } + + public Bean2 getPolymorphicForward(Bean2 arg) { + return service.getPolymorphic(arg); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceClientImpl.java new file mode 100644 index 0000000000..ec929ddece --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceClientImpl.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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsService; +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of GenericsServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + * + * @version $Rev$ $Date$ + */ +@Service(GenericsServiceClient.class) +public class GenericsServiceClientImpl extends GenericsLocalServiceClientImpl { + + @Reference + public void setGenericsService(GenericsService service) { + super.setGenericsLocalService(service); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceImpl.java new file mode 100644 index 0000000000..58808eec4f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsServiceImpl.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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean1; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean2; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean3; +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.GenericsService; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of GenericsService. + * This implementation provides both a local and a remotable service. + * + * @version $Rev$ $Date$ + */ +@Service(interfaces={GenericsService.class, GenericsLocalService.class}) +public class GenericsServiceImpl implements GenericsService, GenericsLocalService { + + public Bean1 getTypeExplicit(Bean1 arg) { + return GenericsTransformer.getTypeExplicit(arg); + } + + public Bean1 getTypeUnbound(T[] anArray) { + return GenericsTransformer.getTypeUnbound(anArray); + } + + public Bean1 getTypeExtends(T[] anArray) { + return GenericsTransformer.getTypeExtends(anArray); + } + + public > Bean1 getRecursiveTypeBound(T[] anArray) { + return GenericsTransformer.getRecursiveTypeBound(anArray); + } + + public Bean1 getWildcardUnbound(Bean1 arg) { + return GenericsTransformer.getWildcardUnbound(arg); + } + + public Bean1 getWildcardSuper(Bean1 arg) { + return GenericsTransformer.getWildcardSuper(arg); + } + + public Bean1 getWildcardExtends(Bean1 arg) { + return GenericsTransformer.getWildcardExtends(arg); + } + + public Bean2 getPolymorphic(Bean2 arg) { + return GenericsTransformer.getPolymorphic(arg); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsTransformer.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsTransformer.java new file mode 100644 index 0000000000..858b8da59a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/GenericsTransformer.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean1; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean10; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean11; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean2; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean3; +import org.apache.tuscany.sca.itest.databindings.jaxb.Bean31; + + +/** + * GenericsTransformer class that provide for transforming input provided to GenericsService methods. + * + * @version $Rev$ $Date$ + */ +public class GenericsTransformer { + + public static Bean1 getTypeExplicit(Bean1 arg) { + return new Bean1(arg.getItem() == null ? null : arg.getItem()+" AA"); + } + + public static Bean1 getTypeUnbound(T[] arg) { + if(arg instanceof String[]) { + return new Bean1(arg[0]); + } else if(arg instanceof Integer[]){ + return new Bean1(arg[1]); + } else { + return new Bean1(arg[2]); + } + } + + public static Bean1 getTypeExtends(T[] arg) { + if(arg instanceof Bean3[]) { + return new Bean1(arg[0]); + } else if(arg instanceof Bean31[]) { + return new Bean1(arg[1]); + } else { + return new Bean1(arg[2]); + } + } + + public static > Bean1 getRecursiveTypeBound(T[] arg) { + if(arg instanceof Bean10[]) { + return new Bean1(arg[0]); + } else if(arg instanceof Bean11[]) { + return new Bean1(arg[1]); + } else { + return new Bean1(arg[2]); + } + } + + public static Bean1 getWildcardUnbound(Bean1 arg) { + if(arg.getItem() instanceof String) { + Bean1 temp = new Bean1(); + temp.setItem("Hello "+arg.getItem()); + return temp; + } else if(arg.getItem() instanceof Integer) { + Bean1 temp = new Bean1(); + temp.setItem(10+(Integer)arg.getItem()); + return temp; + } else { + return new Bean1(arg.toString()); + } + } + + public static Bean1 getWildcardSuper(Bean1 arg) { + Object item = arg.getItem(); + if(item instanceof Bean3) { + Bean3 temp = new Bean3(); + temp.setName("Hello " + ((Bean3)item).getName()); + temp.setAddress("New "+((Bean3)item).getAddress()); + return new Bean1(temp); + } else if(item instanceof Bean2) { + Bean2 temp = new Bean2(); + temp.setName("Hello " + ((Bean3)item).getName()); + return new Bean1(temp); + } else { + Bean2 temp = new Bean2(); + temp.setName(item.toString()); + return new Bean1(temp); + } + } + + public static Bean1 getWildcardExtends(Bean1 arg) { + Bean2 item = arg.getItem(); + if(item instanceof Bean3) { + Bean3 temp = new Bean3(); + temp.setName("Hello "+item.getName()); + temp.setAddress("New "+((Bean3)item).getAddress()); + return new Bean1(temp); + } else if(item instanceof Bean31) { + Bean31 temp = new Bean31(); + temp.setName("Hello "+item.getName()); + temp.setAddress("New "+((Bean31)item).getAddress()); + return new Bean1(temp); + } else { + Bean2 temp = new Bean2(); + temp.setName("Hello "+item.getName()); + return new Bean1(temp); + } + } + + public static Bean2 getPolymorphic(Bean2 arg) { + return arg; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloLocalServiceSimpleClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloLocalServiceSimpleClientImpl.java new file mode 100644 index 0000000000..51e48edbc9 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloLocalServiceSimpleClientImpl.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.itest.databindings.jaxb.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.HashMap; +import java.util.Map; + +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloLocalServiceSimple; +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloServiceSimpleClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of HelloServiceSimpleClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(HelloServiceSimpleClient.class) +public class HelloLocalServiceSimpleClientImpl implements HelloServiceSimpleClient { + + private HelloLocalServiceSimple service; + + @Reference(required=false) + protected void setHelloLocalServiceSimple(HelloLocalServiceSimple service) { + this.service = service; + } + + public String getGreetingsForward(String name) { + return service.getGreetings(name); + } + + public String[] getGreetingsArrayForward(String[] names) { + return service.getGreetingsArray(names); + } + + public List getGreetingsListForward(List names) { + return service.getGreetingsList(names); + } + + public Map getGreetingsMapForward(Map namesMap) { + return service.getGreetingsMap(namesMap); + } + + public ArrayList getGreetingsArrayListForward(ArrayList names) { + return service.getGreetingsArrayList(names); + } + + public HashMap getGreetingsHashMapForward(HashMap namesMap) { + return service.getGreetingsHashMap(namesMap); + } + + public String getGreetingsVarArgsForward(String... names) { + return service.getGreetingsVarArgs(names[0], names[1], names[2]); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleClientImpl.java new file mode 100644 index 0000000000..de52cdfac3 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleClientImpl.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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloServiceSimple; +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloServiceSimpleClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of HelloServiceSimpleClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(HelloServiceSimpleClient.class) +public class HelloServiceSimpleClientImpl extends HelloLocalServiceSimpleClientImpl { + + @Reference + public void setHelloServiceSimple(HelloServiceSimple service) { + super.setHelloLocalServiceSimple(service); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleImpl.java new file mode 100644 index 0000000000..3bceba1e92 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/HelloServiceSimpleImpl.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.itest.databindings.jaxb.impl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; + +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloLocalServiceSimple; +import org.apache.tuscany.sca.itest.databindings.jaxb.HelloServiceSimple; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of HelloServiceSimple. + * The implementation provides both a local and a remotable service. + */ +@Service(interfaces = {HelloServiceSimple.class, HelloLocalServiceSimple.class}) +@WebService(targetNamespace = "http://jaxb.databindings.itest.sca.tuscany.apache.org/") +public class HelloServiceSimpleImpl implements HelloServiceSimple { + + @WebMethod + @WebResult(name = "return", targetNamespace = "") + public String getGreetings(@WebParam(name = "arg0", targetNamespace = "") + String name) { + return "Hello " + name; + } + + @WebMethod + @WebResult(name = "return", targetNamespace = "") + public String[] getGreetingsArray(@WebParam(name = "arg0", targetNamespace = "") + String[] names) { + String[] resps = new String[names.length]; + for (int i = 0; i < names.length; ++i) { + resps[i] = "Hello " + names[i]; + } + return resps; + } + + @WebMethod + @WebResult(name = "return", targetNamespace = "") + public List getGreetingsList(@WebParam(name = "arg0", targetNamespace = "") + List names) { + List resps = new ArrayList(); + for (int i = 0; i < names.size(); ++i) { + resps.add("Hello " + names.get(i)); + } + return resps; + } + + @WebMethod + @WebResult(name = "return", targetNamespace = "") + public ArrayList getGreetingsArrayList(@WebParam(name = "arg0", targetNamespace = "") + ArrayList names) { + ArrayList resps = new ArrayList(); + for (int i = 0; i < names.size(); ++i) { + resps.add("Hello " + names.get(i)); + } + return resps; + } + + // @WebMethod + // @WebResult(name = "return", targetNamespace = "") + public Map getGreetingsMap( + // @WebParam(name = "arg0", targetNamespace = "") + Map namesMap) { + for (Map.Entry entry : namesMap.entrySet()) { + entry.setValue("Hello " + entry.getKey()); + } + return namesMap; + } + + @WebMethod + @WebResult(name = "return", targetNamespace = "") + public HashMap getGreetingsHashMap(@WebParam(name = "arg0", targetNamespace = "") + HashMap namesMap) { + for (Map.Entry entry : namesMap.entrySet()) { + entry.setValue("Hello " + entry.getKey()); + } + return namesMap; + } + + public String getGreetingsVarArgs(String... names) { + String resp = "Hello"; + for(int i = 0; i < names.length; ++i) { + resp += (" "+names[i]); + } + return resp; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesLocalServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesLocalServiceClientImpl.java new file mode 100644 index 0000000000..fe9121be9d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesLocalServiceClientImpl.java @@ -0,0 +1,138 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of PrimitivesLocalServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(PrimitivesServiceClient.class) +public class PrimitivesLocalServiceClientImpl implements PrimitivesServiceClient { + + private PrimitivesLocalService service; + + @Reference(required=false) + protected void setPrimitivesLocalService(PrimitivesLocalService service) { + this.service = service; + } + + public boolean negateBooleanForward(boolean flag) { + return service.negateBoolean(flag); + } + + public boolean[] negateBooleanArrayForward(boolean[] flags) { + return service.negateBooleanArray(flags); + } + + public boolean passByValueBooleanArray() { + boolean[] req = new boolean[2]; + boolean[] resp = service.identityBooleanArray(req); + return req != resp; + } + + public byte negateByteForward(byte b) { + return service.negateByte(b); + } + + public byte[] negateByteArrayForward(byte[] ba) { + return service.negateByteArray(ba); + } + + public boolean passByValueByteArray() { + byte[] req = new byte[2]; + byte[] resp = service.identityByteArray(req); + return req != resp; + } + + public short negateShortForward(short s) { + return service.negateShort(s); + } + + public short[] negateShortArrayForward(short[] s) { + return service.negateShortArray(s); + } + + public boolean passByValueShortArray() { + short[] req = new short[2]; + short[] resp = service.identityShortArray(req); + return req != resp; + } + + public int negateIntForward(int i) { + return service.negateInt(i); + } + + public int[] negateIntArrayForward(int[] ia) { + return service.negateIntArray(ia); + } + + public boolean passByValueIntArray() { + int[] req = new int[2]; + int[] resp = service.identityIntArray(req); + return req != resp; + } + + public long negateLongForward(long l) { + return service.negateLong(l); + } + + public long[] negateLongArrayForward(long[] la) { + return service.negateLongArray(la); + } + + public boolean passByValueLongArray() { + long[] req = new long[2]; + long[] resp = service.identityLongArray(req); + return req != resp; + } + + public float negateFloatForward(float f) { + return service.negateFloat(f); + } + + public float[] negateFloatArrayForward(float[] fa) { + return service.negateFloatArray(fa); + } + + public boolean passByValueFloatArray() { + float[] req = new float[2]; + float[] resp = service.identityFloatArray(req); + return req != resp; + } + + public double negateDoubleForward(double d) { + return service.negateDouble(d); + } + + public double[] negateDoubleArrayForward(double[] da) { + return service.negateDoubleArray(da); + } + + public boolean passByValueDoubleArray() { + double[] req = new double[2]; + double[] resp = service.identityDoubleArray(req); + return req != resp; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.java new file mode 100644 index 0000000000..28ace6aab7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceClientImpl.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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService; +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of PrimitivesServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(PrimitivesServiceClient.class) +public class PrimitivesServiceClientImpl extends PrimitivesLocalServiceClientImpl { + + @Reference + public void setPrimitivesService(PrimitivesService service) { + super.setPrimitivesLocalService(service); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java new file mode 100644 index 0000000000..ab1a3b4ab8 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/PrimitivesServiceImpl.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesService; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of PrimitivesService. + * This implementation provides both a local and a remotable service. + */ +@Service(interfaces={PrimitivesService.class, PrimitivesLocalService.class}) +public class PrimitivesServiceImpl implements PrimitivesService, PrimitivesLocalService { + + public boolean negateBoolean(boolean flag) { + return !flag; + } + + public boolean[] negateBooleanArray(boolean[] flags) { + boolean[] resp = new boolean[flags.length]; + + for(int i = 0; i < flags.length; ++i) { + resp[i] = !flags[i]; + } + return resp; + } + + public boolean[] identityBooleanArray(boolean[] flags) { + return flags; + } + + public byte negateByte(byte b) { + return (byte)-b; + } + + public byte[] negateByteArray(byte[] ba) { + byte[] resp = new byte[ba.length]; + + for(int i = 0; i < ba.length; ++i) { + resp[i] = (byte)-ba[i]; + } + return resp; + } + + public byte[] identityByteArray(byte[] ba) { + return ba; + } + + public short negateShort(short s) { + return (short)-s; + } + + public short[] negateShortArray(short[] s) { + short[] resp = new short[s.length]; + + for(int i = 0; i < s.length; ++i) { + resp[i] = (short)-s[i]; + } + return resp; + } + + public short[] identityShortArray(short[] sa) { + return sa; + } + + public int negateInt(int i) { + return -i; + } + + public int[] negateIntArray(int[] ia) { + int[] resp = new int[ia.length]; + + for(int i = 0; i < ia.length; ++i) { + resp[i] = -ia[i]; + } + return resp; + } + + public int[] identityIntArray(int[] ia) { + return ia; + } + + public long negateLong(long l) { + return -l; + } + + public long[] negateLongArray(long[] la) { + long[] resp = new long[la.length]; + + for(int i = 0; i < la.length; ++i) { + resp[i] = -la[i]; + } + return resp; + } + + public long[] identityLongArray(long[] la) { + return la; + } + + public float negateFloat(float f) { + return -f; + } + + public float[] negateFloatArray(float[] fa) { + float[] resp = new float[fa.length]; + + for(int i = 0; i < fa.length; ++i) { + resp[i] = -fa[i]; + } + return resp; + } + + public float[] identityFloatArray(float[] fa) { + return fa; + } + + public double negateDouble(double d) { + return -d; + } + + public double[] negateDoubleArray(double[] da) { + double[] resp = new double[da.length]; + + for(int i = 0; i < da.length; ++i) { + resp[i] = -da[i]; + } + return resp; + } + + public double[] identityDoubleArray(double[] da) { + return da; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesLocalServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesLocalServiceClientImpl.java new file mode 100644 index 0000000000..0a8f6772b5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesLocalServiceClientImpl.java @@ -0,0 +1,157 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import java.awt.Image; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URI; +import java.util.Calendar; +import java.util.Date; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; +import javax.xml.transform.Source; + +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of StandardTypesLocalServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(StandardTypesServiceClient.class) +public class StandardTypesLocalServiceClientImpl implements StandardTypesServiceClient { + + private StandardTypesLocalService service; + + @Reference(required=false) + protected void setStandardTypesLocalService(StandardTypesLocalService service) { + this.service = service; + } + + public BigInteger getNewBigIntegerForward(BigInteger bi) { + return service.getNewBigInteger(bi); + } + + public BigInteger[] getNewBigIntegerArrayForward(BigInteger[] bia) { + return service.getNewBigIntegerArray(bia); + } + + public BigDecimal getNewBigDecimalForward(BigDecimal bd) { + return service.getNewBigDecimal(bd); + } + + public BigDecimal[] getNewBigDecimalArrayForward(BigDecimal[] bda) { + return service.getNewBigDecimalArray(bda); + } + public Calendar getNewCalendarForward(Calendar c) { + return service.getNewCalendar(c); + } + public Calendar[] getNewCalendarArrayForward(Calendar[] ca) { + return service.getNewCalendarArray(ca); + } + + public Date getNewDateForward(Date d) { + return service.getNewDate(d); + } + + public Date[] getNewDateArrayForward(Date[] da) { + return service.getNewDateArray(da); + } + + public QName getNewQNameForward(QName qname) { + return service.getNewQName(qname); + } + + public QName[] getNewQNameArrayForward(QName[] qnames) { + return service.getNewQNameArray(qnames); + } + + public URI getNewURIForward(URI uri) { + return service.getNewURI(uri); + } + + public URI[] getNewURIArrayForward(URI[] uris) { + return service.getNewURIArray(uris); + } + + public XMLGregorianCalendar getNewXMLGregorianCalendarForward(XMLGregorianCalendar xgcal) { + return service.getNewXMLGregorianCalendar(xgcal); + } + + public XMLGregorianCalendar[] getNewXMLGregorianCalendarArrayForward(XMLGregorianCalendar[] xgcals) { + return service.getNewXMLGregorianCalendarArray(xgcals); + } + + public Duration getNewDurationForward(Duration d) { + return service.getNewDuration(d); + } + + public Duration[] getNewDurationArrayForward(Duration[] da) { + return service.getNewDurationArray(da); + } + + public Object getNewObjectForward(Object obj) { + return service.getNewObject(obj); + } + + public Object[] getNewObjectArrayForward(Object[] objs) { + return service.getNewObjectArray(objs); + } + + public Image getNewImageForward(Image img) { + return service.getNewImage(img); + } + + public Image[] getNewImageArrayForward(Image[] imgs) { + return service.getNewImageArray(imgs); + } + + public DataHandler getNewDataHandlerForward(DataHandler dh) { + return service.getNewDataHandler(dh); + } + + public DataHandler[] getNewDataHandlerArrayForward(DataHandler[] dha) { + return service.getNewDataHandlerArray(dha); + } + + + public Source getNewSourceForward(Source src) { + return service.getNewSource(src); + } + + public Source[] getNewSourceArrayForward(Source[] srcs) { + return service.getNewSourceArray(srcs); + } + + public UUID getNewUUIDForward(UUID uuid) { + return service.getNewUUID(uuid); + } + + public UUID[] getNewUUIDArrayForward(UUID[] uuids) { + return service.getNewUUIDArray(uuids); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceClientImpl.java new file mode 100644 index 0000000000..626b0e9844 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceClientImpl.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.itest.databindings.jaxb.impl; + +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesService; +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesServiceClient; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of StandardTypesServiceClient. + * The client forwards the request to the service component and returns the response from the service component. + */ +@Service(StandardTypesServiceClient.class) +public class StandardTypesServiceClientImpl extends StandardTypesLocalServiceClientImpl { + + @Reference + public void setStandardTypesService(StandardTypesService service) { + super.setStandardTypesLocalService(service); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceImpl.java new file mode 100644 index 0000000000..19a6cae01b --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesServiceImpl.java @@ -0,0 +1,208 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import java.awt.Image; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URI; +import java.util.Calendar; +import java.util.Date; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; +import javax.xml.transform.Source; + +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesLocalService; +import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesService; +import org.osoa.sca.annotations.Service; + +/** + * An implementation of StandardTypesService. + * This implementation provides both a local and a remotable service. + */ +@Service(interfaces={StandardTypesService.class, StandardTypesLocalService.class}) +public class StandardTypesServiceImpl implements StandardTypesService, StandardTypesLocalService { + + public BigInteger getNewBigInteger(BigInteger bi) { + return bi.negate(); + } + + public BigInteger[] getNewBigIntegerArray(BigInteger[] bia) { + BigInteger[] resp = new BigInteger[bia.length]; + for(int i = 0; i < bia.length; ++i) { + resp[i] = bia[i].negate(); + } + return resp; + } + + public BigDecimal getNewBigDecimal(BigDecimal bd) { + return bd.negate(); + } + + public BigDecimal[] getNewBigDecimalArray(BigDecimal[] bda) { + BigDecimal[] resp = new BigDecimal[bda.length]; + for(int i = 0; i < bda.length; ++i) { + resp[i] = bda[i].negate(); + } + return resp; + } + + public Calendar getNewCalendar(Calendar c) { + Calendar resp = (Calendar)c.clone(); + resp.add(Calendar.DAY_OF_MONTH, 5); + return resp; + } + + public Calendar[] getNewCalendarArray(Calendar[] ca) { + Calendar[] resp = new Calendar[ca.length]; + for(int i = 0; i < ca.length; ++i) { + resp[i] = getNewCalendar(ca[i]); + } + return resp; + } + + public Date getNewDate(Date d) { + return new Date(d.getTime() + 5*24*60*60*1000); + } + + public Date[] getNewDateArray(Date[] da) { + Date[] resp = new Date[da.length]; + for(int i = 0; i < da.length; ++i) { + resp[i] = getNewDate(da[i]); + } + return resp; + } + + public QName getNewQName(QName qname) { + return new QName(qname.getNamespaceURI()+"q", qname.getLocalPart()+"q", qname.getPrefix()+"q"); + + } + + public QName[] getNewQNameArray(QName[] qnames) { + QName[] resp = new QName[qnames.length]; + for(int i = 0; i < qnames.length; ++i) { + resp[i] = getNewQName(qnames[i]); + } + return resp; + } + + public URI getNewURI(URI uri) { + return uri.resolve("uri"); + } + + public URI[] getNewURIArray(URI[] uris) { + URI[] resp = new URI[uris.length]; + for(int i = 0; i < uris.length; ++i) { + resp[i] = getNewURI(uris[i]); + } + return resp; + } + + public XMLGregorianCalendar getNewXMLGregorianCalendar(XMLGregorianCalendar xgcal) { + xgcal = (XMLGregorianCalendar)xgcal.clone(); + xgcal.setDay(xgcal.getDay()+5); + return xgcal; + } + + public XMLGregorianCalendar[] getNewXMLGregorianCalendarArray(XMLGregorianCalendar[] xgcals) { + XMLGregorianCalendar[] resp = new XMLGregorianCalendar[xgcals.length]; + for(int i = 0; i < xgcals.length; ++i) { + resp[i] = getNewXMLGregorianCalendar(xgcals[i]); + } + return resp; + } + + public Duration getNewDuration(Duration d) { + return d.negate(); + } + + public Duration[] getNewDurationArray(Duration[] da) { + Duration[] resp = new Duration[da.length]; + for(int i = 0; i < da.length; ++i) { + resp[i] = da[i].negate(); + } + return resp; + } + + public Object getNewObject(Object obj) { + return StandardTypesTransformer.getNewObject(obj); + } + + public Object[] getNewObjectArray(Object[] objs) { + Object[] resp = new Object[objs.length]; + for(int i = 0; i < objs.length; ++i) { + resp[i] = getNewObject(objs[i]); + } + return resp; + } + + public Image getNewImage(Image img) { + return StandardTypesTransformer.getNewImage(img); + } + + public Image[] getNewImageArray(Image[] imgs) { + Image[] resp = new Image[imgs.length]; + for(int i = 0; i < imgs.length; ++i) { + resp[i] = getNewImage(imgs[i]); + } + return resp; + } + + public DataHandler getNewDataHandler(DataHandler dh) { + // FIXME: transform the input + return dh; + } + + public DataHandler[] getNewDataHandlerArray(DataHandler[] dha) { + DataHandler[] resp = new DataHandler[dha.length]; + for(int i = 0; i < dha.length; ++i) { + resp[i] = dha[i]; + } + return resp; + } + + public Source getNewSource(Source src) { + return StandardTypesTransformer.getNewSource(src); + } + + public Source[] getNewSourceArray(Source[] srcs) { + Source[] resp = new Source[srcs.length]; + for(int i = 0; i < srcs.length; ++i) { + resp[i] = getNewSource(srcs[i]); + } + return resp; + } + + public UUID getNewUUID(UUID uuid) { + return UUID.fromString(uuid.toString()+"AAA"); + } + + public UUID[] getNewUUIDArray(UUID[] uuids) { + UUID[] resp = new UUID[uuids.length]; + for(int i = 0; i < uuids.length; ++i) { + resp[i] = getNewUUID(uuids[i]); + } + return resp; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesTransformer.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesTransformer.java new file mode 100644 index 0000000000..68510b4b03 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/StandardTypesTransformer.java @@ -0,0 +1,144 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb.impl; + +import java.awt.Image; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.CharArrayReader; +import java.io.CharArrayWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.Reader; + +import javax.xml.transform.Source; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.stream.StreamSource; + +import org.xml.sax.InputSource; + + + +/** + * StandardTypesTransformer class that provide for transforming input provided to StandardTypesService methods. + * + * @version $Rev$ $Date$ + */ +public class StandardTypesTransformer { + + public static Object getNewObject(Object obj) { + if(obj instanceof String) { + return "Hello "+obj; + } else if(obj instanceof Integer) { + return new Integer(-((Integer)obj).intValue()); + } else if(obj instanceof Double) { + return new Double(-((Double)obj).doubleValue()); + } + + return obj; + } + + /** + * Returns a copy of the source object if the input is DOMSource, SAXSource or StreamSource. + * Returns the input object as is for other types. + */ + public static Source getNewSource(Source src) { + Source ret = null; + if(src instanceof DOMSource) { + DOMSource dsrc = (DOMSource)src; + ret = new DOMSource(dsrc.getNode() != null ? dsrc.getNode().cloneNode(true) : null); + } else if(src instanceof SAXSource) { + SAXSource ssrc = (SAXSource)src; + if(ssrc.getInputSource().getByteStream() != null) { + InputStream inp = ssrc.getInputSource().getByteStream(); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + int b; + try { + while((b = inp.read()) != -1) { + bout.write(b); + } + } catch (IOException ignored) { + } + try { bout.close();} catch (IOException ignored) {} + try { inp.reset();} catch (IOException ignored) {} + ret = new SAXSource(new InputSource(new ByteArrayInputStream(bout.toByteArray()))); + } else if(ssrc.getInputSource().getCharacterStream() != null) { + Reader rdr = ssrc.getInputSource().getCharacterStream(); + CharArrayWriter caw = new CharArrayWriter(); + try { + int c; + while((c = rdr.read()) != -1) { + caw.append((char)c); + } + } catch (IOException ignored) { + } + caw.close(); + try{ rdr.reset();} catch(IOException ignored) {} + ret = new SAXSource(new InputSource(new CharArrayReader(caw.toCharArray()))); + } else { + ret = new SAXSource(); + } + } else if(src instanceof StreamSource) { + StreamSource ssrc = (StreamSource)src; + if(ssrc.getInputStream() != null) { + InputStream inp = ssrc.getInputStream(); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + int b; + try { + while((b = inp.read()) != -1) { + bout.write(b); + } + } catch (IOException ignored) { + } + try { bout.close();} catch (IOException ignored) {} + try { inp.reset();} catch (IOException ignored) {} + ret = new StreamSource(new ByteArrayInputStream(bout.toByteArray())); + } else if(ssrc.getReader() != null) { + Reader rdr = ssrc.getReader(); + CharArrayWriter caw = new CharArrayWriter(); + try { + int c; + while((c = rdr.read()) != -1) { + caw.append((char)c); + } + } catch (IOException ignored) { + } + caw.close(); + try{ rdr.reset();} catch(IOException ignored) {} + ret = new StreamSource(new CharArrayReader(caw.toCharArray())); + } else { + ret = new StreamSource(); + } + } + + if(ret != null) { + ret.setSystemId(src.getSystemId()); + } else { + ret = src; + } + return ret; + } + + public static Image getNewImage(Image arg) { + arg.getGraphics().drawOval(2, 2, 7, 7); + return arg; + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsList.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsList.java new file mode 100644 index 0000000000..c8d08eed85 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsList.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.itest.databindings.jaxb.impl.jaxws; + +import java.util.List; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * This wrapper class was initially generated by wsgen. + * + * @version $Rev$ $Date$ + */ +@XmlRootElement(name = "getGreetingsList", namespace = "http://impl.jaxb.databindings.itest.sca.tuscany.apache.org/") +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "getGreetingsList", namespace = "http://impl.jaxb.databindings.itest.sca.tuscany.apache.org/") +public class GetGreetingsList { + + @XmlElement(name = "arg0", namespace = "") + private List arg0; + + /** + * + * @return + * returns List + */ + public List getArg0() { + return this.arg0; + } + + /** + * + * @param arg0 + * the value for the arg0 property + */ + public void setArg0(List arg0) { + this.arg0 = arg0; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsListResponse.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsListResponse.java new file mode 100644 index 0000000000..17ca0ca596 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/impl/jaxws/GetGreetingsListResponse.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.itest.databindings.jaxb.impl.jaxws; + +import java.util.List; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * This wrapper class was initially generated by wsgen. + * + * @version $Rev$ $Date$ + */ +@XmlRootElement(name = "getGreetingsListResponse", namespace = "http://impl.jaxb.databindings.itest.sca.tuscany.apache.org/") +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "getGreetingsListResponse", namespace = "http://impl.jaxb.databindings.itest.sca.tuscany.apache.org/") +public class GetGreetingsListResponse { + + @XmlElement(name = "return", namespace = "") + private List _return; + + /** + * + * @return + * returns List + */ + public List getReturn() { + return this._return; + } + + /** + * + * @param _return + * the value for the _return property + */ + public void setReturn(List _return) { + this._return = _return; + } + +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/generics-service.composite b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/generics-service.composite new file mode 100644 index 0000000000..2d47ba7b14 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/generics-service.composite @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/helloservice.composite b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/helloservice.composite new file mode 100644 index 0000000000..c39cf21002 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/helloservice.composite @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/primitivesservice.composite b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/primitivesservice.composite new file mode 100644 index 0000000000..4b0a6e215d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/primitivesservice.composite @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/standard-types-service.composite b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/standard-types-service.composite new file mode 100644 index 0000000000..13ef73c082 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/main/resources/standard-types-service.composite @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/DatabindingTestCase.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/DatabindingTestCase.java new file mode 100644 index 0000000000..4967b896a5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/DatabindingTestCase.java @@ -0,0 +1,339 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @version $Rev$ $Date$ + */ +public class DatabindingTestCase { + + private static SCADomain domain; + + /** + * Runs once before running the tests + */ + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("helloservice.composite"); + } catch(Throwable e) { + e.printStackTrace(); + } + } + + /** + * Runs once after running the tests + */ + @AfterClass + public static void tearDown() { + domain.close(); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetings. + */ + @Test + public void testSCA() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTest(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsArray. + */ + @Test + public void testSCAArray() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestArray(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsList. + */ + @Test + public void testSCAList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsArrayList. + */ + @Test + public void testSCAArrayList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestArrayList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsMap. + */ + @Test + public void testSCAMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsHashMap. + */ + @Test + public void testSCAHashMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestHashMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using SCA binding. + * Service method invoked is getGreetingsVarArgs. + */ + @Test + public void testSCAVarArgs() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientSCAComponent"); + performTestVarArgs(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetings. + */ + @Test + public void testWS() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTest(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsArray. + */ + @Test + public void testWSArray() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestArray(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsList. + */ + @Test + public void testWSList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsArrayList. + */ + @Test + public void testWSArrayList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestArrayList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsMap. + */ + @Test + public void testWSMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsHashMap. + */ + @Test + public void testWSHashMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestHashMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloServiceSimple service using WS binding. + * Service method invoked is getGreetingsVarArgs. + */ + @Test + public void testWSVarArgs() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloServiceSimpleClientWSComponent"); + performTestVarArgs(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetings. + */ + @Test + public void testSCALocal() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTest(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsArray. + */ + @Test + public void testSCALocalArray() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestArray(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsList. + */ + @Test + public void testSCALocalList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsArrayList. + */ + @Test + public void testSCALocalArrayList() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestArrayList(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsMap. + */ + @Test + public void testSCALocalMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsHashMap. + */ + @Test + public void testSCALocalHashMap() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestHashMap(helloServiceSimpleClient); + } + + /** + * Invokes the HelloLocalServiceSimple service using SCA binding. + * Service method invoked is getGreetingsVarArgs. + */ + @Test + public void testSCALocalVarArgs() throws Exception { + HelloServiceSimpleClient helloServiceSimpleClient = domain.getService(HelloServiceSimpleClient.class, "HelloLocalServiceSimpleClientSCAComponent"); + performTestVarArgs(helloServiceSimpleClient); + } + + private void performTest(HelloServiceSimpleClient helloServiceSimpleClient) { + String name = "Pandu"; + String resp = helloServiceSimpleClient.getGreetingsForward(name); + Assert.assertEquals("Hello "+name, resp); + } + + private void performTestArray(HelloServiceSimpleClient helloServiceSimpleClient) { + String[] names = {"Me", "Pandu"}; + String[] resps = helloServiceSimpleClient.getGreetingsArrayForward(names); + for(int i = 0; i < names.length; ++i) { + Assert.assertEquals("Hello "+names[i], resps[i]); + } + } + + private void performTestList(HelloServiceSimpleClient helloServiceSimpleClient) { + List namesList = new ArrayList(); + namesList.add("Me"); + namesList.add("Pandu"); + namesList.add("Chinnipandu"); + List respList = helloServiceSimpleClient.getGreetingsListForward(namesList); + Assert.assertEquals(namesList.size(), respList.size()); + for(int i = 0; i < namesList.size(); ++i) { + Assert.assertEquals("Hello "+namesList.get(i), respList.get(i)); + } + } + + private void performTestArrayList(HelloServiceSimpleClient helloServiceSimpleClient) { + ArrayList namesList = new ArrayList(); + namesList.add("Me"); + namesList.add("Pandu"); + namesList.add("Chinnipandu"); + ArrayList respList = helloServiceSimpleClient.getGreetingsArrayListForward(namesList); + Assert.assertEquals(namesList.size(), respList.size()); + for(int i = 0; i < namesList.size(); ++i) { + Assert.assertEquals("Hello "+namesList.get(i), respList.get(i)); + } + } + + private void performTestMap(HelloServiceSimpleClient helloServiceSimpleClient) { + Map namesMap = new HashMap(); + namesMap.put("Me", null); + namesMap.put("Pandu", null); + namesMap.put("Chinnipandu", null); + Map respMap = helloServiceSimpleClient.getGreetingsMapForward(namesMap); + Assert.assertEquals(namesMap.keySet().size(), respMap.keySet().size()); + for(Map.Entry entry: namesMap.entrySet()) { + Assert.assertEquals("Hello "+entry.getKey(), respMap.get(entry.getKey())); + } + } + + private void performTestHashMap(HelloServiceSimpleClient helloServiceSimpleClient) { + HashMap namesMap = new HashMap(); + namesMap.put("Me", null); + namesMap.put("Pandu", null); + namesMap.put("Chinnipandu", null); + Map respMap = helloServiceSimpleClient.getGreetingsHashMapForward(namesMap); + Assert.assertEquals(namesMap.keySet().size(), respMap.keySet().size()); + for(Map.Entry entry: namesMap.entrySet()) { + Assert.assertEquals("Hello "+entry.getKey(), respMap.get(entry.getKey())); + } + } + + private void performTestVarArgs(HelloServiceSimpleClient helloServiceSimpleClient) { + String[] names = { "Me", "You", "Pandu" }; // Do not change the array size from 3. + String expected = "Hello Me You Pandu"; + String actual = helloServiceSimpleClient.getGreetingsVarArgsForward(names[0], names[1], names[2]); + Assert.assertEquals(expected, actual); + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java new file mode 100644 index 0000000000..c22d00140e --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java @@ -0,0 +1,484 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.databindings.jaxb.impl.GenericsTransformer; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Databinding tests for generics, parameterized and polymorphic types. + * + * @version $Rev$ $Date$ + */ +public class GenericsDatabindingTestCase { + private static SCADomain domain; + + /** + * Runs before each test method + */ + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("generics-service.composite"); + } catch(Throwable e) { + e.printStackTrace(); + } + } + + /** + * Runs after each test method + */ + @AfterClass + public static void tearDown() { + domain.close(); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getTypeExplicit. + */ + @Test + public void testSCATypeExplicit() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestTypeExplicit(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getTypeUnbound. + */ + @Test + public void testSCATypeUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestTypeUnbound(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getTypeExtends. + */ + @Test + public void testSCATypeExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestTypeExtends(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getRecursiveTypeBound. + */ + @Test + public void testSCARecursiveTypeBound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestRecursiveTypeBound(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getWildcardUnbound. + */ + @Test + public void testSCAWildcardUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestWildcardUnbound(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getWildcardSuper. + */ + @Test + public void testSCAWildcardSuper() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestWildcardSuper(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getWildcardExtends. + */ + @Test + public void testSCAWildcardExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestWildcardExtends(serviceClient); + } + + /** + * Invokes the GenericsService service using SCA binding. + * Service method invoked is getPolymorphic. + */ + @Test + public void testSCAPolymorphic() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientSCAComponent"); + performTestPolymorphic(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getTypeExplicit. + */ + @Test + public void testWSTypeExplicit() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestTypeExplicit(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getTypeUnbound. + */ + @Test + public void testWSTypeUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestTypeUnbound(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getTypeExtends. + */ + @Test + public void testWSTypeExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestTypeExtends(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getRecursiveTypeBound. + */ + @Test + public void testWSRecursiveTypeBound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestRecursiveTypeBound(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getWildcardUnbound. + */ + @Test + public void testWSWildcardUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestWildcardUnbound(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getWildcardSuper. + */ + @Test + public void testWSWildcardSuper() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestWildcardSuper(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getWildcardExtends. + */ + @Test + public void testWSWildcardExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestWildcardExtends(serviceClient); + } + + /** + * Invokes the GenericsService service using WS binding. + * Service method invoked is getPolymorphic. + */ + @Test + public void testWSPolymorphic() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsServiceClientWSComponent"); + performTestPolymorphic(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getTypeExplicit. + */ + @Test + public void testSCALocalTypeExplicit() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestTypeExplicit(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getTypeUnbound. + */ + @Test + public void testSCALocalTypeUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestTypeUnbound(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getTypeExtends. + */ + @Test + public void testSCALocalTypeExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestTypeExtends(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getRecursiveTypeBound. + */ + @Test + public void testSCALocalRecursiveTypeBound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestRecursiveTypeBound(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getWildcardUnbound. + */ + @Test + public void testSCALocalWildcardUnbound() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestWildcardUnbound(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getWildcardSuper. + */ + @Test + public void testSCALocalWildcardSuper() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestWildcardSuper(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getWildcardExtends. + */ + @Test + public void testSCALocalWildcardExtends() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestWildcardExtends(serviceClient); + } + + /** + * Invokes the GenericsLocalService service using SCA binding. + * Service method invoked is getPolymorphic. + */ + @Test + public void testSCALocalPolymorphic() throws Exception { + GenericsServiceClient serviceClient = domain.getService(GenericsServiceClient.class, "GenericsLocalServiceClientSCAComponent"); + performTestPolymorphic(serviceClient); + } + + private void performTestTypeExplicit(GenericsServiceClient serviceClient) { + Bean1 args[] = new Bean1[2]; + args[0] = new Bean1("Me"); + args[1] = new Bean1(); + for(int i = 0; i < args.length; ++i) { + Bean1 arg = args[i]; + Bean1 expected = GenericsTransformer.getTypeExplicit(arg); + Bean1 actual = serviceClient.getTypeExplicitForward(arg); + Assert.assertEquals(expected, actual); + } + } + + private void performTestTypeUnbound(GenericsServiceClient serviceClient) { + { // String + String[] args = { "Me", "You", "Him" }; + Bean1 expected = GenericsTransformer.getTypeUnbound(args); + Bean1 actual = serviceClient.getTypeUnboundForward(args); + // Assert.assertEquals(expected, actual); + } + { // Integer + Integer[] args = new Integer[3]; + args[0] = -10; + args[1] = 0; + args[2] = 10; + Bean1 expected = GenericsTransformer.getTypeUnbound(args); + Bean1 actual = serviceClient.getTypeUnboundForward(args); + // Assert.assertEquals(expected, actual); + } + { // Object + Object[] args = new Object[3]; + args[0] = "Me"; + args[1] = 10; + args[2] = "Him"; + Bean1 expected = GenericsTransformer.getTypeUnbound(args); + Bean1 actual = serviceClient.getTypeUnboundForward(args); + Assert.assertEquals(expected, actual); + } + } + + private void performTestTypeExtends(GenericsServiceClient serviceClient) { + { // Bean2 + Bean2[] args = new Bean2[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean2(); + args[i].setName("Name"+i); + } + + Bean1 expected = GenericsTransformer.getTypeExtends(args); + Bean1 actual = serviceClient.getTypeExtendsForward(args); + Assert.assertEquals(expected, actual); + } + { // Bean3 extends Bean2 + Bean3[] args = new Bean3[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean3(); + args[i].setName("Name"+i); + args[i].setAddress("Address"+i); + } + + Bean1 expected = GenericsTransformer.getTypeExtends(args); + Bean1 actual = serviceClient.getTypeExtendsForward(args); + // Assert.assertEquals(expected, actual); + } + { //Bean31 extends Bean2 + Bean31[] args = new Bean31[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean31(); + args[i].setName("Name"+i); + args[i].setAddress("Address"+i); + } + + Bean1 expected = GenericsTransformer.getTypeExtends(args); + Bean1 actual = serviceClient.getTypeExtendsForward(args); + // Assert.assertEquals(expected, actual); + } + } + + private void performTestRecursiveTypeBound(GenericsServiceClient serviceClient) { + { // Bean1 + Bean1[] args = new Bean1[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean1(); + args[i].setItem("Bean."+i); + } + Bean1> expected = GenericsTransformer.getRecursiveTypeBound(args); + Bean1> actual = serviceClient.getRecursiveTypeBoundForward(args); + Assert.assertEquals(expected, actual); + } + { // Bean10 extends Bean1 + Bean10[] args = new Bean10[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean10(); + args[i].setItem("Bean10."+i); + } + Bean1 expected = GenericsTransformer.getRecursiveTypeBound(args); + Bean1 actual = serviceClient.getRecursiveTypeBoundForward(args); + // Assert.assertEquals(expected, actual); + } + { // Bean11 extends Bean1 + Bean11[] args = new Bean11[3]; + for(int i = 0; i < args.length; ++i) { + args[i] = new Bean11(); + args[i].setItem("Bean11."+i); + } + Bean1 expected = GenericsTransformer.getRecursiveTypeBound(args); + Bean1 actual = serviceClient.getRecursiveTypeBoundForward(args); + // Assert.assertEquals(expected, actual); + } + } + + private void performTestWildcardUnbound(GenericsServiceClient serviceClient) { + { + Bean1 arg = new Bean1("Me"); + Bean1 expected = GenericsTransformer.getWildcardUnbound(arg); + Bean1 actual = serviceClient.getWildcardUnboundForward(arg); + Assert.assertEquals(expected, actual); + } + { + Bean1 arg = new Bean1(1); + Bean1 expected = GenericsTransformer.getWildcardUnbound(arg); + Bean1 actual = serviceClient.getWildcardUnboundForward(arg); + Assert.assertEquals(expected, actual); + } + } + + private void performTestWildcardSuper(GenericsServiceClient serviceClient) { + Bean1 arg = new Bean1(); + Bean3 item = new Bean3(); + item.setName("Name"); + item.setAddress("Address"); + arg.setItem(item); + Bean1 expected = GenericsTransformer.getWildcardSuper(arg); + Bean1 actual = serviceClient.getWildcardSuperForward(arg); + Assert.assertEquals(expected, actual); + } + + private void performTestWildcardExtends(GenericsServiceClient serviceClient) { + { // Bean2 + Bean2 temp = new Bean2(); + temp.setName("Me"); + Bean1 arg = new Bean1(temp); + Bean1 expected = GenericsTransformer.getWildcardExtends(arg); + Bean1 actual = serviceClient.getWildcardExtendsForward(arg); + Assert.assertEquals(expected, actual); + } + { // Bean3 extends Bean2 + Bean3 temp = new Bean3(); + temp.setName("Me"); + temp.setAddress("My address"); + Bean1 arg = new Bean1(temp); + Bean1 expected = GenericsTransformer.getWildcardExtends(arg); + Bean1 actual = serviceClient.getWildcardExtendsForward(arg); + // The Bean3 will be unmarshalled into Bean2 + // Assert.assertEquals(expected, actual); + Assert.assertTrue(actual.getItem() instanceof Bean2); + } + { // Bean31 extends Bean2 + Bean31 temp = new Bean31(); + temp.setName("Me1"); + temp.setAddress("My address1"); + Bean1 arg = new Bean1(temp); + Bean1 expected = GenericsTransformer.getWildcardExtends(arg); + Bean1 actual = serviceClient.getWildcardExtendsForward(arg); + // The Bean31 will be unmarshalled into Bean2 + // Assert.assertEquals(expected, actual); + Assert.assertTrue(actual.getItem() instanceof Bean2); + } + } + + private void performTestPolymorphic(GenericsServiceClient serviceClient) { + { // Bean2 + Bean2 arg = new Bean2(); + arg.setName("Me"); + Bean2 expected = GenericsTransformer.getPolymorphic(arg); + Bean2 actual = serviceClient.getPolymorphicForward(arg); + Assert.assertEquals(expected, actual); + } + { // Bean3 extends Bean2 + Bean3 arg = new Bean3(); + arg.setName("Me"); + arg.setAddress("My address"); + Bean2 expected = GenericsTransformer.getPolymorphic(arg); + Bean2 actual = serviceClient.getPolymorphicForward(arg); + Assert.assertEquals(expected.getName(), actual.getName()); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesDatabindingTestCase.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesDatabindingTestCase.java new file mode 100644 index 0000000000..f8aaad3dac --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesDatabindingTestCase.java @@ -0,0 +1,776 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @version $Rev$ $Date$ + */ +public class PrimitivesDatabindingTestCase { + + private static SCADomain domain; + + /** + * Runs before each test method + */ + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("primitivesservice.composite"); + } catch(Throwable e) { + e.printStackTrace(); + Assert.fail(); + } + } + + /** + * Runs after each test method + */ + @AfterClass + public static void tearDown() { + domain.close(); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testSCANegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testSCANegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for boolean array. + */ + @Test + public void testSCAPassByValueBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueBooleanArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateByte. + */ + @Test + public void testSCANegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testSCANegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for byte array. + */ + @Test + public void testSCAPassByValueByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueByteArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateShort. + */ + @Test + public void testSCANegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testSCANegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for short array. + */ + @Test + public void testSCAPassByValueShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueShortArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateInt. + */ + @Test + public void testSCANegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testSCANegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for int array. + */ + @Test + public void testSCAPassByValueIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueIntArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateLong. + */ + @Test + public void testSCANegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testSCANegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for long array. + */ + @Test + public void testSCAPassByValueLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueLongArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateFloat. + */ + @Test + public void testSCANegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testSCANegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for float array. + */ + @Test + public void testSCAPassByValueFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueFloatArray()); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateDouble. + */ + @Test + public void testSCANegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testSCANegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with SCA binding. + * Test for double array. + */ + @Test + public void testSCAPassByValueDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientSCAComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueDoubleArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testWSNegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testWSNegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for boolean array. + */ + @Test + public void testWSPassByValueBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueBooleanArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByte. + */ + @Test + public void testWSNegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testWSNegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for byte array. + */ + @Test + public void testWSPassByValueByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueByteArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShort. + */ + @Test + public void testWSNegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testWSNegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for short array. + */ + @Test + public void testWSPassByValueShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueShortArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateInt. + */ + @Test + public void testWSNegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testWSNegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for int array. + */ + @Test + public void testWSPassByValueIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueIntArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLong. + */ + @Test + public void testWSNegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testWSNegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for long array. + */ + @Test + public void testWSPassByValueLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueLongArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloat. + */ + @Test + public void testWSNegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testWSNegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for float array. + */ + @Test + public void testWSPassByValueFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueFloatArray()); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDouble. + */ + @Test + public void testWSNegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using WS binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testWSNegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + /** + * Test the pass-by-value semantics of a remotable service with WS binding. + * Test for double array. + */ + @Test + public void testWSPassByValueDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesServiceClientWSComponent"); + Assert.assertTrue(primitivesServiceClient.passByValueDoubleArray()); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateBoolean. + */ + @Test + public void testSCALocalNegateBoolean() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateBoolean(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateBooleanArray. + */ + @Test + public void testSCALocalNegateBooleanArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateBooleanArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateByte. + */ + @Test + public void testSCALocalNegateByte() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateByte(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateByteArray. + */ + @Test + public void testSCALocalNegateByteArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateByteArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateShort. + */ + @Test + public void testSCALocalNegateShort() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateShort(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateShortArray. + */ + @Test + public void testSCALocalNegateShortArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateShortArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateInt. + */ + @Test + public void testSCALocalNegateInt() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateInt(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateIntArray. + */ + @Test + public void testSCALocalNegateIntArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateIntArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateLong. + */ + @Test + public void testSCALocalNegateLong() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateLong(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateLongArray. + */ + @Test + public void testSCALocalNegateLongArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateLongArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateFloat. + */ + @Test + public void testSCALocalNegateFloat() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateFloat(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesService service using SCA binding. + * Service method invoked is negateFloatArray. + */ + @Test + public void testSCALocalNegateFloatArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateFloatArray(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateDouble. + */ + @Test + public void testSCALocalNegateDouble() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateDouble(primitivesServiceClient); + } + + /** + * Invokes the PrimitivesLocalService service using SCA binding. + * Service method invoked is negateDoubleArray. + */ + @Test + public void testSCALocalNegateDoubleArray() throws Exception { + PrimitivesServiceClient primitivesServiceClient = domain.getService(PrimitivesServiceClient.class, "PrimitivesLocalServiceClientSCAComponent"); + performTestNegateDoubleArray(primitivesServiceClient); + } + + private void performTestNegateBoolean(PrimitivesServiceClient primitivesServiceClient) { + Assert.assertTrue(primitivesServiceClient.negateBooleanForward(false)); + Assert.assertFalse(primitivesServiceClient.negateBooleanForward(true)); + } + + private void performTestNegateBooleanArray(PrimitivesServiceClient primitivesServiceClient) { + boolean flags[] = new boolean[2]; + flags[0] = false; + flags[1] = true; + boolean[] respFlags = primitivesServiceClient.negateBooleanArrayForward(flags); + Assert.assertEquals(flags.length, respFlags.length); + for(int i = 0; i < flags.length; ++i) { + Assert.assertEquals(!flags[i], respFlags[i]); + } + } + + private void performTestNegateByte(PrimitivesServiceClient primitivesServiceClient) { + byte[] ba = new byte[3]; + ba[0] = -1; + ba[1] = 0; + ba[2] = 1; + + for(int i = 0; i < ba.length; ++i) { + Assert.assertEquals((byte)-ba[i], primitivesServiceClient.negateByteForward(ba[i])); + } + } + + private void performTestNegateByteArray(PrimitivesServiceClient primitivesServiceClient) { + byte[] ba = new byte[3]; + ba[0] = -1; + ba[1] = 0; + ba[2] = 1; + + byte[] r = primitivesServiceClient.negateByteArrayForward(ba); + Assert.assertEquals(ba.length, r.length); + for(int i = 0; i < ba.length; ++i) { + Assert.assertEquals((byte)-ba[i], r[i]); + } + } + + private void performTestNegateShort(PrimitivesServiceClient primitivesServiceClient) { + short[] s = new short[3]; + s[0] = -1; + s[1] = 0; + s[2] = 1; + + for(int i = 0; i < s.length; ++i) { + Assert.assertEquals((short)-s[i], primitivesServiceClient.negateShortForward(s[i])); + } + } + + private void performTestNegateShortArray(PrimitivesServiceClient primitivesServiceClient) { + short[] s = new short[3]; + s[0] = -1; + s[1] = 0; + s[2] = 1; + + short[] r = primitivesServiceClient.negateShortArrayForward(s); + Assert.assertEquals(s.length, r.length); + for(int i = 0; i < s.length; ++i) { + Assert.assertEquals((short)-s[i], r[i]); + } + } + + private void performTestNegateInt(PrimitivesServiceClient primitivesServiceClient) { + int[] ia = new int[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], primitivesServiceClient.negateIntForward(ia[i])); + } + } + + private void performTestNegateIntArray(PrimitivesServiceClient primitivesServiceClient) { + int[] ia = new int[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + int[] r = primitivesServiceClient.negateIntArrayForward(ia); + Assert.assertEquals(ia.length, r.length); + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], r[i]); + } + } + + private void performTestNegateLong(PrimitivesServiceClient primitivesServiceClient) { + long[] la = new long[3]; + la[0] = -1; + la[1] = 0; + la[2] = 1; + + for(int i = 0; i < la.length; ++i) { + Assert.assertEquals(-la[i], primitivesServiceClient.negateLongForward(la[i])); + } + } + + private void performTestNegateLongArray(PrimitivesServiceClient primitivesServiceClient) { + long[] la = new long[3]; + la[0] = -1; + la[1] = 0; + la[2] = 1; + + long[] r = primitivesServiceClient.negateLongArrayForward(la); + Assert.assertEquals(la.length, r.length); + for(int i = 0; i < la.length; ++i) { + Assert.assertEquals(-la[i], r[i]); + } + } + + private void performTestNegateFloat(PrimitivesServiceClient primitivesServiceClient) { + float[] fa = new float[3]; + fa[0] = -1; + fa[1] = 0; + fa[2] = 1; + + for(int i = 0; i < fa.length; ++i) { + Assert.assertEquals(-fa[i], primitivesServiceClient.negateFloatForward(fa[i])); + } + } + + private void performTestNegateFloatArray(PrimitivesServiceClient primitivesServiceClient) { + float[] ia = new float[3]; + ia[0] = -1; + ia[1] = 0; + ia[2] = 1; + + float[] r = primitivesServiceClient.negateFloatArrayForward(ia); + Assert.assertEquals(ia.length, r.length); + for(int i = 0; i < ia.length; ++i) { + Assert.assertEquals(-ia[i], r[i]); + } + } + + private void performTestNegateDouble(PrimitivesServiceClient primitivesServiceClient) { + double[] da = new double[3]; + da[0] = -1; + da[1] = 0; + da[2] = 1; + + for(int i = 0; i < da.length; ++i) { + Assert.assertEquals(-da[i], primitivesServiceClient.negateDoubleForward(da[i])); + } + } + + private void performTestNegateDoubleArray(PrimitivesServiceClient primitivesServiceClient) { + double[] da = new double[3]; + da[0] = -1; + da[1] = 0; + da[2] = 1; + + double[] r = primitivesServiceClient.negateDoubleArrayForward(da); + Assert.assertEquals(da.length, r.length); + for(int i = 0; i < da.length; ++i) { + Assert.assertEquals(-da[i], r[i]); + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java new file mode 100644 index 0000000000..ebfa1c5bdd --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java @@ -0,0 +1,1439 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest.databindings.jaxb; + +import java.awt.Image; +import java.awt.image.BufferedImage; +import java.awt.image.PixelGrabber; +import java.io.IOException; +import java.io.InputStream; +import java.io.StringReader; +import java.io.StringWriter; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URI; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; + +import junit.framework.Assert; + +import org.apache.axiom.attachments.ByteArrayDataSource; +import org.apache.tuscany.sca.databinding.xml.String2Node; +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.itest.databindings.jaxb.impl.StandardTypesTransformer; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.xml.sax.InputSource; + +/** + * @version $Rev$ $Date$ + */ +public class StandardTypesDatabindingTestCase { + + private static SCADomain domain; + + /** + * Runs before each test method + */ + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("standard-types-service.composite"); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + /** + * Runs after each test method + */ + @AfterClass + public static void tearDown() { + domain.close(); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewBigInteger. + */ + @Test + public void testSCANewBigInteger() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewBigInteger(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewBigIntegerArray. + */ + @Test + public void testSCANewBigIntegerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewBigIntegerArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewBigDecimal. + */ + @Test + public void testSCANewBigDecimal() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewBigDecimal(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewBigDecimalArray. + */ + @Test + public void testSCANewBigDecimalArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewBigDecimalArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewCalendar. + */ + @Test + public void testSCANewCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewCalendarArray. + */ + @Test + public void testSCANewCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDate. + */ + @Test + public void testSCANewDate() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDate(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDateArray. + */ + @Test + public void testSCANewDateArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDateArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewQName. + */ + @Test + public void testSCANewQName() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewQName(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewQNameArray. + */ + @Test + public void testSCANewQNameArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewQNameArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewURI. + */ + @Test + public void testSCANewURI() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewURI(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewURIArray. + */ + @Test + public void testSCANewURIArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewURIArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewXMLGregorianCalendar. + */ + @Test + public void testSCANewXMLGregorianCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewXMLGregorianCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewXMLGregorianCalendarArray. + */ + @Test + public void testSCANewXMLGregorianCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewXMLGregorianCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDuration. + */ + @Test + public void testSCANewDuration() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDuration(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDurationArray. + */ + @Test + public void testSCANewDurationArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDurationArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewObject. + */ + @Test + public void testSCANewObject() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewObject(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewObjectArray. + */ + @Test + public void testSCANewObjectArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewObjectArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewImage. + */ + @Test + public void testSCANewImage() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewImage(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewImageArray. + */ + @Test + public void testSCANewImageArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewImageArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDataHandler. + */ + @Test + public void testSCANewDataHandler() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDataHandler(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewDataHandlerArray. + */ + @Test + public void testSCANewDataHandlerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewDataHandlerArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewSource. + */ + @Test + public void testSCANewSource() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewSource(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewSourceArray. + */ + @Test + @Ignore("TUSCANY-2387") + public void testSCANewSourceArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewSourceArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewUUID. + */ + @Test + public void testSCANewUUID() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewUUID(serviceClient); + } + + /** + * Invokes the StandardTypesService service using SCA binding. + * Service method invoked is getNewUUIDArray. + */ + @Test + public void testSCANewUUIDArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent"); + performTestNewUUIDArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewBigInteger. + */ + @Test + public void testWSNewBigInteger() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewBigInteger(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewBigIntegerArray. + */ + @Test + public void testWSNewBigIntegerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewBigIntegerArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewBigDecimal. + */ + @Test + public void testWSNewBigDecimal() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewBigDecimal(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewBigDecimalArray. + */ + @Test + public void testWSNewBigDecimalArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewBigDecimalArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewCalendar. + */ + @Test + public void testWSNewCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewCalendarArray. + */ + @Test + public void testWSNewCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDate. + */ + @Test + public void testWSNewDate() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDate(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDateArray. + */ + @Test + public void testWSNewDateArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDateArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewQName. + */ + @Test + public void testWSNewQName() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewQName(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewQNameArray. + */ + @Test + public void testWSNewQNameArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewQNameArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewURI. + */ + @Test + public void testWSNewURI() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewURI(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewURIArray. + */ + @Test + public void testWSNewURIArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewURIArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewXMLGregorianCalendar. + */ + @Test + public void testWSNewXMLGregorianCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewXMLGregorianCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewXMLGregorianCalendarArray. + */ + @Test + public void testWSNewXMLGregorianCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewXMLGregorianCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDuration. + */ + @Test + public void testWSNewDuration() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDuration(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDurationArray. + */ + @Test + public void testWSNewDurationArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDurationArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewObject. + */ + @Test + public void testWSNewObject() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewObject(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewObjectArray. + */ + @Test + @Ignore("TUSCANY-2389") + public void testWSNewObjectArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewObjectArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewImage. + */ + @Test + public void testWSNewImage() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewImage(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewImageArray. + */ + @Test + public void testWSNewImageArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewImageArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDataHandler. + */ + @Test + public void testWSNewDataHandler() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDataHandler(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewDataHandlerArray. + */ + @Test + public void testWSNewDataHandlerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewDataHandlerArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewSource. + */ + @Test + @Ignore("junit.framework.ComparisonFailure: null expected:<... encoding=\"UTF-8\"?><[a>A> but was:<... encoding=\"UTF-8\"?><[return xmlns=\"http://jaxb.databindings.itest.sca.tuscany.apache.org/\">A>") + public void testWSNewSource() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewSource(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewSourceArray. + */ + @Test + @Ignore("TUSCANY-2386") + public void testWSNewSourceArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewSourceArray(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewUUID. + */ + @Test + public void testWSNewUUID() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewUUID(serviceClient); + } + + /** + * Invokes the StandardTypesService service using WS binding. + * Service method invoked is getNewUUIDArray. + */ + @Test + public void testWSNewUUIDArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent"); + performTestNewUUIDArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewBigInteger. + */ + @Test + public void testSCALocalNewBigInteger() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewBigInteger(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewBigIntegerArray. + */ + @Test + public void testSCALocalNewBigIntegerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewBigIntegerArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewBigDecimal. + */ + @Test + public void testSCALocalNewBigDecimal() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewBigDecimal(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewBigDecimalArray. + */ + @Test + public void testSCALocalNewBigDecimalArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewBigDecimalArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewCalendar. + */ + @Test + public void testSCALocalNewCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewCalendarArray. + */ + @Test + public void testSCALocalNewCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewDate. + */ + @Test + public void testSCALocalNewDate() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDate(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewDateArray. + */ + @Test + public void testSCALocalNewDateArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDateArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewQName. + */ + @Test + public void testSCALocalNewQName() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewQName(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewQNameArray. + */ + @Test + public void testSCALocalNewQNameArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewQNameArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewURI. + */ + @Test + public void testSCALocalNewURI() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewURI(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewURIArray. + */ + @Test + public void testSCALocalNewURIArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewURIArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewXMLGregorianCalendar. + */ + @Test + public void testSCALocalNewXMLGregorianCalendar() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewXMLGregorianCalendar(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewXMLGregorianCalendarArray. + */ + @Test + public void testSCALocalNewXMLGregorianCalendarArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewXMLGregorianCalendarArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewDuration. + */ + @Test + public void testSCALocalNewDuration() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDuration(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewDurationArray. + */ + @Test + public void testSCALocalNewDurationArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDurationArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewObject. + */ + @Test + public void testSCALocalNewObject() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewObject(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewObjectArray. + */ + @Test + public void testSCALocalNewObjectArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewObjectArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewImage. + */ + @Test + public void testSCALocalNewImage() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewImage(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewImageArray. + */ + @Test + public void testSCALocalNewImageArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewImageArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalLocalService service using SCA binding. + * Service method invoked is getNewDataHandler. + */ + @Test + public void testSCALocalNewDataHandler() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDataHandler(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewDataHandlerArray. + */ + @Test + public void testSCALocalNewDataHandlerArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewDataHandlerArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewSource. + */ + @Test + public void testSCALocalNewSource() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewSource(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewSourceArray. + */ + @Test + public void testSCALocalNewSourceArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewSourceArray(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewUUID. + */ + @Test + public void testSCALocalNewUUID() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewUUID(serviceClient); + } + + /** + * Invokes the StandardTypesLocalService service using SCA binding. + * Service method invoked is getNewUUIDArray. + */ + @Test + public void testSCALocalNewUUIDArray() throws Exception { + StandardTypesServiceClient serviceClient = + domain.getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent"); + performTestNewUUIDArray(serviceClient); + } + + private void performTestNewBigInteger(StandardTypesServiceClient serviceClient) { + BigInteger bi = new BigInteger("1234567890123456789012345678901234"); + BigInteger expected = bi.negate(); + BigInteger actual = serviceClient.getNewBigIntegerForward(bi); + Assert.assertEquals(expected, actual); + } + + private void performTestNewBigIntegerArray(StandardTypesServiceClient serviceClient) { + BigInteger[] bia = new BigInteger[2]; + bia[0] = new BigInteger("1234567890123456789012345678901234"); + bia[1] = new BigInteger("-98765432109876543210987654321"); + BigInteger[] actual = serviceClient.getNewBigIntegerArrayForward(bia); + Assert.assertEquals(bia.length, actual.length); + for (int i = 0; i < bia.length; ++i) { + Assert.assertEquals(bia[i].negate(), actual[i]); + } + } + + private void performTestNewBigDecimal(StandardTypesServiceClient serviceClient) { + BigDecimal bd = new BigDecimal("12345678901234567890.12345678901234"); + BigDecimal expected = bd.negate(); + BigDecimal actual = serviceClient.getNewBigDecimalForward(bd); + Assert.assertEquals(expected, actual); + } + + private void performTestNewBigDecimalArray(StandardTypesServiceClient serviceClient) { + BigDecimal[] bda = new BigDecimal[2]; + bda[0] = new BigDecimal("1234567890123456.789012345678901234"); + bda[1] = new BigDecimal("-987654321098765.43210987654321"); + BigDecimal[] actual = serviceClient.getNewBigDecimalArrayForward(bda); + Assert.assertEquals(bda.length, actual.length); + for (int i = 0; i < bda.length; ++i) { + Assert.assertEquals(bda[i].negate(), actual[i]); + } + } + + private void performTestNewCalendar(StandardTypesServiceClient serviceClient) { + Calendar[] ca = new Calendar[3]; + String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"}; + for (int i = 0; i < ca.length; ++i) { + ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i])); + ca[i].set(Calendar.DAY_OF_MONTH, i + 1); + } + for (int i = 0; i < ca.length; ++i) { + Calendar actual = serviceClient.getNewCalendarForward(ca[i]); + ca[i].add(Calendar.DAY_OF_MONTH, 5); + if (actual instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) { + // FIXME: Is this a problem? + // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover + // different from the instance passed. Adjust the gregorianCutover as per the input instance. + ((GregorianCalendar)actual).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange()); + } + Assert.assertEquals(ca[i], actual); + } + } + + private void performTestNewCalendarArray(StandardTypesServiceClient serviceClient) { + Calendar[] ca = new Calendar[3]; + String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"}; + for (int i = 0; i < ca.length; ++i) { + ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i])); + ca[i].set(Calendar.DAY_OF_MONTH, i + 1); + } + Calendar[] actual = serviceClient.getNewCalendarArrayForward(ca); + Assert.assertEquals(ca.length, actual.length); + for (int i = 0; i < ca.length; ++i) { + ca[i].add(Calendar.DAY_OF_MONTH, 5); + if (actual[i] instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) { + // FIXME: Is this a problem? + // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover + // different from the instance passed. Adjust the gregorianCutover as per the input instance. + ((GregorianCalendar)actual[i]).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange()); + } + Assert.assertEquals(ca[i], actual[i]); + } + } + + private void performTestNewDate(StandardTypesServiceClient serviceClient) { + Date d = new Date(); + Date expected = new Date(d.getTime() + 5 * 24 * 60 * 60 * 1000); + Date actual = serviceClient.getNewDateForward(d); + Assert.assertEquals(expected, actual); + } + + private void performTestNewDateArray(StandardTypesServiceClient serviceClient) { + Date[] d = new Date[2]; + Date[] expected = new Date[d.length]; + for (int i = 0; i < d.length; ++i) { + d[i] = new Date(); + d[i].setTime(d[i].getTime() + i * 24 * 60 * 60 * 1000); + expected[i] = new Date(d[i].getTime() + 5 * 24 * 60 * 60 * 1000); + } + Date[] actual = serviceClient.getNewDateArrayForward(d); + Assert.assertEquals(expected.length, actual.length); + for (int i = 0; i < expected.length; ++i) { + Assert.assertEquals(expected[i], actual[i]); + } + } + + private void performTestNewQName(StandardTypesServiceClient serviceClient) { + QName[] qnames = new QName[3]; + qnames[0] = new QName("localPart"); + qnames[1] = new QName("namespaceUri", "localPart"); + qnames[2] = new QName("namespaceUri", "localPart", "prefix"); + QName[] expected = new QName[qnames.length]; + for (int i = 0; i < qnames.length; ++i) { + expected[i] = + new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q", + qnames[i].getPrefix() + "q"); + } + for (int i = 0; i < qnames.length; ++i) { + QName actual = serviceClient.getNewQNameForward(qnames[i]); + Assert.assertEquals(expected[i], actual); + } + } + + private void performTestNewQNameArray(StandardTypesServiceClient serviceClient) { + QName[] qnames = new QName[4]; + qnames[0] = new QName("localPart"); + qnames[1] = new QName("namespaceUri", "localPart"); + qnames[2] = new QName("namespaceUri", "localPart", "prefix"); + qnames[3] = new QName("localPart2"); + QName[] expected = new QName[qnames.length]; + for (int i = 0; i < qnames.length; ++i) { + expected[i] = + new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q", + qnames[i].getPrefix() + "q"); + } + QName[] actual = serviceClient.getNewQNameArrayForward(qnames); + Assert.assertEquals(expected.length, actual.length); + for (int i = 0; i < qnames.length; ++i) { + Assert.assertEquals(expected[i], actual[i]); + } + } + + private void performTestNewURI(StandardTypesServiceClient serviceClient) { + URI[] uris = new URI[4]; + uris[0] = URI.create("a/b/c"); + uris[1] = URI.create("http://abc/"); + uris[2] = URI.create("ftp://a/b"); + uris[3] = URI.create("http://abc/").resolve("xyz"); + + for (int i = 0; i < uris.length; ++i) { + URI expected = uris[i].resolve("uri"); + URI actual = serviceClient.getNewURIForward(uris[i]); + Assert.assertEquals(expected, actual); + } + } + + private void performTestNewURIArray(StandardTypesServiceClient serviceClient) { + URI[] uris = new URI[4]; + uris[0] = URI.create("a/b/c"); + // [rfeng] We need to have a trialign / to avoid the resolving problem + // FIXME: [vamsi] This is actually a data transformation problem. The array being returned from the service method is + // not making to the caller intact. + uris[1] = URI.create("http://abc/"); + uris[2] = URI.create("ftp://a/b"); + uris[3] = URI.create("http://abc/").resolve("xyz"); + + URI[] expected = new URI[uris.length]; + for (int i = 0; i < uris.length; ++i) { + expected[i] = uris[i].resolve("uri"); + } + + URI[] actual = serviceClient.getNewURIArrayForward(uris); + Assert.assertEquals(expected.length, actual.length); + for (int i = 0; i < uris.length; ++i) { + Assert.assertEquals(expected[i], actual[i]); + } + } + + private void performTestNewXMLGregorianCalendar(StandardTypesServiceClient serviceClient) + throws DatatypeConfigurationException { + DatatypeFactory df = DatatypeFactory.newInstance(); + XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3]; + xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19)); + xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13)); + xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16)); + + for (int i = 0; i < xgcals.length; ++i) { + XMLGregorianCalendar actual = serviceClient.getNewXMLGregorianCalendarForward(xgcals[i]); + xgcals[i].setDay(xgcals[i].getDay() + 5); + Assert.assertEquals(xgcals[i], actual); + } + } + + private void performTestNewXMLGregorianCalendarArray(StandardTypesServiceClient serviceClient) + throws DatatypeConfigurationException { + DatatypeFactory df = DatatypeFactory.newInstance(); + XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3]; + xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19)); + xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13)); + xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16)); + + XMLGregorianCalendar[] actual = serviceClient.getNewXMLGregorianCalendarArrayForward(xgcals); + Assert.assertEquals(xgcals.length, actual.length); + for (int i = 0; i < xgcals.length; ++i) { + xgcals[i].setDay(xgcals[i].getDay() + 5); + Assert.assertEquals(xgcals[i], actual[i]); + } + } + + private void performTestNewDuration(StandardTypesServiceClient serviceClient) throws DatatypeConfigurationException { + DatatypeFactory df = DatatypeFactory.newInstance(); + Duration[] da = new Duration[3]; + da[0] = df.newDuration(1000000000000L); + da[1] = df.newDurationDayTime(1000000000000L); + da[2] = df.newDurationYearMonth(true, 1, 3); + + for (int i = 0; i < da.length; ++i) { + Assert.assertEquals(da[i].negate(), serviceClient.getNewDurationForward(da[i])); + } + } + + private void performTestNewObject(StandardTypesServiceClient serviceClient) { + Object[] objs = new Object[5]; + objs[0] = "Hello"; + objs[1] = 10; + objs[2] = null; + objs[3] = -1.0; + objs[4] = null; + + for (int i = 0; i < objs.length; ++i) { + Object expected = StandardTypesTransformer.getNewObject(objs[i]); + Object actual = serviceClient.getNewObjectForward(objs[i]); + Assert.assertEquals(expected, actual); + } + } + + private void performTestNewObjectArray(StandardTypesServiceClient serviceClient) { + Object[] objs = new Object[5]; + objs[0] = "Hello"; + objs[1] = 10; + objs[2] = null; + objs[3] = -1.0; + objs[4] = null; + + Object[] actual = serviceClient.getNewObjectArrayForward(objs); + Assert.assertEquals(objs.length, actual.length); + for (int i = 0; i < objs.length; ++i) { + Object expected = StandardTypesTransformer.getNewObject(objs[i]); + Assert.assertEquals(expected, actual[i]); + } + } + + private void performTestNewImage(StandardTypesServiceClient serviceClient) throws InterruptedException { + // Create some images to test with. + Image[] imgs = new Image[3]; + imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR); + imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB); + imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); + imgs[0].getGraphics().drawLine(1, 1, 8, 8); + imgs[1].getGraphics().drawLine(8, 1, 1, 8); + imgs[2].getGraphics().drawLine(1, 8, 8, 1); + + Image[] copy = imgs; + // Create the same images once again as the StandardTypesTransformer may manipulate the image passed. + imgs = new Image[3]; + imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR); + imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB); + imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); + imgs[0].getGraphics().drawLine(1, 1, 8, 8); + imgs[1].getGraphics().drawLine(8, 1, 1, 8); + imgs[2].getGraphics().drawLine(1, 8, 8, 1); + + // Make sure the images and copies are equal using ImageInfo + for(int i = 0; i < imgs.length; ++i) { + Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i])); + } + + for (int i = 0; i < imgs.length; ++i) { + Image actual = serviceClient.getNewImageForward(imgs[i]); + Image expected = StandardTypesTransformer.getNewImage(copy[i]); + // Compare using ImageInfo + Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual)); + } + } + + private void performTestNewImageArray(StandardTypesServiceClient serviceClient) throws InterruptedException { + // Create some images to test with. + Image[] imgs = new Image[3]; + imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR); + imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB); + imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); + imgs[0].getGraphics().drawLine(1, 1, 8, 8); + imgs[1].getGraphics().drawLine(8, 1, 1, 8); + imgs[2].getGraphics().drawLine(1, 8, 8, 1); + + Image[] copy = imgs; + // Create the same images once again as the StandardTypesTransformer may manipulate the image passed. + imgs = new Image[3]; + imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR); + imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB); + imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); + imgs[0].getGraphics().drawLine(1, 1, 8, 8); + imgs[1].getGraphics().drawLine(8, 1, 1, 8); + imgs[2].getGraphics().drawLine(1, 8, 8, 1); + + // Make sure the images and copies are equal using ImageInfo + for(int i = 0; i < imgs.length; ++i) { + Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i])); + } + + Image[] actual = serviceClient.getNewImageArrayForward(imgs); + Assert.assertEquals(imgs.length, actual.length); + for (int i = 0; i < imgs.length; ++i) { + Image expected = StandardTypesTransformer.getNewImage(copy[i]); + // Compare using ImageInfo + Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual[i])); + } + } + + private void performTestNewDurationArray(StandardTypesServiceClient serviceClient) + throws DatatypeConfigurationException { + DatatypeFactory df = DatatypeFactory.newInstance(); + Duration[] da = new Duration[3]; + da[0] = df.newDuration(1000000000000L); + da[1] = df.newDurationDayTime(1000000000000L); + da[2] = df.newDurationYearMonth(true, 1, 3); + + Duration[] actual = serviceClient.getNewDurationArrayForward(da); + Assert.assertEquals(da.length, actual.length); + for (int i = 0; i < da.length; ++i) { + Assert.assertEquals(da[i].negate(), actual[i]); + } + } + + private void performTestNewDataHandler(StandardTypesServiceClient serviceClient) throws IOException { + DataHandler[] dha = new DataHandler[3]; + dha[0] = new DataHandler("Some data", "text/plain"); + dha[1] = new DataHandler(this.getClass().getClassLoader().getResource("standard-types-service.composite")); + dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes())); + + for (int i = 0; i < dha.length; ++i) { + DataHandler actual = serviceClient.getNewDataHandlerForward(dha[i]); + // Note: The DataHandler returned may use a different type of DataSource. + // Compare the data content instead of using equals(). + Assert.assertTrue(compare(dha[i], actual)); + } + } + + private void performTestNewDataHandlerArray(StandardTypesServiceClient serviceClient) throws IOException { + DataHandler[] dha = new DataHandler[3]; + dha[0] = new DataHandler("Some data", "text/plain"); + dha[1] = new DataHandler(this.getClass().getClassLoader().getResource("standard-types-service.composite")); + dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes())); + + DataHandler[] actual = serviceClient.getNewDataHandlerArrayForward(dha); + Assert.assertEquals(dha.length, actual.length); + for (int i = 0; i < dha.length; ++i) { + // Note: The DataHandler returned may use a different type of DataSource. + // Compare the data content instead of using equals(). + Assert.assertTrue(compare(dha[i], actual[i])); + } + } + + private void performTestNewSource(StandardTypesServiceClient serviceClient) throws Exception { + String xml = new String("ABC"); + Source[] srcs = new Source[3]; + srcs[0] = new DOMSource(new String2Node().transform(xml, null)); + srcs[1] = new SAXSource(new InputSource(new StringReader(xml))); + srcs[2] = new StreamSource(new StringReader(xml)); + + for (int i = 0; i < srcs.length; ++i) { + Source expected = StandardTypesTransformer.getNewSource(srcs[i]); + Source actual = serviceClient.getNewSourceForward(srcs[i]); + // [rfeng] The data may come back as a different source + Assert.assertEquals(sourceToString(expected), sourceToString(actual)); + } + } + + private void performTestNewSourceArray(StandardTypesServiceClient serviceClient) throws Exception { + String xml = new String("ABC"); + Source[] srcs = new Source[3]; + srcs[0] = new DOMSource(new String2Node().transform(xml, null)); + srcs[1] = new SAXSource(new InputSource(new StringReader(xml))); + srcs[2] = new StreamSource(new StringReader(xml)); + + Source[] actual = serviceClient.getNewSourceArrayForward(srcs); + Source[] expected = new Source[srcs.length]; + for(int i = 0; i < srcs.length; ++i) { + expected[i] = StandardTypesTransformer.getNewSource(srcs[i]); + } + Assert.assertEquals(srcs.length, actual.length); + for (int i = 0; i < srcs.length; ++i) { + // [rfeng] The data may come back as a different source + Assert.assertEquals(sourceToString(expected[i]), sourceToString(actual[i])); + } + + } + + private void performTestNewUUID(StandardTypesServiceClient serviceClient) { + UUID[] uuids = new UUID[3]; + uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes()); + uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes()); + uuids[2] = UUID.randomUUID(); + + for (int i = 0; i < uuids.length; ++i) { + UUID expected = UUID.fromString(uuids[i].toString() + "AAA"); + UUID actual = serviceClient.getNewUUIDForward(uuids[i]); + Assert.assertEquals(expected, actual); + } + } + + private void performTestNewUUIDArray(StandardTypesServiceClient serviceClient) { + UUID[] uuids = new UUID[3]; + uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes()); + uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes()); + uuids[2] = UUID.randomUUID(); + + UUID[] actual = serviceClient.getNewUUIDArrayForward(uuids); + for (int i = 0; i < uuids.length; ++i) { + UUID expected = UUID.fromString(uuids[i].toString() + "AAA"); + Assert.assertEquals(expected, actual[i]); + } + } + + /** + * This method compares two DataHandlers. + * @return true if the data in the two handlers is the same. + */ + private boolean compare(DataHandler dh1, DataHandler dh2) throws IOException { + InputStream inp1 = dh1.getInputStream(); + InputStream inp2 = dh2.getInputStream(); + for(;;) { + int i1 = inp1.read(); + int i2 = inp2.read(); + if(i1 == -1 && i2 == -1) { + return true; + } else if(i1 != -1 && i2 != -1) { + if(i1 != i2) { + return false; + } + } else { + return false; + } + } + } + + /** + * This method returns the content of a source object as String. + */ + private String sourceToString(Source s) throws Exception { + StringWriter sw = new StringWriter(); + Result r = new StreamResult(sw); + TransformerFactory.newInstance().newTransformer().transform(s, r); + sw.close(); + return sw.toString(); + } + + /** + * This class initializes with the width, height and pixel data of a java.awt.Image object. + */ + private static class ImageInfo { + private int h, w, pixels[]; + public ImageInfo(Image img) throws InterruptedException { + w = img.getWidth(null); + h = img.getHeight(null); + pixels = new int[w*h]; + PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w); + pg.grabPixels(); + } + + public boolean equals(Object that) { + if(that == null) { + return false; + } else if(!(that instanceof ImageInfo)) { + return false; + } + + ImageInfo that1 = (ImageInfo)that; + if(w != that1.w || h != that1.h || pixels == null || that1.pixels == null || pixels.length != that1.pixels.length) { + return false; + } + for(int i = 0; i < pixels.length; ++i) { + if(pixels[i] != that1.pixels[i]) { + return false; + } + } + return true; + } + + public String toString() { + return this.getClass().getSimpleName()+"[w = "+w+", h = "+h+", pixels = "+pixels+"]"; + } + } +} diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/pom.xml b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/pom.xml new file mode 100644 index 0000000000..fa6205bc98 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/pom.xml @@ -0,0 +1,262 @@ + + + + + org.apache.tuscany.sca + itest-databindings + 2.0-incubating-SNAPSHOT + + + 4.0.0 + + itest-databindings-jaxb + 2.0-incubating-SNAPSHOT + jar + Apache Tuscany SCA JAXB Databinding Integration Tests + + + + + true + + java.net + java.net Maven 1.x Repository + http://download.java.net/maven/1 + legacy + + + java.net2 + java.net Maven 2.x Repository + http://download.java.net/maven/2 + + + + + + java.net2 + java.net Maven 2.x Repository + http://download.java.net/maven/2 + + + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-jaxb + ${pom.version} + runtime + + + org.apache.tuscany.sca + tuscany-databinding-sdo + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-databinding-axiom + ${pom.version} + compile + + + org.apache.tuscany.sca + itest-databindings-common + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-embedded + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-interface-java-xml + ${pom.version} + compile + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0-incubating-SNAPSHOT + runtime + + + javax.xml.bind + jaxb-api + 2.1 + compile + + + + com.sun.xml.ws + jaxws-rt + 2.1.3 + + + + commons-collections + commons-collections + 3.1 + + + log4j + log4j + 1.2.12 + provided + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + -Djava.endorsed.dirs=target/endorsed + + + + org.apache.maven.plugins + maven-dependency-plugin + + + generate-sources + + unpack + + + + + org.apache.tuscany.sca + itest-databindings-common + ${project.version} + true + ${project.build.directory}/classes + + + + + + copy + generate-sources + + copy + + + + + javax.xml.ws + jaxws-api + 2.1 + jar + + + javax.xml.bind + jaxb-api + 2.1 + jar + + + ${project.build.directory}/endorsed + false + true + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.0 + + + add-test-source + generate-sources + + add-test-source + + + + target/jaxws-source + + + + + + + org.codehaus.mojo + exec-maven-plugin + + + generate-test-source + process-resources + + java + + + + + org.apache.tuscany.sca.itest.generate.Generate + + ${project.build.directory} + + + + + org.codehaus.mojo + jaxws-maven-plugin + 1.9 + + + process-resources + + wsimport + + + + + org.apache.tuscany.sca.itest.jaxbdatabinding.generated + ${project.build.directory}/classes/wsdl + + Greeter.wsdl + + ${project.build.directory}/jaxws-source + false + true + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/generate/generate.xml b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/generate/generate.xml new file mode 100644 index 0000000000..8381a164ea --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/generate/generate.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + Person.xsd + xsd + org.apache.tuscany.sca.itest.jaxbdatabinding.generated + ObjectFactory + http://apache.org/tuscany/sca/itest/databinding/types + p + + PersonType + + ObjectFactory factory = new ObjectFactory(); + param = factory.createPersonType(); + param.setFirstName("George"); + param.setLastName("Doors"); + + + param.setGreeting("Hello"); + + + assertNotSame("greetedPerson.getGreeting() not set", "", result.getGreeting()); + + + + + Interop.xsd + xsd + org.apache.tuscany.sca.itest.jaxbdatabinding.generated + ObjectFactory + http://www.apache.org/tuscany/interop + i + + + AttributeComplexType + + ObjectFactory factory = new ObjectFactory(); + org.apache.tuscany.sca.itest.jaxbdatabinding.generated.AttributeType attrib = factory.createAttributeType(); + attrib.setAttribute("SomeText"); + param = factory.createAttributeComplexType(); + param.setAttributeElement(attrib); + + + param.getAttributeElement().setAttribute("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getAttributeElement().getAttribute()); + + + + AttributeReferenceComplexType + + ObjectFactory factory = new ObjectFactory(); + param = factory.createAttributeReferenceComplexType(); + + param.setReferencedAttribute("SomeText"); + + + param.setReferencedAttribute("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getReferencedAttribute()); + + + + SimpleTypeWithAbstractComplexType + + ObjectFactory factory = new ObjectFactory(); + param = factory.createSimpleTypeWithAbstractComplexType(); + param.setSimpleTypeWithAbstractExtensionElement("SomeText"); + + + param.setSimpleTypeWithAbstractExtensionElement("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithAbstractExtensionElement()); + + + + SimpleTypeWithNameComplexType + + ObjectFactory factory = new ObjectFactory(); + param = factory.createSimpleTypeWithNameComplexType(); + param.setSimpleTypeWithNameElement("SomeText"); + + + param.setSimpleTypeWithNameElement("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithNameElement()); + + + + ComplexTypeWithContentType + + ObjectFactory factory = new ObjectFactory(); + param = factory.createComplexTypeWithContentType(); + param.setSimpleTypeWithName("SomeText"); + + + param.setSimpleTypeWithName("SomeChangedText");; + + + assertEquals("data not changed corretly", "SomeChangedText", result.getSimpleTypeWithName()); + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/greeter.composite b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/greeter.composite new file mode 100644 index 0000000000..ae0740e6fe --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/jaxbgen/src/main/resources/greeter.composite @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/pom.xml b/sandbox/sebastien/java/sca-node/itest/databindings/pom.xml new file mode 100644 index 0000000000..8ba3d9cbd5 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/pom.xml @@ -0,0 +1,46 @@ + + + + + org.apache.tuscany.sca + tuscany-itest + 2.0-incubating-SNAPSHOT + ../pom.xml + + 4.0.0 + + org.apache.tuscany.sca + itest-databindings + Apache Tuscany SCA Databindings Integration Tests + 2.0-incubating-SNAPSHOT + + + pom + + install + + + common + sdogen + jaxbgen + jaxb-bottom-up + interop + + diff --git a/sandbox/sebastien/java/sca-node/itest/databindings/readme.html b/sandbox/sebastien/java/sca-node/itest/databindings/readme.html new file mode 100644 index 0000000000..24a44e4ed7 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/itest/databindings/readme.html @@ -0,0 +1,157 @@ + + + + + + + + + Tuscany SCA Integration Test Databindings + + + + + +

Tuscany SCA Integation Test Databindings

+ +

Overview

+ +

+This integration test tests the Tuscany SCA databinding implementation by passing various data structures +across various bindings using the supported databindings. There are tests for the individual databindings +which exercise various bindings with the same databinding at client and server ends of each binding. There +is also an integration test which exercises the transformer chains by specifying different databindings at +client and server ends of the binding. +

+

+In doing this testing it is apparent that there is a lot of repetition in creating client, services, idl and +type for each of the data types for each of the bindings for each of the databindings. To reduce the amount +of effort required to maintain the tests as new types, bindings and databindings are added the test cases +themselves are generated from configuration files. +

+ +

Test Structure

+ +Databindings/Common - hold files common across all tests
+Databindings/Interop - test the transformer chains with combinations of databindings
+Databindings/sdogen and jaxbgen - test each databindings independently
+ +

Test Generation

+

+To reduce the amount of manual effort involved in building and maintaining tests cases the test cases +themselves are generated at run time using a set of velocity templates. Each test module has a generate.xml +file in the resources/generate directory which tells the generator what to do. The file looks like this. +

+ +

+Each