summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-23 05:48:11 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-11-23 05:48:11 +0000
commit1c2df9a2458897ff6c2393913b2723457e42a0da (patch)
tree69652a0305830b4472f39c55ad1168522d8301f1 /sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit
parente5d978186780787e8dad6681cca139486df93643 (diff)
Simplified the automake build using configure options instead of environment variables and cleaned up some of the makefile.am files. Adjusted build instructions. Moved directories that don't yet build or work out of the main build dir and obsolete docs to a contrib dir.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@883254 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit')
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/CalculatorTest.java33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/EnvHandlerTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceButNotInClassAttrTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceButNotInClassAttrTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/MissingCompositeAndFragmentTest.java48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/SimplePublicPrivateProtectedTest.java49
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestAllCompositesTest.java89
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestDeployAssistTool.java97
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TuscanyTestCase.java341
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/Calculator.h36
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.componentType25
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/sca.composite28
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorBack.h36
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorForward.h35
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/sca.composite31
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.componentType26
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.componentType25
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.fragment39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.h98
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.h38
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.fragment39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.h94
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.h47
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.fragment39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.h36
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.h49
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValue.h40
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.componentType39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.hpp43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl_stockQuote_Proxy.h38
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/StockQuoteService.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/sca.composite60
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.fragment39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.h52
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValue.h40
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.componentType39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.hpp43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl_stockQuote_Proxy.h38
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/StockQuoteService.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/sca.composite60
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValue.h40
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType30
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp47
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/sca.composite48
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValue.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.componentType29
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.hpp43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/sca.composite49
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValue.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType29
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/sca.composite49
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/CustomerInfo.fragmentX38
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/sca.compositeX60
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.fragment39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.h49
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValue.h40
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.componentType39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.hpp43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl_stockQuote_Proxy.h38
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/StockQuoteService.h37
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/sca.composite60
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.fragment40
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.h45
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.componentType33
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.h39
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.cpp65
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.cpp84
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.cpp76
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.h42
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.cpp101
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.cpp76
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.h42
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.cpp101
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp594
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h90
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp872
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp504
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h86
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp760
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp83
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp83
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp83
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.cpp92
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.h44
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.cpp122
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.cpp64
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.h41
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp87
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h43
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp118
-rw-r--r--sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h43
150 files changed, 10841 insertions, 0 deletions
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/CalculatorTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/CalculatorTest.java
new file mode 100644
index 0000000000..13c1273983
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/CalculatorTest.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.cpp.tools.junit;
+
+import org.apache.tuscany.sca.cpp.tools.junit.TuscanyTestCase;
+
+/**
+ * This test case tests a simple Calculator service tools generation
+ */
+public class CalculatorTest extends TuscanyTestCase {
+
+ public void testCalculatorCompositeAndComponent() {
+ testComposite("CalculatorCompositeAndComponent", check_results);
+ }
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/EnvHandlerTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/EnvHandlerTest.java
new file mode 100644
index 0000000000..48d415dd8e
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/EnvHandlerTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class EnvHandlerTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public EnvHandlerTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceComposite", check_results);
+ }
+
+}
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceButNotInClassAttrTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceButNotInClassAttrTest.java
new file mode 100644
index 0000000000..ca7d50ae48
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceButNotInClassAttrTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr SCA composite as
+ * input data.
+ */
+public class ImplClassWithNameSpaceButNotInClassAttrTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public ImplClassWithNameSpaceButNotInClassAttrTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr", check_results);
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceTest.java
new file mode 100644
index 0000000000..e019873489
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/ImplClassWithNameSpaceTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class ImplClassWithNameSpaceTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public ImplClassWithNameSpaceTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceCompositeImplClassWithNamespace", check_results);
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceButNotInClassAttrTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceButNotInClassAttrTest.java
new file mode 100644
index 0000000000..11cab070b2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceButNotInClassAttrTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class IntfClassWithNameSpaceButNotInClassAttrTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public IntfClassWithNameSpaceButNotInClassAttrTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr", check_results);
+ }
+
+}
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceTest.java
new file mode 100644
index 0000000000..a26321d2a3
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/IntfClassWithNameSpaceTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class IntfClassWithNameSpaceTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public IntfClassWithNameSpaceTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceCompositeIntfClassWithNamespace", check_results);
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/MissingCompositeAndFragmentTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/MissingCompositeAndFragmentTest.java
new file mode 100644
index 0000000000..e529af0dd0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/MissingCompositeAndFragmentTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class MissingCompositeAndFragmentTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public MissingCompositeAndFragmentTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+ testComposite("MyValueServiceCompositeMissingScaComposite",false);
+ }
+
+}
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/SimplePublicPrivateProtectedTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/SimplePublicPrivateProtectedTest.java
new file mode 100644
index 0000000000..3743a1f1f9
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/SimplePublicPrivateProtectedTest.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.cpp.tools.junit;
+
+/**
+ * This is a "run this first" testcase that just tests some simple operations of
+ * the scagen tools it uses the
+ * Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite SCA composite as
+ * input data.
+ */
+public class SimplePublicPrivateProtectedTest extends TuscanyTestCase {
+
+ /**
+ * Constructor for CustomerInfoTestOLD.
+ *
+ * @param arg0
+ */
+ public SimplePublicPrivateProtectedTest(String arg0) {
+ super(arg0);
+ }
+
+ /**
+ * Test the Hydra.sca.core\test\testSCASystem\composites\MyValueServiceComposite
+ * proxy and wrapper generation.
+ */
+ public void testEnvHandler() {
+
+ testComposite("SimplePublicPrivateProtectedTest", check_results);
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestAllCompositesTest.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestAllCompositesTest.java
new file mode 100644
index 0000000000..1f1d2108e5
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestAllCompositesTest.java
@@ -0,0 +1,89 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.cpp.tools.junit;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.tuscany.sca.cpp.tools.junit.TuscanyTestCase;
+
+/**
+ * This test case will test all the composites placed in the "composites" directory
+ * against the results in their repectice "expected_results" folders.
+ */
+public class TestAllCompositesTest extends TuscanyTestCase {
+
+ String testsDir = TuscanyTestCase.junit_composites;
+
+ Set excludes = new HashSet();
+
+ public TestAllCompositesTest(String arg0) {
+ super(arg0);
+ excludes.add("MyValueServiceCompositeMissingScaComposite");
+ excludes.add("CVS");
+ excludes.add(".svn");
+ }
+
+
+ /* main exists to allow running from the java ant task */
+ public static void main(String[] args) {
+ TestAllCompositesTest test = new TestAllCompositesTest("");
+ test.testAllCompositesRegression();
+ }
+
+ public void testAllCompositesRegression() {
+ File dir = new File(testsDir);
+
+ if (dir.isDirectory()) {
+ System.out.println("Testing all composites under "
+ + dir.getAbsolutePath());
+ String[] test_composites = dir.list();
+
+ for (int i = 0; i < test_composites.length; i++) {
+ File test_composite = new File(testsDir, test_composites[i]);
+
+ String composite_name = null;
+ if (test_composite.isDirectory()) {
+ composite_name = test_composite.getName();
+ if (!excludes.contains(composite_name.intern())) {
+ testComposite(composite_name, check_results);
+ System.out.println("Test of composite \"" + composite_name
+ + "\" passed.");
+ continue;
+ } else {
+ System.out
+ .println("Ignoring excluded composite subdirectory \""
+ + composite_name + "\"");
+ }
+ }
+ }
+
+ } else {
+
+ fail("Test directory is not a directory! \r The variable org.apache.tuscany.sca.cpp.tools.junit.TuscanyTestCase.root sets the location of the junit input data,\r it is currently set as "
+ + TuscanyTestCase.root + "\rand we expect to find a testinput\\composites directory under there.");
+ }
+
+ System.out.println("testAllComposites test passed.");
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestDeployAssistTool.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestDeployAssistTool.java
new file mode 100644
index 0000000000..0d845e1b1e
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TestDeployAssistTool.java
@@ -0,0 +1,97 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.cpp.tools.junit;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * This test case will test all the composites placed in the "composites" directory
+ * against the results in their repectice "expected_results" folders.
+ */
+public class TestDeployAssistTool extends TuscanyTestCase {
+
+ String testsDir = TuscanyTestCase.junit_composites;
+
+ Set excludes = new HashSet();
+
+ public TestDeployAssistTool(String arg0) {
+ super(arg0);
+ excludes.add("MyValueServiceCompositeMissingScaComposite");
+ excludes.add("CVS");
+ }
+
+ /* main exists to allow running from the test script which will
+ * wrap this test case and pipe the satandard output to somewhere
+ * for checking.
+ */
+
+ public static void main(String[] args) {
+ TestDeployAssistTool test = new TestDeployAssistTool("");
+ test.testDeployToolNullParms();
+ }
+
+ public void testDeployTool() {
+ //Utils.setReportArtefacts(true);
+ TestAllCompositesTest t = new TestAllCompositesTest("");
+ File dir = new File(testsDir);
+
+ if (dir.isDirectory()) {
+ String[] test_composites = dir.list();
+
+ for (int i = 0; i < test_composites.length; i++) {
+ File test_composite = new File(testsDir, test_composites[i]);
+ String composite_name = null;
+ if (test_composite.isDirectory()) {
+ composite_name = test_composite.getName();
+ if (!excludes.contains(composite_name.intern())) {
+ t.testCompositeDeploy(composite_name, create_results, "c:\\colin", "cp");
+ }
+ }
+ System.out.println("");
+ }
+ }
+ }
+
+ public void testDeployToolNullParms() {
+ //Utils.setReportArtefacts(true);
+ TestAllCompositesTest t = new TestAllCompositesTest("");
+ File dir = new File(testsDir);
+
+ if (dir.isDirectory()) {
+ String[] test_composites = dir.list();
+
+ for (int i = 0; i < test_composites.length; i++) {
+ File test_composite = new File(testsDir, test_composites[i]);
+ String composite_name = null;
+ if (test_composite.isDirectory()) {
+ composite_name = test_composite.getName();
+ if (!excludes.contains(composite_name.intern())) {
+ t.testCompositeDeploy(composite_name, create_results, null, null);
+ }
+ }
+ System.out.println("");
+ }
+ }
+ }
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TuscanyTestCase.java b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TuscanyTestCase.java
new file mode 100644
index 0000000000..5d1fa568d1
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/org/apache/tuscany/sca/cpp/tools/junit/TuscanyTestCase.java
@@ -0,0 +1,341 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.cpp.tools.junit;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.cpp.tools.common.Options;
+import org.apache.tuscany.sca.cpp.tools.services.Scagen;
+
+/**
+ * A superclass for testcases that can be used to store common functions.
+ */
+public abstract class TuscanyTestCase extends TestCase {
+
+ public static String root = "d:\\tuscany\\cpp\\sca\\tools\\scagen\\junit\\";
+
+ public static String junit_composites = root + "testinput\\composites\\";
+
+ public static String junit_output = root + "testoutput\\";
+
+ private String testcase = "TESTCASE NOT SET BY SUBCLASS";
+
+ String input = null;
+
+ String output = null;
+
+ /**
+ * Check the resulting files with the contents of the expected_results
+ * folder in the testComposite method
+ */
+ public final static boolean check_results = true;
+
+ /**
+ * Create test output but do not check it (useful for setting up new
+ * expected test output
+ */
+ public final static boolean create_results = false;
+
+ /**
+ *
+ */
+ public TuscanyTestCase() {
+ super();
+ }
+
+ /**
+ * @param arg0
+ */
+ public TuscanyTestCase(String arg0) {
+ super(arg0);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ /**
+ * Tests to see if two files are the same - this is just a scratch method at
+ * the moment that flags up testcase output files not matching expected
+ * results rather than needing to be a fully robust implementation and needs
+ * a little further work.
+ *
+ * @param file1
+ * the first file to compare
+ * @param file2
+ * the second file to compare
+ *
+ */
+ protected boolean areFilesEqual(String file1, String file2) {
+
+ try {
+ FileInputStream fis1 = new java.io.FileInputStream(file1);
+ FileInputStream fis2 = new java.io.FileInputStream(file2);
+
+ BufferedReader br1 = new BufferedReader(new InputStreamReader(fis1));
+ BufferedReader br2 = new BufferedReader(new InputStreamReader(fis2));
+
+ String line1 = br1.readLine();
+ String line2 = br2.readLine();
+ boolean moretodo = (line1 != null) && (line2 != null);
+
+ for (int line = 1; moretodo; line++) {
+
+ if (line1.equals(line2)) {
+
+ line1 = br1.readLine();
+ line2 = br2.readLine();
+
+ } else {
+
+ int l1i, l2i;
+
+ if ((l1i = line1.lastIndexOf("$Id")) > 0) {
+ //allow CVS strings
+ line1 = br1.readLine();
+ }
+
+ if ((l2i = line2.lastIndexOf("$Id")) > 0) {
+ //allow CVS strings
+ line2 = br2.readLine();
+ }
+
+ if (l1i == -1 && l2i == -1) {
+
+ // they don't match
+ System.out.println("file " + file1 + " and file "
+ + file2);
+ System.out.println(" don't match at line " + line);
+ System.out.println("1 is :" + line1);
+ System.out.println("2 is :" + line2);
+
+ return false;
+ }
+ }
+
+ moretodo = (line1 != null) && (line2 != null);
+ }
+
+ System.out.println("MATCH FOR: file " + file1 + " and file "
+ + file2);
+ return true;
+
+ } catch (Throwable t) {
+ t.printStackTrace();
+ return true;
+ }
+
+ }
+
+ /**
+ * @param outputDir
+ */
+ protected void clearDirButNotExpectedOutputSubDir(String outputDir) {
+ File dir = new File(outputDir);
+ if (dir.isDirectory()) {
+ String[] files = dir.list();
+ for (int i = 0; i < files.length; i++) {
+ File child = new File(dir, files[i]);
+ if (child.isDirectory()) {
+ if (!(child.getName().equals("expected_output") || child.getName().equals(".svn"))) {
+ clearDirButNotExpectedOutputSubDir(dir
+ .getAbsolutePath()
+ + File.separator + files[i]);
+ }
+ }
+ else
+ {
+ if( !child.delete() )
+ {
+ System.out.println("File "+outputDir+"/"+child.getName()+" could not be deleted");
+ }
+ }
+ }
+ }
+
+ }
+
+ public void testComposite(String composite, boolean check) {
+
+ Options.reset();
+ setTestcase(composite);
+ clearDirButNotExpectedOutputSubDir(output);
+
+ String[] commandLine = new String[] { "-dir", input, "-output", output };
+ try {
+ Scagen.main(commandLine);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ if (check) {
+ checkDirWithExpected(output);
+ }
+ }
+
+ public void testCompositeDeploy(String composite, boolean check,
+ String deployDir, String command) {
+
+ Options.reset();
+ setTestcase(composite);
+ clearDirButNotExpectedOutputSubDir(output);
+
+ String[] commandLine;
+ if (null == deployDir) {
+ commandLine = new String[] { "-dir", input, "-output",
+ output, "-deploy"};
+ } else {
+ commandLine = new String[] { "-dir", input, "-output",
+ output, "-deploy", deployDir, "-command", command };
+ }
+ try {
+ Scagen.main(commandLine);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ if (check) {
+ checkDirWithExpected(output);
+ }
+ }
+
+ /**
+ * @param outputDirName
+ */
+ private void checkDirWithExpected(String outputDirName) {
+
+ File actualDir = new File(outputDirName);
+ if (actualDir == null || !actualDir.isDirectory()) {
+ fail("result directory does not exist");
+ }
+
+ File expectedDir = new File(outputDirName + File.separator
+ + "expected_output");
+ if (expectedDir == null || !actualDir.isDirectory()) {
+ fail("can't check results as expected directory does not exist");
+ }
+
+ //Check every file in the expected output directory is present
+ //in the actual directory
+
+ String[] expectedFiles = expectedDir.list();
+
+ if (expectedFiles == null) {
+ fail("no expected results for " + expectedDir.getPath());
+ }
+ for (int i = 0; expectedFiles != null && i < expectedFiles.length; i++) {
+ File expectedFile = new File(expectedDir, expectedFiles[i]);
+ if (expectedFile.isDirectory()) {
+ // we can't check subdirectories yet
+ // and it conveniently skips over "CVS"
+ } else {
+ File actualFile = checkFileExistsFailIfNot(actualDir,
+ expectedFile.getName());
+ checkFileHasNoTabsAndEndsInNewline(actualDir, expectedFile
+ .getName());
+ if (!areFilesEqual(expectedFile.getAbsolutePath(), actualFile
+ .getAbsolutePath())) {
+ fail("odd output for " + expectedFile.getPath());
+ }
+
+ }
+
+ }
+
+ }
+
+ /**
+ * @param actualDir
+ * @param name
+ */
+ private File checkFileExistsFailIfNot(File dir, String name) {
+
+ File f = new File(dir, name);
+ if (f == null || !f.exists() || !f.isFile()) {
+ fail("Expected result file " + f + " does not exist");
+ }
+ return f;
+
+ }
+
+ /**
+ * @param actualDir
+ * @param name
+ */
+ private void checkFileHasNoTabsAndEndsInNewline(File dir, String name) {
+
+ try {
+ File f = new File(dir, name);
+ FileInputStream fis = new FileInputStream(f);
+ InputStreamReader isr = new InputStreamReader(fis);
+ Reader br = new BufferedReader(isr);
+ int ch, charBeforeMinusOne = -1;
+ while ((ch = br.read()) > -1) {
+ if (ch == '\t') {
+ fail("found tab in output " + f.getPath());
+ }
+ charBeforeMinusOne = ch;
+ }
+ //The last char must be newline;
+ if (charBeforeMinusOne != '\n') {
+ fail("last char in file is not a newline in " + "(char is:"
+ + ch + " " + dir.getName() + File.separator + name);
+ }
+
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("io exception in tab/newline checker for " + dir.getName()
+ + File.separator + name);
+ return;
+ }
+
+ }
+
+ /**
+ * @param testcase
+ * The testcase to set.
+ */
+ void setTestcase(String testcase) {
+ this.testcase = testcase;
+ input = TuscanyTestCase.junit_composites + testcase;
+ output = TuscanyTestCase.junit_output + testcase;
+ }
+
+ /**
+ * @return Returns the testcase.
+ */
+ String getTestcase() {
+ return testcase;
+ }
+
+} \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/Calculator.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/Calculator.h
new file mode 100644
index 0000000000..99c4158d1a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/Calculator.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATOR_H
+#define CALCULATOR_H
+
+
+class Calculator {
+
+private:
+ virtual long add(long a, long b) = 0;
+public:
+
+ virtual long subtract(long a, long b) = 0;
+};
+
+
+#endif // CALCULATOR_H
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.componentType
new file mode 100644
index 0000000000..a1accb0fda
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.componentType
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+ <service name="CalculatorService">
+ <interface.cpp header="Calculator.h"/> <!-- Header is relative to the composite root -->
+ </service>
+</componentType> \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.h
new file mode 100644
index 0000000000..3f97eacef2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/CalculatorImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATORIMPL_H
+#define CALCULATORIMPL_H
+
+#include "Calculator.h"
+
+class CalculatorImpl : public Calculator
+{
+public:
+ CalculatorImpl();
+ virtual ~CalculatorImpl();
+ virtual long add(long a, long b);
+ virtual long subtract(long a, long b);
+
+};
+
+#endif //
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/sca.composite
new file mode 100644
index 0000000000..f2a8e56c58
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorCompositeAndComponent/sca.composite
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9" name="Calculator">
+
+ <component name="Calculator">
+ <implementation.cpp dll="debug/Calculator.dll" header="CalculatorImpl.h"/>
+ </component>
+
+</composite>
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorBack.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorBack.h
new file mode 100644
index 0000000000..bc14167841
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorBack.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATOR_H
+#define CALCULATOR_H
+
+
+class CalculatorBack {
+
+
+
+public:
+ virtual long subtractBack(long a, long b) = 0;
+ virtual long addBack(long a, long b) = 0;
+};
+
+
+#endif // CALCULATOR_H
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorForward.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorForward.h
new file mode 100644
index 0000000000..af140f9575
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/otherSubFolder/CalculatorForward.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATOR_H
+#define CALCULATOR_H
+
+
+class CalculatorForward {
+
+public:
+
+ virtual long subtractForward(long a, long b) = 0;
+ virtual long addForward(long a, long b) = 0;
+};
+
+
+#endif // CALCULATOR_H
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/sca.composite
new file mode 100644
index 0000000000..b3c5778b36
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/sca.composite
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9" name="Calculator">
+
+ <component name="CalculatorForward">
+ <implementation.cpp header="subFolder/CalculatorForwardImpl.h"/>
+ </component>
+
+ <component name="CalculatorBack">
+ <implementation.cpp header="subFolder\CalculatorBackImpl.h"/>
+ </component>
+
+</composite>
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.componentType
new file mode 100644
index 0000000000..715a4dfc6c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.componentType
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+ <service name="CalculatorService">
+ <interface.cpp header="otherSubFolder\CalculatorBack.h"/> <!-- Header is relative to the composite root -->
+ </service>
+</componentType> \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.h
new file mode 100644
index 0000000000..d10bfb4b1a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorBackImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATORIMPL_H
+#define CALCULATORIMPL_H
+
+#include "Calculator.h"
+
+class CalculatorBackImpl : public Calculator
+{
+public:
+ CalculatorImpl();
+ virtual ~CalculatorImpl();
+ virtual long addBack(long a, long b);
+ virtual long subtractBack(long a, long b);
+
+};
+
+#endif //
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.componentType
new file mode 100644
index 0000000000..0000086167
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.componentType
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+ <service name="CalculatorService">
+ <interface.cpp header="otherSubFolder/CalculatorForward.h"/> <!-- Header is relative to the composite root -->
+ </service>
+</componentType> \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.h
new file mode 100644
index 0000000000..182d9d89f2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CalculatorSlashDirectionTest/subFolder/CalculatorForwardImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CALCULATORIMPL_H
+#define CALCULATORIMPL_H
+
+#include "Calculator.h"
+
+class CalculatorForwardImpl : public Calculator
+{
+public:
+ CalculatorImpl();
+ virtual ~CalculatorImpl();
+ virtual long addForward(long a, long b);
+ virtual long subtractForward(long a, long b);
+
+};
+
+#endif //
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.fragment
new file mode 100644
index 0000000000..733b4700e7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.fragment
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo.dll" class="CustomerInfoImpl" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.h
new file mode 100644
index 0000000000..d1a634999c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfo.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+//char (simple extra type)
+ virtual const char* getCustomerInformationChar(char * p1, const char* customerID ) = 0;
+ virtual const char* getCustomerInfoAChar(char * p1,const char*) = 0;
+ virtual const char* getCustomerInfoBChar(char * p1, char* customerID ) = 0;
+ virtual const char* getCustomerInfoCChar(char * p1, char customerID ) = 0;
+ virtual const char* getCustomerInfoDChar(char * p1,char) = 0;
+ virtual const char* getCustomerInfoEChar(char * p1 , char *) = 0;
+ virtual const char* getCustomerInfoFChar(char * p1, char * p1, char *customerID ) = 0;
+ virtual const char* getCustomerInfoGChar(char * p1, char *, char * p1,signed char *customerID ) = 0;
+ virtual const char* getCustomerInfoHChar(unsigned char *customerID, const char, ) = 0;
+ virtual const char* getCustomerInfoHChar(unsigned char *customerID, const char*) = 0;
+
+//long (duplicate the types)
+ virtual const long* getCustomerInformationLong(const long* customerID, const long* customerID ) = 0;
+ virtual const long* getCustomerInfoALong(const long*,const long*) = 0;
+ virtual const long* getCustomerInfoBLong(long* customerID, long* customerID2 ) = 0;
+ virtual const long* getCustomerInfoCLong(long customerID , long customerID2 ) = 0;
+ virtual const long* getCustomerInfoDLong(long,long) = 0;
+ virtual const long* getCustomerInfoELong(long *, long*) = 0;
+ virtual const long* getCustomerInfoFLong(long *customerID, long* customerID2 ) = 0;
+ virtual const long* getCustomerInfoGLong(signed long *customerID, signed long *customerID2 ) = 0;
+ virtual const long* getCustomerInfoHLong(signed long *customerID, signed long *customerID2 ) = 0;
+
+//int
+ virtual const int* getCustomerInformationInt(char*, const int* customerID ) = 0;
+ virtual const int* getCustomerInfoAInt(char*,const int*) = 0;
+ virtual const int* getCustomerInfoBInt(char*,int* customerID ) = 0;
+ virtual const int* getCustomerInfoCInt(char*,int customerID ) = 0;
+ virtual const int* getCustomerInfoDInt(char*,int) = 0;
+ virtual const int* getCustomerInfoEInt(char*,int *) = 0;
+ virtual const int* getCustomerInfoFInt(char*,int *customerID ) = 0;
+ virtual const int* getCustomerInfoGInt(char*,signed int *customerID ) = 0;
+ virtual const int* getCustomerInfoHInt(char*,unsigned int *customerID ) = 0;
+
+
+//__int64
+ virtual const __int64* getCustomerInformationint64(Diamond&,const __int64* customerID ) = 0;
+ virtual const __int64* getCustomerInfoAint64(Diamond&, const __int64*) = 0;
+ virtual const __int64* getCustomerInfoBint64( Diamond&, __int64* customerID ) = 0;
+ virtual const __int64* getCustomerInfoCint64(Diamond&,__int64 customerID ) = 0;
+ virtual const __int64* getCustomerInfoDint64(Diamond& myDiamond,__int64) = 0;
+ virtual const __int64* getCustomerInfoEint64(Diamond& myDiamond, __int64 *) = 0;
+ virtual const __int64* getCustomerInfoFint64(Diamond& myDiamond, __int64 *customerID ) = 0;
+ virtual const __int64* getCustomerInfoGint64(Diamond& myDiamond, signed __int64 *customerID ) = 0;
+ virtual const __int64* getCustomerInfoHint64(const Diamond& myDiamond, unsigned int64 *customerID ) = 0;
+
+//void
+ virtual const void* getCustomerInformationVoid(float& f, const __int64* customerID ) = 0;
+ virtual void getCustomerInfoAVoid(const float& f, const __int64*) = 0;
+ virtual void getCustomerInfoBVoid( ) = 0;
+ virtual void getCustomerInfoCVoid() = 0;
+ virtual void getCustomerInfoDVoid(void) = 0;
+ virtual char getCustomerInfoEVoid(void) = 0;
+ virtual char getCustomerInfoFVoid() = 0;
+ virtual char getCustomerInfoGVoid( void ) = 0;
+
+//inline
+ virtual inline const char * getCustomerInfoAInline(int,int,int,int, char* customer id) = 0;
+ inline int getCustomerInfoBInline(int*,int* f, int* g, char* customer id) = 0;
+ virtual inline friend const unsigned int * getCustomerInfoCInline(char* customer id) = 0;
+
+//tricky examples
+ int getCustomerInfoTrickyA(const char, const char) = 0;
+ int getCustomerInfoTrickyB(int myInt, int myInt) = 0;
+
+
+
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.h
new file mode 100644
index 0000000000..c325a90b1e
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplMultiParamDiffTypesTest/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.fragment
new file mode 100644
index 0000000000..cb63dd1f06
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.fragment
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" class="CustomerInfoImpl" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.h
new file mode 100644
index 0000000000..85fac59da8
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfo.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+//char
+ virtual const char* getCustomerInformationChar(const char* customerID ) = 0;
+ virtual const char* getCustomerInfoAChar(const char*) = 0;
+ virtual const char* getCustomerInfoBChar(char* customerID ) = 0;
+ virtual const char* getCustomerInfoCChar(char customerID ) = 0;
+ virtual const char* getCustomerInfoDChar(char) = 0;
+ virtual const char* getCustomerInfoEChar(char *) = 0;
+ virtual const char* getCustomerInfoFChar(char *customerID ) = 0;
+ virtual const char* getCustomerInfoGChar(signed char *customerID ) = 0;
+ virtual const char* getCustomerInfoHChar(unsigned char *customerID ) = 0;
+
+//long
+ virtual const long* getCustomerInformationLong(const long* customerID ) = 0;
+ virtual const long* getCustomerInfoALong(const long*) = 0;
+ virtual const long* getCustomerInfoBLong(long* customerID ) = 0;
+ virtual const long* getCustomerInfoCLong(long customerID ) = 0;
+ virtual const long* getCustomerInfoDLong(long) = 0;
+ virtual const long* getCustomerInfoELong(long *) = 0;
+ virtual const long* getCustomerInfoFLong(long *customerID ) = 0;
+ virtual const long* getCustomerInfoGLong(signed long *customerID ) = 0;
+ virtual const long* getCustomerInfoHLong(unsigned long *customerID ) = 0;
+
+//int
+ virtual const int* getCustomerInformationInt(const int* customerID ) = 0;
+ virtual const int* getCustomerInfoAInt(const int*) = 0;
+ virtual const int* getCustomerInfoBInt(int* customerID ) = 0;
+ virtual const int* getCustomerInfoCInt(int customerID ) = 0;
+ virtual const int* getCustomerInfoDInt(int) = 0;
+ virtual const int* getCustomerInfoEInt(int *) = 0;
+ virtual const int* getCustomerInfoFInt(int *customerID ) = 0;
+ virtual const int* getCustomerInfoGInt(signed int *customerID ) = 0;
+ virtual const int* getCustomerInfoHInt(unsigned int *customerID ) = 0;
+
+
+//__int64
+ virtual const __int64* getCustomerInformationint64(const __int64* customerID ) = 0;
+ virtual const __int64* getCustomerInfoAint64(const __int64*) = 0;
+ virtual const __int64* getCustomerInfoBint64(__int64* customerID ) = 0;
+ virtual const __int64* getCustomerInfoCint64(__int64 customerID ) = 0;
+ virtual const __int64* getCustomerInfoDint64(__int64) = 0;
+ virtual const __int64* getCustomerInfoEint64(__int64 *) = 0;
+ virtual const __int64* getCustomerInfoFint64(__int64 *customerID ) = 0;
+ virtual const __int64* getCustomerInfoGint64(signed __int64 *customerID ) = 0;
+ virtual const __int64* getCustomerInfoHint64(unsigned int64 *customerID ) = 0;
+
+//void
+ virtual const void* getCustomerInformationVoid(const __int64* customerID ) = 0;
+ virtual void getCustomerInfoAVoid(const __int64*) = 0;
+ virtual void getCustomerInfoBVoid( ) = 0;
+ virtual void getCustomerInfoCVoid() = 0;
+ virtual void getCustomerInfoDVoid(void) = 0;
+
+//inline
+ virtual inline const char * getCustomerInfoAInline(char* customer id) = 0;
+ inline int getCustomerInfoBInline(char* customer id) = 0;
+ virtual inline friend const unsigned int * getCustomerInfoCInline(char* customer id) = 0;
+
+//tricky examples
+ int getCustomerInfoTrickyA(const char) = 0;
+ int getCustomerInfoTrickyB(int myInt) = 0;
+
+
+
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.h
new file mode 100644
index 0000000000..95b70c3017
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/CustomerInfoImplSingleParamDiffTypesTest/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+class CustomerInfoImpl2 : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation2(const char* customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.fragment
new file mode 100644
index 0000000000..5c5cb78b87
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.fragment
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" class="CustomerInfoImpl2" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.h
new file mode 100644
index 0000000000..7bd355b3ab
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfo.h
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * 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.
+ */
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+ virtual const char* getCustomerInformation(const char* customerID) = 0;
+
+};
+
+
+class CustomerInfoSecond
+{
+public:
+ virtual const char* getCustomerInformationSecond(const char* customerID) = 0;
+
+};
+
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.h
new file mode 100644
index 0000000000..540873174b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+class CustomerInfoImpl2 : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation2(const char* customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValue.h
new file mode 100644
index 0000000000..4334c82eca
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+class MyValue
+{
+public:
+ virtual float getMyValue(const char* customerID) = 0;
+ virtual float getMyValueS(const string& customerID) = 0;
+ virtual string getCustname(string& customerID) = 0;
+ virtual const string& getCustnamecs(string customerID) = 0;
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.componentType
new file mode 100644
index 0000000000..c4e3b35675
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.componentType
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp class="MyValue" header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+ <reference name="customerInfo">
+ <interface.cpp header="CustomerInfo.h">
+ </interface.cpp>
+ </reference>
+
+ <reference name="stockQuote">
+ <interface.cpp header="StockQuoteService.h">
+ </interface.cpp>
+ </reference>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.hpp
new file mode 100644
index 0000000000..98a342fcb0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+
+class MyValueImpl : public MyValue
+{
+public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..3f9feeed30
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/StockQuoteService.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/StockQuoteService.h
new file mode 100644
index 0000000000..6a8fd51534
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/StockQuoteService.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef StockQuoteService_h
+#define StockQuoteService_h
+#include <string>
+#include "commonj/sdo/sdo.h"
+using std::string;
+class StockQuoteService
+{
+public:
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr request) = 0;
+
+};
+
+#endif // StockQuoteService_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/sca.composite
new file mode 100644
index 0000000000..9a5cfd8da5
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceComposite/sca.composite
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--
+ <component name="Calculator">
+ <implementation.cpp dll="debug/Calculator.dll" header="CalculatorImpl.h"/>
+ </component>
+ -->
+
+ <externalService name="StockQuoteService">
+ <interface.cpp header="StockQuoteService.h"/>
+ <binding.ws port="http://swanandmokashi.com#wsdl.endpoint(StockQuotes/StockQuotesSoap)"/>
+ </externalService>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.fragment
new file mode 100644
index 0000000000..48d34f7957
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.fragment
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" class="Other::CustomerInfoImpl" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.h
new file mode 100644
index 0000000000..928480df1f
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfo.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+ virtual const char* getCustomerInformation(const char* customerID) = 0;
+
+};
+
+
+class CustomerInfoSecond
+{
+public:
+ virtual const char* getCustomerInformationSecond(const char* customerID) = 0;
+
+};
+
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.h
new file mode 100644
index 0000000000..8d2f810db0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+/*
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+*/
+namespace Other {
+ class CustomerInfoImpl : public CustomerInfo
+ {
+ public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformationOther(const char* customerID);
+
+ };
+}
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValue.h
new file mode 100644
index 0000000000..4334c82eca
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+class MyValue
+{
+public:
+ virtual float getMyValue(const char* customerID) = 0;
+ virtual float getMyValueS(const string& customerID) = 0;
+ virtual string getCustname(string& customerID) = 0;
+ virtual const string& getCustnamecs(string customerID) = 0;
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.componentType
new file mode 100644
index 0000000000..c4e3b35675
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.componentType
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp class="MyValue" header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+ <reference name="customerInfo">
+ <interface.cpp header="CustomerInfo.h">
+ </interface.cpp>
+ </reference>
+
+ <reference name="stockQuote">
+ <interface.cpp header="StockQuoteService.h">
+ </interface.cpp>
+ </reference>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.hpp
new file mode 100644
index 0000000000..98a342fcb0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+
+class MyValueImpl : public MyValue
+{
+public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..3f9feeed30
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/StockQuoteService.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/StockQuoteService.h
new file mode 100644
index 0000000000..6a8fd51534
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/StockQuoteService.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef StockQuoteService_h
+#define StockQuoteService_h
+#include <string>
+#include "commonj/sdo/sdo.h"
+using std::string;
+class StockQuoteService
+{
+public:
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr request) = 0;
+
+};
+
+#endif // StockQuoteService_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/sca.composite
new file mode 100644
index 0000000000..9a5cfd8da5
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespace/sca.composite
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--
+ <component name="Calculator">
+ <implementation.cpp dll="debug/Calculator.dll" header="CalculatorImpl.h"/>
+ </component>
+ -->
+
+ <externalService name="StockQuoteService">
+ <interface.cpp header="StockQuoteService.h"/>
+ <binding.ws port="http://swanandmokashi.com#wsdl.endpoint(StockQuotes/StockQuotesSoap)"/>
+ </externalService>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValue.h
new file mode 100644
index 0000000000..90835ca4af
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+
+class MyValue
+{
+ public:
+ virtual float getMyValueOther(const char* customerID) = 0;
+ virtual float getMyValueSOther(const string& customerID) = 0;
+ virtual string getCustnameOther(string& customerID) = 0;
+ virtual const string& getCustnamecsOther(string customerID) = 0;
+}
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType
new file mode 100644
index 0000000000..785be08b72
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+</componentType>
+
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp
new file mode 100644
index 0000000000..04a785cd26
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+namespace myvaluecorp
+{
+ namespace implns
+ {
+
+ class MyValueImpl : public MyValue
+ {
+ public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+ };
+ }
+}
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/sca.composite
new file mode 100644
index 0000000000..3e3c22a07b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/sca.composite
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValue.h
new file mode 100644
index 0000000000..bbfcf15ed1
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+
+namespace Other {
+ class MyValue
+ {
+ public:
+ virtual float getMyValueOther(const char* customerID) = 0;
+ virtual float getMyValueSOther(const string& customerID) = 0;
+ virtual string getCustnameOther(string& customerID) = 0;
+ virtual const string& getCustnamecsOther(string customerID) = 0;
+ }
+}
+
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.componentType
new file mode 100644
index 0000000000..42cc4e9827
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.componentType
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp class="Other::MyValue" header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.hpp
new file mode 100644
index 0000000000..98a342fcb0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+
+class MyValueImpl : public MyValue
+{
+public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/sca.composite
new file mode 100644
index 0000000000..510bf36337
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespace/sca.composite
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValue.h
new file mode 100644
index 0000000000..10c59480a8
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+
+namespace Other {
+ class MyValue
+ {
+ public:
+ virtual float getMyValueOther(const char* customerID) = 0;
+ virtual float getMyValueSOther(const string& customerID) = 0;
+ virtual string getCustnameOther(string& customerID) = 0;
+ virtual const string& getCustnamecsOther(string customerID) = 0;
+ }
+}
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType
new file mode 100644
index 0000000000..ddb463e3d7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.componentType
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp
new file mode 100644
index 0000000000..98a342fcb0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+
+class MyValueImpl : public MyValue
+{
+public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/sca.composite
new file mode 100644
index 0000000000..510bf36337
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/sca.composite
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/CustomerInfo.fragmentX b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/CustomerInfo.fragmentX
new file mode 100644
index 0000000000..717ce02ede
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/CustomerInfo.fragmentX
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" class="CustomerInfoImpl2" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/sca.compositeX b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/sca.compositeX
new file mode 100644
index 0000000000..bbda577c28
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeMissingScaComposite/sca.compositeX
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--
+ <component name="Calculator">
+ <implementation.cpp dll="debug/Calculator.dll" header="CalculatorImpl.h"/>
+ </component>
+ -->
+
+ <externalService name="StockQuoteService">
+ <interface.cpp header="StockQuoteService.h"/>
+ <binding.ws port="http://swanandmokashi.com#wsdl.endpoint(StockQuotes/StockQuotesSoap)"/>
+ </externalService>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.fragment
new file mode 100644
index 0000000000..5c5cb78b87
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.fragment
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" class="CustomerInfoImpl2" header="CustomerInfoImpl.h"></implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.h
new file mode 100644
index 0000000000..928480df1f
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfo.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+ virtual const char* getCustomerInformation(const char* customerID) = 0;
+
+};
+
+
+class CustomerInfoSecond
+{
+public:
+ virtual const char* getCustomerInformationSecond(const char* customerID) = 0;
+
+};
+
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.h
new file mode 100644
index 0000000000..c275383ab4
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+class CustomerInfoImpl2 : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValue.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValue.h
new file mode 100644
index 0000000000..4334c82eca
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValue.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// MyValue.h: interface for the MyValueImpl class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef MyValue_h
+#define MyValue_h
+#include <string>
+using std::string;
+class MyValue
+{
+public:
+ virtual float getMyValue(const char* customerID) = 0;
+ virtual float getMyValueS(const string& customerID) = 0;
+ virtual string getCustname(string& customerID) = 0;
+ virtual const string& getCustnamecs(string customerID) = 0;
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.componentType
new file mode 100644
index 0000000000..c4e3b35675
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.componentType
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9">
+
+ <service name="MyValueService">
+ <interface.cpp class="MyValue" header="MyValue.h">
+ </interface.cpp>
+ </service>
+
+ <reference name="customerInfo">
+ <interface.cpp header="CustomerInfo.h">
+ </interface.cpp>
+ </reference>
+
+ <reference name="stockQuote">
+ <interface.cpp header="StockQuoteService.h">
+ </interface.cpp>
+ </reference>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.hpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.hpp
new file mode 100644
index 0000000000..98a342fcb0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl.hpp
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef MyValueImpl_h
+#define MyValueImpl_h
+
+#include "MyValue.h"
+
+
+
+class MyValueImpl : public MyValue
+{
+public:
+ MyValueImpl();
+ virtual ~MyValueImpl();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname(string& customerID);
+ virtual const string& getCustnamecs(string customerID);
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..3f9feeed30
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/StockQuoteService.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/StockQuoteService.h
new file mode 100644
index 0000000000..6a8fd51534
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/StockQuoteService.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef StockQuoteService_h
+#define StockQuoteService_h
+#include <string>
+#include "commonj/sdo/sdo.h"
+using std::string;
+class StockQuoteService
+{
+public:
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes(commonj::sdo::DataObjectPtr request) = 0;
+
+};
+
+#endif // StockQuoteService_h
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/sca.composite b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/sca.composite
new file mode 100644
index 0000000000..9a5cfd8da5
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/MyValueServiceCompositeTwoClasses/sca.composite
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="MyValueServiceComposite">
+
+ <!-- Expose as a web service -->
+ <entryPoint name="MyValueServiceExport" multiplicity="1..1">
+ <interface.wsdl interface="" callbackInterface=""></interface.wsdl>
+ <binding.ws port="mvs:MyValueServiceSOAP"></binding.ws>
+ <reference>MyValueServiceComponent</reference>
+ </entryPoint>
+
+ <component name="MyValueServiceComponent">
+ <implementation.cpp dll="MyValue" header="MyValueImpl.hpp"></implementation.cpp>
+ <properties>
+ </properties>
+ <references>
+ <customerInfo>CustomerInfoComponent</customerInfo>
+ <stockQuote>StockQuoteService</stockQuote>
+ </references>
+ </component>
+
+ <!--
+ <component name="Calculator">
+ <implementation.cpp dll="debug/Calculator.dll" header="CalculatorImpl.h"/>
+ </component>
+ -->
+
+ <externalService name="StockQuoteService">
+ <interface.cpp header="StockQuoteService.h"/>
+ <binding.ws port="http://swanandmokashi.com#wsdl.endpoint(StockQuotes/StockQuotesSoap)"/>
+ </externalService>
+
+ <!--wire>
+ <source.uri>MyValueServiceComponent/customerInfo</source.uri>
+ <target.uri>CustomerInfoComponent</target.uri>
+ </wire-->
+
+</composite>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.fragment b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.fragment
new file mode 100644
index 0000000000..27d28368f5
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.fragment
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<compositeFragment xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+ xmlns:mvs="http://www.myvalue.org/MyValueService/"
+ name="CustomerInfoComponent">
+
+
+ <component name="CustomerInfoComponent">
+ <implementation.cpp dll="CustomerInfo" header="CustomerInfoImpl.h">
+ </implementation.cpp>
+ <properties>
+ <v:Fred>x</v:Fred>
+ <v:Joe>23</v:Joe>
+ <Joe>42</Joe>
+ </properties>
+ <references>
+ </references>
+ </component>
+
+</compositeFragment>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.h
new file mode 100644
index 0000000000..32bf7572dc
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfo.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef CustomerInfo_h
+#define CustomerInfo_h
+
+class CustomerInfo
+{
+public:
+ virtual const char* getCustomerInformationCharPublic(char * p1, const char* customerID ) = 0;
+ virtual const char* getCustomerInfoACharPublic(char * p1,const char*) = 0;
+ virtual const char* getCustomerInfoBCharPublic(char * p1, char* customerID ) = 0;
+
+private:
+ virtual const char* getCustomerInformationCharPrivate(char * p1, const char* customerID ) = 0;
+ virtual const char* getCustomerInfoACharPrivate(char * p1,const char*) = 0;
+ virtual const char* getCustomerInfoBCharPrivate(char * p1, char* customerID ) = 0;
+
+protected:
+ virtual const char* getCustomerInformationCharProtected(char * p1, const char* customerID ) = 0;
+ virtual const char* getCustomerInfoACharProtected(char * p1,const char*) = 0;
+ virtual const char* getCustomerInfoBCharProtected(char * p1, char* customerID ) = 0;
+
+
+};
+
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.componentType b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.componentType
new file mode 100644
index 0000000000..c2cfd3b399
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.componentType
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <service name="CustomerInfoService">
+ <interface.cpp header="/CustomerInfo.h">
+ </interface.cpp>
+ </service>
+
+ <property name="Fred" type="xs:string"/>
+ <property name="Joe" type="xs:integer" many="true"/>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.h
new file mode 100644
index 0000000000..55f5813303
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testinput/composites/SimplePublicPrivateProtectedTest/CustomerInfoImpl.h
@@ -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.
+ */
+
+/* $Rev$ $Date$ */
+
+// Class definition for the implementation
+
+#ifndef CustomerInfoImpl_h
+#define CustomerInfoImpl_h
+
+#include "CustomerInfo.h"
+
+
+
+class CustomerInfoImpl : public CustomerInfo
+{
+public:
+ CustomerInfoImpl();
+ virtual ~CustomerInfoImpl();
+ virtual const char* getCustomerInformation(const char* customerID);
+
+};
+#endif
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.cpp
new file mode 100644
index 0000000000..14bafd9ce7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.cpp
@@ -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.
+ */
+
+#include "CalculatorImpl_CalculatorService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorImpl_CalculatorService_Proxy* CalculatorImpl_CalculatorService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CalculatorImpl_CalculatorService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CalculatorImpl_CalculatorService_Proxy_Destructor(void* proxy)
+ {
+ delete (CalculatorImpl_CalculatorService_Proxy*)proxy;
+ }
+}
+
+CalculatorImpl_CalculatorService_Proxy::CalculatorImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CalculatorImpl_CalculatorService_Proxy::~CalculatorImpl_CalculatorService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+long CalculatorImpl_CalculatorService_Proxy::subtract( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("subtract");
+ operation.addParameter("a", &arg0);
+ operation.addParameter("b", &arg1);
+ long ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(long*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.h
new file mode 100644
index 0000000000..00b163ba76
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Proxy.h
@@ -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.
+ */
+
+#ifndef CalculatorImpl_CalculatorService_Proxy_h
+#define CalculatorImpl_CalculatorService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "Calculator.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CalculatorImpl_CalculatorService_Proxy : public Calculator
+{
+public:
+ CalculatorImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CalculatorImpl_CalculatorService_Proxy();
+ virtual long subtract( long a, long b);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CalculatorImpl_CalculatorService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.cpp
new file mode 100644
index 0000000000..b6e5c8a9f0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.cpp
@@ -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.
+ */
+
+#include "CalculatorImpl_CalculatorService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorImpl_CalculatorService_Wrapper* CalculatorImpl_CalculatorService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CalculatorImpl_CalculatorService_Wrapper(target);
+ }
+}
+
+CalculatorImpl_CalculatorService_Wrapper::CalculatorImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CalculatorImpl*)getImplementation();
+}
+
+CalculatorImpl_CalculatorService_Wrapper::~CalculatorImpl_CalculatorService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CalculatorImpl_CalculatorService_Wrapper::newImplementation()
+{
+ return new CalculatorImpl;
+}
+
+void CalculatorImpl_CalculatorService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CalculatorImpl_CalculatorService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "subtract")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(long*)operation.getReturnValue() = impl->subtract(p0, p1);
+ }
+ else
+ {
+ long* ret = new long;
+ *ret = impl->subtract(p0, p1);
+ operation.setReturnValue((const long*)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.h
new file mode 100644
index 0000000000..63bae2f75c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorCompositeAndComponent/expected_output/CalculatorImpl_CalculatorService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CalculatorImpl_CalculatorService_Wrapper_h
+#define CalculatorImpl_CalculatorService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CalculatorImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CalculatorImpl_CalculatorService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CalculatorImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CalculatorImpl_CalculatorService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CalculatorImpl* impl;
+};
+
+#endif // CalculatorImpl_CalculatorService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.cpp
new file mode 100644
index 0000000000..79bfdbedbb
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.cpp
@@ -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.
+ */
+
+#include "CalculatorBackImpl_CalculatorService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorBackImpl_CalculatorService_Proxy* CalculatorBackImpl_CalculatorService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CalculatorBackImpl_CalculatorService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CalculatorBackImpl_CalculatorService_Proxy_Destructor(void* proxy)
+ {
+ delete (CalculatorBackImpl_CalculatorService_Proxy*)proxy;
+ }
+}
+
+CalculatorBackImpl_CalculatorService_Proxy::CalculatorBackImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CalculatorBackImpl_CalculatorService_Proxy::~CalculatorBackImpl_CalculatorService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+long CalculatorBackImpl_CalculatorService_Proxy::subtractBack( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("subtractBack");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ long ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(long*)operation.getReturnValue();
+}
+
+long CalculatorBackImpl_CalculatorService_Proxy::addBack( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("addBack");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ long ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(long*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.h
new file mode 100644
index 0000000000..277a3afb06
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Proxy.h
@@ -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.
+ */
+
+#ifndef CalculatorBackImpl_CalculatorService_Proxy_h
+#define CalculatorBackImpl_CalculatorService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "otherSubFolder/CalculatorBack.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CalculatorBackImpl_CalculatorService_Proxy : public CalculatorBack
+{
+public:
+ CalculatorBackImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CalculatorBackImpl_CalculatorService_Proxy();
+ virtual long subtractBack( long a, long b);
+ virtual long addBack( long a, long b);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CalculatorBackImpl_CalculatorService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.cpp
new file mode 100644
index 0000000000..09dd09c01c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.cpp
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CalculatorBackImpl_CalculatorService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorBackImpl_CalculatorService_Wrapper* CalculatorBackImpl_CalculatorService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CalculatorBackImpl_CalculatorService_Wrapper(target);
+ }
+}
+
+CalculatorBackImpl_CalculatorService_Wrapper::CalculatorBackImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CalculatorBackImpl*)getImplementation();
+}
+
+CalculatorBackImpl_CalculatorService_Wrapper::~CalculatorBackImpl_CalculatorService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CalculatorBackImpl_CalculatorService_Wrapper::newImplementation()
+{
+ return new CalculatorBackImpl;
+}
+
+void CalculatorBackImpl_CalculatorService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CalculatorBackImpl_CalculatorService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "subtractBack")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(long*)operation.getReturnValue() = impl->subtractBack(p0, p1);
+ }
+ else
+ {
+ long* ret = new long;
+ *ret = impl->subtractBack(p0, p1);
+ operation.setReturnValue((const long*)ret);
+ }
+ return;
+ }
+ if (operationName == "addBack")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(long*)operation.getReturnValue() = impl->addBack(p0, p1);
+ }
+ else
+ {
+ long* ret = new long;
+ *ret = impl->addBack(p0, p1);
+ operation.setReturnValue((const long*)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.h
new file mode 100644
index 0000000000..bfa203598c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorBackImpl_CalculatorService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CalculatorBackImpl_CalculatorService_Wrapper_h
+#define CalculatorBackImpl_CalculatorService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "subFolder/CalculatorBackImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CalculatorBackImpl_CalculatorService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CalculatorBackImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CalculatorBackImpl_CalculatorService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CalculatorBackImpl* impl;
+};
+
+#endif // CalculatorBackImpl_CalculatorService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.cpp
new file mode 100644
index 0000000000..19056e836d
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.cpp
@@ -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.
+ */
+
+#include "CalculatorForwardImpl_CalculatorService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorForwardImpl_CalculatorService_Proxy* CalculatorForwardImpl_CalculatorService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CalculatorForwardImpl_CalculatorService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CalculatorForwardImpl_CalculatorService_Proxy_Destructor(void* proxy)
+ {
+ delete (CalculatorForwardImpl_CalculatorService_Proxy*)proxy;
+ }
+}
+
+CalculatorForwardImpl_CalculatorService_Proxy::CalculatorForwardImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CalculatorForwardImpl_CalculatorService_Proxy::~CalculatorForwardImpl_CalculatorService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+long CalculatorForwardImpl_CalculatorService_Proxy::subtractForward( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("subtractForward");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ long ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(long*)operation.getReturnValue();
+}
+
+long CalculatorForwardImpl_CalculatorService_Proxy::addForward( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("addForward");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ long ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(long*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.h
new file mode 100644
index 0000000000..9213ec625b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Proxy.h
@@ -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.
+ */
+
+#ifndef CalculatorForwardImpl_CalculatorService_Proxy_h
+#define CalculatorForwardImpl_CalculatorService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "otherSubFolder/CalculatorForward.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CalculatorForwardImpl_CalculatorService_Proxy : public CalculatorForward
+{
+public:
+ CalculatorForwardImpl_CalculatorService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CalculatorForwardImpl_CalculatorService_Proxy();
+ virtual long subtractForward( long a, long b);
+ virtual long addForward( long a, long b);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CalculatorForwardImpl_CalculatorService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.cpp
new file mode 100644
index 0000000000..7b1cad7770
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.cpp
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CalculatorForwardImpl_CalculatorService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CalculatorForwardImpl_CalculatorService_Wrapper* CalculatorForwardImpl_CalculatorService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CalculatorForwardImpl_CalculatorService_Wrapper(target);
+ }
+}
+
+CalculatorForwardImpl_CalculatorService_Wrapper::CalculatorForwardImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CalculatorForwardImpl*)getImplementation();
+}
+
+CalculatorForwardImpl_CalculatorService_Wrapper::~CalculatorForwardImpl_CalculatorService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CalculatorForwardImpl_CalculatorService_Wrapper::newImplementation()
+{
+ return new CalculatorForwardImpl;
+}
+
+void CalculatorForwardImpl_CalculatorService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CalculatorForwardImpl_CalculatorService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "subtractForward")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(long*)operation.getReturnValue() = impl->subtractForward(p0, p1);
+ }
+ else
+ {
+ long* ret = new long;
+ *ret = impl->subtractForward(p0, p1);
+ operation.setReturnValue((const long*)ret);
+ }
+ return;
+ }
+ if (operationName == "addForward")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(long*)operation.getReturnValue() = impl->addForward(p0, p1);
+ }
+ else
+ {
+ long* ret = new long;
+ *ret = impl->addForward(p0, p1);
+ operation.setReturnValue((const long*)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.h
new file mode 100644
index 0000000000..0cb8404ca3
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CalculatorSlashDirectionTest/expected_output/CalculatorForwardImpl_CalculatorService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CalculatorForwardImpl_CalculatorService_Wrapper_h
+#define CalculatorForwardImpl_CalculatorService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "subFolder/CalculatorForwardImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CalculatorForwardImpl_CalculatorService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CalculatorForwardImpl_CalculatorService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CalculatorForwardImpl_CalculatorService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CalculatorForwardImpl* impl;
+};
+
+#endif // CalculatorForwardImpl_CalculatorService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..85291cd069
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
@@ -0,0 +1,594 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Proxy* CustomerInfoImpl_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::~CustomerInfoImpl_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationChar( char* arg0, const char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAChar( char* arg0, const char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBChar( char* arg0, char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCChar( char* arg0, char arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDChar( char* arg0, char arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEChar( char* arg0, char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFChar( char* arg0, char* arg1, char* arg2)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ operation.addParameter(&arg2);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGChar( char* arg0, char* arg1, char* arg2, signed char* arg3)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ operation.addParameter(&arg2);
+ operation.addParameter(&arg3);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHChar( unsigned char* arg0, const char arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHChar( unsigned char* arg0, const char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHChar");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationLong(const long* arg0, const long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoALong(const long* arg0, const long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoALong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBLong( long* arg0, long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCLong( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDLong( long arg0, long arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoELong( long* arg0, long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoELong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFLong( long* arg0, long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGLong( signed long* arg0, signed long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHLong( signed long* arg0, signed long* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHLong");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationInt( char* arg0, const int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAInt( char* arg0, const int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBInt( char* arg0, int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCInt( char* arg0, int arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDInt( char* arg0, int arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEInt( char* arg0, int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFInt( char* arg0, int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGInt( char* arg0, signed int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHInt( char* arg0, unsigned int* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHInt");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationint64( Diamond& arg0, const __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAint64( Diamond& arg0, const __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBint64( Diamond& arg0, __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCint64( Diamond& arg0, __int64 arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDint64( Diamond& arg0, __int64 arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEint64( Diamond& arg0, __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFint64( Diamond& arg0, __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGint64( Diamond& arg0, signed __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHint64(const Diamond& arg0, unsigned int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHint64");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const void* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationVoid( float& arg0, const __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationVoid");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ const void* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const void**)operation.getReturnValue();
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAVoid(const float& arg0, const __int64* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAVoid");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoBVoid");
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoCVoid");
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoDVoid");
+ operation.addParameter(&arg0);
+ target->invoke(operation);
+ return;
+}
+
+char CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoEVoid");
+ operation.addParameter(&arg0);
+ char ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(char*)operation.getReturnValue();
+}
+
+char CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoFVoid");
+ char ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(char*)operation.getReturnValue();
+}
+
+char CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoGVoid");
+ operation.addParameter(&arg0);
+ char ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(char*)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAInline( int arg0, int arg1, int arg2, int arg3, char* customer arg4)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAInline");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ operation.addParameter(&arg2);
+ operation.addParameter(&arg3);
+ operation.addParameter(&arg4);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBInline( int* arg0, int* arg1, int* arg2, char* customer arg3)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBInline");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ operation.addParameter(&arg2);
+ operation.addParameter(&arg3);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+friend const unsigned int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCInline( char* customer arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCInline");
+ operation.addParameter(&arg0);
+ friend const unsigned int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(friend const unsigned int**)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoTrickyA(const char arg0, const char arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoTrickyA");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoTrickyB( int arg0, int arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoTrickyB");
+ operation.addParameter(&arg0);
+ operation.addParameter(&arg1);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..cb9e4e6e2a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformationChar( char* p1, const char* customerID);
+ virtual const char* getCustomerInfoAChar( char* p1, const char* );
+ virtual const char* getCustomerInfoBChar( char* p1, char* customerID);
+ virtual const char* getCustomerInfoCChar( char* p1, char customerID);
+ virtual const char* getCustomerInfoDChar( char* p1, char );
+ virtual const char* getCustomerInfoEChar( char* p1, char* );
+ virtual const char* getCustomerInfoFChar( char* p1, char* p1, char* customerID);
+ virtual const char* getCustomerInfoGChar( char* p1, char* , char* p1, signed char* customerID);
+ virtual const char* getCustomerInfoHChar( unsigned char* customerID, const char );
+ virtual const char* getCustomerInfoHChar( unsigned char* customerID, const char* );
+ virtual const long* getCustomerInformationLong(const long* customerID, const long* customerID);
+ virtual const long* getCustomerInfoALong(const long* , const long* );
+ virtual const long* getCustomerInfoBLong( long* customerID, long* customerID2);
+ virtual const long* getCustomerInfoCLong( long customerID, long customerID2);
+ virtual const long* getCustomerInfoDLong( long , long );
+ virtual const long* getCustomerInfoELong( long* , long* );
+ virtual const long* getCustomerInfoFLong( long* customerID, long* customerID2);
+ virtual const long* getCustomerInfoGLong( signed long* customerID, signed long* customerID2);
+ virtual const long* getCustomerInfoHLong( signed long* customerID, signed long* customerID2);
+ virtual const int* getCustomerInformationInt( char* , const int* customerID);
+ virtual const int* getCustomerInfoAInt( char* , const int* );
+ virtual const int* getCustomerInfoBInt( char* , int* customerID);
+ virtual const int* getCustomerInfoCInt( char* , int customerID);
+ virtual const int* getCustomerInfoDInt( char* , int );
+ virtual const int* getCustomerInfoEInt( char* , int* );
+ virtual const int* getCustomerInfoFInt( char* , int* customerID);
+ virtual const int* getCustomerInfoGInt( char* , signed int* customerID);
+ virtual const int* getCustomerInfoHInt( char* , unsigned int* customerID);
+ virtual const __int64* getCustomerInformationint64( Diamond& , const __int64* customerID);
+ virtual const __int64* getCustomerInfoAint64( Diamond& , const __int64* );
+ virtual const __int64* getCustomerInfoBint64( Diamond& , __int64* customerID);
+ virtual const __int64* getCustomerInfoCint64( Diamond& , __int64 customerID);
+ virtual const __int64* getCustomerInfoDint64( Diamond& myDiamond, __int64 );
+ virtual const __int64* getCustomerInfoEint64( Diamond& myDiamond, __int64* );
+ virtual const __int64* getCustomerInfoFint64( Diamond& myDiamond, __int64* customerID);
+ virtual const __int64* getCustomerInfoGint64( Diamond& myDiamond, signed __int64* customerID);
+ virtual const __int64* getCustomerInfoHint64(const Diamond& myDiamond, unsigned int64* customerID);
+ virtual const void* getCustomerInformationVoid( float& f, const __int64* customerID);
+ virtual void getCustomerInfoAVoid(const float& f, const __int64* );
+ virtual void getCustomerInfoBVoid();
+ virtual void getCustomerInfoCVoid();
+ virtual void getCustomerInfoDVoid( void );
+ virtual char getCustomerInfoEVoid( void );
+ virtual char getCustomerInfoFVoid();
+ virtual char getCustomerInfoGVoid( void );
+ virtual const char* getCustomerInfoAInline( int , int , int , int , char* customer id);
+ virtual int getCustomerInfoBInline( int* , int* f, int* g, char* customer id);
+ virtual friend const unsigned int* getCustomerInfoCInline( char* customer id);
+ virtual int getCustomerInfoTrickyA(const char , const char );
+ virtual int getCustomerInfoTrickyB( int myInt, int myInt);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..be09a57919
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
@@ -0,0 +1,872 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Wrapper* CustomerInfoImpl_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl*)getImplementation();
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::~CustomerInfoImpl_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformationChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const char* p1 = *(const char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformationChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformationChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const char* p1 = *(const char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoAChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoAChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char* p1 = *( char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoBChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoBChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char& p1 = *( char*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoCChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoCChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char& p1 = *( char*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoDChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoDChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char* p1 = *( char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoEChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoEChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char* p1 = *( char**)operation.getParameterValue(1);
+ char* p2 = *( char**)operation.getParameterValue(2);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoFChar(p0, p1, p2);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoFChar(p0, p1, p2);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char* p1 = *( char**)operation.getParameterValue(1);
+ char* p2 = *( char**)operation.getParameterValue(2);
+ signed char* p3 = *( signed char**)operation.getParameterValue(3);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoGChar(p0, p1, p2, p3);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoGChar(p0, p1, p2, p3);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHChar")
+ {
+ unsigned char* p0 = *( unsigned char**)operation.getParameterValue(0);
+ const char& p1 = *(const char*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoHChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoHChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHChar")
+ {
+ unsigned char* p0 = *( unsigned char**)operation.getParameterValue(0);
+ const char* p1 = *(const char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoHChar(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoHChar(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationLong")
+ {
+ const long* p0 = *(const long**)operation.getParameterValue(0);
+ const long* p1 = *(const long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInformationLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInformationLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoALong")
+ {
+ const long* p0 = *(const long**)operation.getParameterValue(0);
+ const long* p1 = *(const long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoALong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoALong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBLong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+ long* p1 = *( long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoBLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoBLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCLong")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoCLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoCLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDLong")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+ long& p1 = *( long*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoDLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoDLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoELong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+ long* p1 = *( long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoELong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoELong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFLong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+ long* p1 = *( long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoFLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoFLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGLong")
+ {
+ signed long* p0 = *( signed long**)operation.getParameterValue(0);
+ signed long* p1 = *( signed long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoGLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoGLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHLong")
+ {
+ signed long* p0 = *( signed long**)operation.getParameterValue(0);
+ signed long* p1 = *( signed long**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoHLong(p0, p1);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoHLong(p0, p1);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const int* p1 = *(const int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInformationInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInformationInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const int* p1 = *(const int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoAInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoAInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ int* p1 = *( int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoBInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoBInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ int& p1 = *( int*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoCInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoCInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ int& p1 = *( int*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoDInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoDInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ int* p1 = *( int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoEInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoEInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ int* p1 = *( int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoFInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoFInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ signed int* p1 = *( signed int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoGInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoGInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHInt")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ unsigned int* p1 = *( unsigned int**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoHInt(p0, p1);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoHInt(p0, p1);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ const __int64* p1 = *(const __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInformationint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInformationint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ const __int64* p1 = *(const __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoAint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoAint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ __int64* p1 = *( __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoBint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoBint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ __int64& p1 = *( __int64*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoCint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoCint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ __int64& p1 = *( __int64*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoDint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoDint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ __int64* p1 = *( __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoEint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoEint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ __int64* p1 = *( __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoFint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoFint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ signed __int64* p1 = *( signed __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoGint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoGint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHint64")
+ {
+ Diamond& p0 = *(Diamond*)operation.getParameterValue(0);
+ unsigned int64* p1 = *( unsigned int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoHint64(p0, p1);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoHint64(p0, p1);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationVoid")
+ {
+ float& p0 = *(float*)operation.getParameterValue(0);
+ const __int64* p1 = *(const __int64**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const void**)operation.getReturnValue() = impl->getCustomerInformationVoid(p0, p1);
+ }
+ else
+ {
+ const void** ret = new const void*;
+ *ret = impl->getCustomerInformationVoid(p0, p1);
+ operation.setReturnValue((const const void**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAVoid")
+ {
+ float& p0 = *(float*)operation.getParameterValue(0);
+ const __int64* p1 = *(const __int64**)operation.getParameterValue(1);
+ impl->getCustomerInfoAVoid(p0, p1);
+ return;
+ }
+ if (operationName == "getCustomerInfoBVoid")
+ {
+ impl->getCustomerInfoBVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoCVoid")
+ {
+ impl->getCustomerInfoCVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoDVoid")
+ {
+ impl->getCustomerInfoDVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoEVoid")
+ {
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(char*)operation.getReturnValue() = impl->getCustomerInfoEVoid();
+ }
+ else
+ {
+ char* ret = new char;
+ *ret = impl->getCustomerInfoEVoid();
+ operation.setReturnValue((const char*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFVoid")
+ {
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(char*)operation.getReturnValue() = impl->getCustomerInfoFVoid();
+ }
+ else
+ {
+ char* ret = new char;
+ *ret = impl->getCustomerInfoFVoid();
+ operation.setReturnValue((const char*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGVoid")
+ {
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(char*)operation.getReturnValue() = impl->getCustomerInfoGVoid();
+ }
+ else
+ {
+ char* ret = new char;
+ *ret = impl->getCustomerInfoGVoid();
+ operation.setReturnValue((const char*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAInline")
+ {
+ int& p0 = *( int*)operation.getParameterValue(0);
+ int& p1 = *( int*)operation.getParameterValue(1);
+ int& p2 = *( int*)operation.getParameterValue(2);
+ int& p3 = *( int*)operation.getParameterValue(3);
+ char* customer p4 = *( char* customer*)operation.getParameterValue(4);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoAInline(p0, p1, p2, p3, p4);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoAInline(p0, p1, p2, p3, p4);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBInline")
+ {
+ int* p0 = *( int**)operation.getParameterValue(0);
+ int* p1 = *( int**)operation.getParameterValue(1);
+ int* p2 = *( int**)operation.getParameterValue(2);
+ char* customer p3 = *( char* customer*)operation.getParameterValue(3);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoBInline(p0, p1, p2, p3);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoBInline(p0, p1, p2, p3);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCInline")
+ {
+ char* customer p0 = *( char* customer*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(friend const unsigned int**)operation.getReturnValue() = impl->getCustomerInfoCInline(p0);
+ }
+ else
+ {
+ friend const unsigned int** ret = new friend const unsigned int*;
+ *ret = impl->getCustomerInfoCInline(p0);
+ operation.setReturnValue((const friend const unsigned int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoTrickyA")
+ {
+ const char& p0 = *(const char*)operation.getParameterValue(0);
+ const char& p1 = *(const char*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoTrickyA(p0, p1);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoTrickyA(p0, p1);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoTrickyB")
+ {
+ int& p0 = *( int*)operation.getParameterValue(0);
+ int& p1 = *( int*)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoTrickyB(p0, p1);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoTrickyB(p0, p1);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..94b1d5cb4d
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplMultiParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CustomerInfoImpl* impl;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..f3b2540ba8
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
@@ -0,0 +1,504 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Proxy* CustomerInfoImpl_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::~CustomerInfoImpl_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationChar(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformationChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAChar(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBChar( char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCChar( char arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDChar( char arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEChar( char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFChar( char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGChar( signed char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHChar( unsigned char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHChar");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationLong(const long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformationLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoALong(const long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoALong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBLong( long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCLong( long arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDLong( long arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoELong( long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoELong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFLong( long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGLong( signed long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const long* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHLong( unsigned long* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHLong");
+ operation.addParameter(&arg0);
+ const long* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const long**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationInt(const int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformationInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAInt(const int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBInt( int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCInt( int arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDInt( int arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEInt( int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFInt( int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGInt( signed int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHInt( unsigned int* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHInt");
+ operation.addParameter(&arg0);
+ const int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const int**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationint64(const __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformationint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAint64(const __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBint64( __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCint64( __int64 arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDint64( __int64 arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoDint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoEint64( __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoEint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoFint64( __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoFint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoGint64( signed __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoGint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const __int64* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoHint64( unsigned int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoHint64");
+ operation.addParameter(&arg0);
+ const __int64* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const __int64**)operation.getReturnValue();
+}
+
+const void* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationVoid(const __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformationVoid");
+ operation.addParameter(&arg0);
+ const void* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const void**)operation.getReturnValue();
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAVoid(const __int64* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAVoid");
+ operation.addParameter(&arg0);
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoBVoid");
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoCVoid");
+ target->invoke(operation);
+ return;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoDVoid()
+{
+ tuscany::sca::Operation operation("getCustomerInfoDVoid");
+ operation.addParameter(&arg0);
+ target->invoke(operation);
+ return;
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoAInline( char* customer arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoAInline");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBInline( char* customer arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBInline");
+ operation.addParameter(&arg0);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+friend const unsigned int* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoCInline( char* customer arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoCInline");
+ operation.addParameter(&arg0);
+ friend const unsigned int* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(friend const unsigned int**)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoTrickyA(const char arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoTrickyA");
+ operation.addParameter(&arg0);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+int CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoTrickyB( int arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInfoTrickyB");
+ operation.addParameter(&arg0);
+ int ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(int*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..75f912d3ae
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformationChar(const char* customerID);
+ virtual const char* getCustomerInfoAChar(const char* );
+ virtual const char* getCustomerInfoBChar( char* customerID);
+ virtual const char* getCustomerInfoCChar( char customerID);
+ virtual const char* getCustomerInfoDChar( char );
+ virtual const char* getCustomerInfoEChar( char* );
+ virtual const char* getCustomerInfoFChar( char* customerID);
+ virtual const char* getCustomerInfoGChar( signed char* customerID);
+ virtual const char* getCustomerInfoHChar( unsigned char* customerID);
+ virtual const long* getCustomerInformationLong(const long* customerID);
+ virtual const long* getCustomerInfoALong(const long* );
+ virtual const long* getCustomerInfoBLong( long* customerID);
+ virtual const long* getCustomerInfoCLong( long customerID);
+ virtual const long* getCustomerInfoDLong( long );
+ virtual const long* getCustomerInfoELong( long* );
+ virtual const long* getCustomerInfoFLong( long* customerID);
+ virtual const long* getCustomerInfoGLong( signed long* customerID);
+ virtual const long* getCustomerInfoHLong( unsigned long* customerID);
+ virtual const int* getCustomerInformationInt(const int* customerID);
+ virtual const int* getCustomerInfoAInt(const int* );
+ virtual const int* getCustomerInfoBInt( int* customerID);
+ virtual const int* getCustomerInfoCInt( int customerID);
+ virtual const int* getCustomerInfoDInt( int );
+ virtual const int* getCustomerInfoEInt( int* );
+ virtual const int* getCustomerInfoFInt( int* customerID);
+ virtual const int* getCustomerInfoGInt( signed int* customerID);
+ virtual const int* getCustomerInfoHInt( unsigned int* customerID);
+ virtual const __int64* getCustomerInformationint64(const __int64* customerID);
+ virtual const __int64* getCustomerInfoAint64(const __int64* );
+ virtual const __int64* getCustomerInfoBint64( __int64* customerID);
+ virtual const __int64* getCustomerInfoCint64( __int64 customerID);
+ virtual const __int64* getCustomerInfoDint64( __int64 );
+ virtual const __int64* getCustomerInfoEint64( __int64* );
+ virtual const __int64* getCustomerInfoFint64( __int64* customerID);
+ virtual const __int64* getCustomerInfoGint64( signed __int64* customerID);
+ virtual const __int64* getCustomerInfoHint64( unsigned int64* customerID);
+ virtual const void* getCustomerInformationVoid(const __int64* customerID);
+ virtual void getCustomerInfoAVoid(const __int64* );
+ virtual void getCustomerInfoBVoid();
+ virtual void getCustomerInfoCVoid();
+ virtual void getCustomerInfoDVoid( void );
+ virtual const char* getCustomerInfoAInline( char* customer id);
+ virtual int getCustomerInfoBInline( char* customer id);
+ virtual friend const unsigned int* getCustomerInfoCInline( char* customer id);
+ virtual int getCustomerInfoTrickyA(const char );
+ virtual int getCustomerInfoTrickyB( int myInt);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..896a129145
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
@@ -0,0 +1,760 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Wrapper* CustomerInfoImpl_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl*)getImplementation();
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::~CustomerInfoImpl_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformationChar")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformationChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformationChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAChar")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoAChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoAChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoBChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoBChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCChar")
+ {
+ char& p0 = *( char*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoCChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoCChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDChar")
+ {
+ char& p0 = *( char*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoDChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoDChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoEChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoEChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFChar")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoFChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoFChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGChar")
+ {
+ signed char* p0 = *( signed char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoGChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoGChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHChar")
+ {
+ unsigned char* p0 = *( unsigned char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoHChar(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoHChar(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationLong")
+ {
+ const long* p0 = *(const long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInformationLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInformationLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoALong")
+ {
+ const long* p0 = *(const long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoALong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoALong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBLong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoBLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoBLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCLong")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoCLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoCLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDLong")
+ {
+ long& p0 = *( long*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoDLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoDLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoELong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoELong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoELong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFLong")
+ {
+ long* p0 = *( long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoFLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoFLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGLong")
+ {
+ signed long* p0 = *( signed long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoGLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoGLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHLong")
+ {
+ unsigned long* p0 = *( unsigned long**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const long**)operation.getReturnValue() = impl->getCustomerInfoHLong(p0);
+ }
+ else
+ {
+ const long** ret = new const long*;
+ *ret = impl->getCustomerInfoHLong(p0);
+ operation.setReturnValue((const const long**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationInt")
+ {
+ const int* p0 = *(const int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInformationInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInformationInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAInt")
+ {
+ const int* p0 = *(const int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoAInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoAInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBInt")
+ {
+ int* p0 = *( int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoBInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoBInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCInt")
+ {
+ int& p0 = *( int*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoCInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoCInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDInt")
+ {
+ int& p0 = *( int*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoDInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoDInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEInt")
+ {
+ int* p0 = *( int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoEInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoEInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFInt")
+ {
+ int* p0 = *( int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoFInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoFInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGInt")
+ {
+ signed int* p0 = *( signed int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoGInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoGInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHInt")
+ {
+ unsigned int* p0 = *( unsigned int**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const int**)operation.getReturnValue() = impl->getCustomerInfoHInt(p0);
+ }
+ else
+ {
+ const int** ret = new const int*;
+ *ret = impl->getCustomerInfoHInt(p0);
+ operation.setReturnValue((const const int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationint64")
+ {
+ const __int64* p0 = *(const __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInformationint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInformationint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAint64")
+ {
+ const __int64* p0 = *(const __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoAint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoAint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBint64")
+ {
+ __int64* p0 = *( __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoBint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoBint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCint64")
+ {
+ __int64& p0 = *( __int64*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoCint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoCint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoDint64")
+ {
+ __int64& p0 = *( __int64*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoDint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoDint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoEint64")
+ {
+ __int64* p0 = *( __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoEint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoEint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoFint64")
+ {
+ __int64* p0 = *( __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoFint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoFint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoGint64")
+ {
+ signed __int64* p0 = *( signed __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoGint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoGint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoHint64")
+ {
+ unsigned int64* p0 = *( unsigned int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const __int64**)operation.getReturnValue() = impl->getCustomerInfoHint64(p0);
+ }
+ else
+ {
+ const __int64** ret = new const __int64*;
+ *ret = impl->getCustomerInfoHint64(p0);
+ operation.setReturnValue((const const __int64**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInformationVoid")
+ {
+ const __int64* p0 = *(const __int64**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const void**)operation.getReturnValue() = impl->getCustomerInformationVoid(p0);
+ }
+ else
+ {
+ const void** ret = new const void*;
+ *ret = impl->getCustomerInformationVoid(p0);
+ operation.setReturnValue((const const void**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoAVoid")
+ {
+ const __int64* p0 = *(const __int64**)operation.getParameterValue(0);
+ impl->getCustomerInfoAVoid(p0);
+ return;
+ }
+ if (operationName == "getCustomerInfoBVoid")
+ {
+ impl->getCustomerInfoBVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoCVoid")
+ {
+ impl->getCustomerInfoCVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoDVoid")
+ {
+ impl->getCustomerInfoDVoid();
+ return;
+ }
+ if (operationName == "getCustomerInfoAInline")
+ {
+ char* customer p0 = *( char* customer*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoAInline(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoAInline(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBInline")
+ {
+ char* customer p0 = *( char* customer*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoBInline(p0);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoBInline(p0);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoCInline")
+ {
+ char* customer p0 = *( char* customer*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(friend const unsigned int**)operation.getReturnValue() = impl->getCustomerInfoCInline(p0);
+ }
+ else
+ {
+ friend const unsigned int** ret = new friend const unsigned int*;
+ *ret = impl->getCustomerInfoCInline(p0);
+ operation.setReturnValue((const friend const unsigned int**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoTrickyA")
+ {
+ const char& p0 = *(const char*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoTrickyA(p0);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoTrickyA(p0);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoTrickyB")
+ {
+ int& p0 = *( int*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(int*)operation.getReturnValue() = impl->getCustomerInfoTrickyB(p0);
+ }
+ else
+ {
+ int* ret = new int;
+ *ret = impl->getCustomerInfoTrickyB(p0);
+ operation.setReturnValue((const int*)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..94b1d5cb4d
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/CustomerInfoImplSingleParamDiffTypesTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CustomerInfoImpl* impl;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..6f2c95f45b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl2_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl2_CustomerInfoService_Proxy* CustomerInfoImpl2_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl2_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl2_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl2_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl2_CustomerInfoService_Proxy::CustomerInfoImpl2_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl2_CustomerInfoService_Proxy::~CustomerInfoImpl2_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl2_CustomerInfoService_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter("customerID", &arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..594f404d13
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl2_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl2_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl2_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl2_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl2_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl2_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..57add811a2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl2_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl2_CustomerInfoService_Wrapper* CustomerInfoImpl2_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl2_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl2_CustomerInfoService_Wrapper::CustomerInfoImpl2_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl2*)getImplementation();
+}
+
+CustomerInfoImpl2_CustomerInfoService_Wrapper::~CustomerInfoImpl2_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl2_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl2;
+}
+
+void CustomerInfoImpl2_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl2_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformation")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformation(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformation(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..b85533cfd4
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl2_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl2_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl2_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CustomerInfoImpl2* impl;
+};
+
+#endif // CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..b0d9424ad4
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValue(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValue");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueS(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueS");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustname( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustname");
+ operation.addParameter("customerID", &arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecs( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecs");
+ operation.addParameter("customerID", &arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..d61c806e44
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname( string& customerID);
+ virtual const string& getCustnamecs( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..7f38178f9c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValue")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValue(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValue(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueS")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueS(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueS(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustname")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustname(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustname(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecs")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecs(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..d3eef80e8f
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.cpp
new file mode 100644
index 0000000000..e6800aa311
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_customerInfo_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_customerInfo_Proxy* MyValueImpl_customerInfo_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_customerInfo_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_customerInfo_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_customerInfo_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_customerInfo_Proxy::MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_customerInfo_Proxy::~MyValueImpl_customerInfo_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* MyValueImpl_customerInfo_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter("customerID", &arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.h
new file mode 100644
index 0000000000..3d1d279b7c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_customerInfo_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_customerInfo_Proxy_h
+#define MyValueImpl_customerInfo_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_customerInfo_Proxy : public CustomerInfo
+{
+public:
+ MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_customerInfo_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_customerInfo_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.cpp
new file mode 100644
index 0000000000..d3fd4fbaf0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_stockQuote_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_stockQuote_Proxy* MyValueImpl_stockQuote_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_stockQuote_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_stockQuote_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_stockQuote_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_stockQuote_Proxy::MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_stockQuote_Proxy::~MyValueImpl_stockQuote_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+commonj::sdo::DataObjectPtr MyValueImpl_stockQuote_Proxy::GetStockQuotes( commonj::sdo::DataObjectPtr arg0)
+{
+ tuscany::sca::Operation operation("GetStockQuotes");
+ operation.addParameter("request", &arg0);
+ commonj::sdo::DataObjectPtr ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(commonj::sdo::DataObjectPtr*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..ad5cee3ca7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceComposite/expected_output/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes( commonj::sdo::DataObjectPtr request);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..95c63da613
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Proxy* CustomerInfoImpl_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::~CustomerInfoImpl_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter("customerID", &arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..2bf1b90e87
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..b32cf3863a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+using Other::CustomerInfoImpl;
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Wrapper* CustomerInfoImpl_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl*)getImplementation();
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::~CustomerInfoImpl_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformation")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformation(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformation(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..82995c96b0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ Other::CustomerInfoImpl* impl;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..b0d9424ad4
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValue(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValue");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueS(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueS");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustname( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustname");
+ operation.addParameter("customerID", &arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecs( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecs");
+ operation.addParameter("customerID", &arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..d61c806e44
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname( string& customerID);
+ virtual const string& getCustnamecs( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..ac104f9aaf
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+using Other::MyValueImpl;
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValue")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValue(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValue(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueS")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueS(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueS(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustname")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustname(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustname(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecs")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecs(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..df388bf43d
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ Other::MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.cpp
new file mode 100644
index 0000000000..e6800aa311
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_customerInfo_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_customerInfo_Proxy* MyValueImpl_customerInfo_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_customerInfo_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_customerInfo_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_customerInfo_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_customerInfo_Proxy::MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_customerInfo_Proxy::~MyValueImpl_customerInfo_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* MyValueImpl_customerInfo_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter("customerID", &arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.h
new file mode 100644
index 0000000000..3d1d279b7c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_customerInfo_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_customerInfo_Proxy_h
+#define MyValueImpl_customerInfo_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_customerInfo_Proxy : public CustomerInfo
+{
+public:
+ MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_customerInfo_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_customerInfo_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.cpp
new file mode 100644
index 0000000000..d3fd4fbaf0
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_stockQuote_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_stockQuote_Proxy* MyValueImpl_stockQuote_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_stockQuote_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_stockQuote_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_stockQuote_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_stockQuote_Proxy::MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_stockQuote_Proxy::~MyValueImpl_stockQuote_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+commonj::sdo::DataObjectPtr MyValueImpl_stockQuote_Proxy::GetStockQuotes( commonj::sdo::DataObjectPtr arg0)
+{
+ tuscany::sca::Operation operation("GetStockQuotes");
+ operation.addParameter("request", &arg0);
+ commonj::sdo::DataObjectPtr ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(commonj::sdo::DataObjectPtr*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..ad5cee3ca7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespace/expected_output/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes( commonj::sdo::DataObjectPtr request);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..21d956f547
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueOther(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValueOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueSOther(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueSOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustnameOther( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustnameOther");
+ operation.addParameter("customerID", &arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecsOther( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecsOther");
+ operation.addParameter("customerID", &arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..bb92aa0556
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValueOther(const char* customerID);
+ virtual float getMyValueSOther(const string& customerID);
+ virtual string getCustnameOther( string& customerID);
+ virtual const string& getCustnamecsOther( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..de0f0a0563
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+using myvaluecorp::implns::MyValueImpl;
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValueOther")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueSOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueSOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueSOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnameOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustnameOther(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustnameOther(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecsOther")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecsOther(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..cfc7c4c07a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeImplClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ myvaluecorp::implns::MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..21d956f547
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueOther(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValueOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueSOther(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueSOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustnameOther( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustnameOther");
+ operation.addParameter("customerID", &arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecsOther( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecsOther");
+ operation.addParameter("customerID", &arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..210da9a64c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public Other::MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValueOther(const char* customerID);
+ virtual float getMyValueSOther(const string& customerID);
+ virtual string getCustnameOther( string& customerID);
+ virtual const string& getCustnamecsOther( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..f84fcf496b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValueOther")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueSOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueSOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueSOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnameOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustnameOther(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustnameOther(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecsOther")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecsOther(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..d3eef80e8f
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespace/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..21d956f547
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueOther(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValueOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueSOther(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueSOther");
+ operation.addParameter("customerID", &arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustnameOther( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustnameOther");
+ operation.addParameter("customerID", &arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecsOther( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecsOther");
+ operation.addParameter("customerID", &arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..210da9a64c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public Other::MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValueOther(const char* customerID);
+ virtual float getMyValueSOther(const string& customerID);
+ virtual string getCustnameOther( string& customerID);
+ virtual const string& getCustnamecsOther( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..f84fcf496b
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValueOther")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueSOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueSOther(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueSOther(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnameOther")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustnameOther(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustnameOther(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecsOther")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecsOther(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..d3eef80e8f
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeIntfClassWithNamespaceButNotInClassAttr/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..543b370282
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl2_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl2_CustomerInfoService_Proxy* CustomerInfoImpl2_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl2_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl2_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl2_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl2_CustomerInfoService_Proxy::CustomerInfoImpl2_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl2_CustomerInfoService_Proxy::~CustomerInfoImpl2_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl2_CustomerInfoService_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..594f404d13
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl2_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl2_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl2_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl2_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl2_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl2_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..191dd3eed2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl2_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+using myvaluecorp::implns::CustomerInfoImpl2;
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl2_CustomerInfoService_Wrapper* CustomerInfoImpl2_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl2_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl2_CustomerInfoService_Wrapper::CustomerInfoImpl2_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl2*)getImplementation();
+}
+
+CustomerInfoImpl2_CustomerInfoService_Wrapper::~CustomerInfoImpl2_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl2_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl2;
+}
+
+void CustomerInfoImpl2_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl2_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformation")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformation(p0);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformation(p0);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..a57f5c4613
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/CustomerInfoImpl2_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl2_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl2_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl2_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ myvaluecorp::implns::CustomerInfoImpl2* impl;
+};
+
+#endif // CustomerInfoImpl2_CustomerInfoService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.cpp
new file mode 100644
index 0000000000..fe996eabdb
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.cpp
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "MyValueImpl_MyValueService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Proxy* MyValueImpl_MyValueService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_MyValueService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_MyValueService_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_MyValueService_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_MyValueService_Proxy::MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_MyValueService_Proxy::~MyValueImpl_MyValueService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValue(const char* arg0)
+{
+ tuscany::sca::Operation operation("getMyValue");
+ operation.addParameter(&arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+float MyValueImpl_MyValueService_Proxy::getMyValueS(const string& arg0)
+{
+ tuscany::sca::Operation operation("getMyValueS");
+ operation.addParameter(&arg0);
+ float ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(float*)operation.getReturnValue();
+}
+
+string MyValueImpl_MyValueService_Proxy::getCustname( string& arg0)
+{
+ tuscany::sca::Operation operation("getCustname");
+ operation.addParameter(&arg0);
+ string ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(string*)operation.getReturnValue();
+}
+
+const string& MyValueImpl_MyValueService_Proxy::getCustnamecs( string arg0)
+{
+ tuscany::sca::Operation operation("getCustnamecs");
+ operation.addParameter(&arg0);
+ target->invoke(operation);
+ return *(const string*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.h
new file mode 100644
index 0000000000..d61c806e44
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Proxy_h
+#define MyValueImpl_MyValueService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValue.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Proxy : public MyValue
+{
+public:
+ MyValueImpl_MyValueService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_MyValueService_Proxy();
+ virtual float getMyValue(const char* customerID);
+ virtual float getMyValueS(const string& customerID);
+ virtual string getCustname( string& customerID);
+ virtual const string& getCustnamecs( string customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_MyValueService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
new file mode 100644
index 0000000000..5bbd07a72a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_MyValueService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+using myvaluecorp::implns::MyValueImpl;
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_MyValueService_Wrapper* MyValueImpl_MyValueService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new MyValueImpl_MyValueService_Wrapper(target);
+ }
+}
+
+MyValueImpl_MyValueService_Wrapper::MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (MyValueImpl*)getImplementation();
+}
+
+MyValueImpl_MyValueService_Wrapper::~MyValueImpl_MyValueService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* MyValueImpl_MyValueService_Wrapper::newImplementation()
+{
+ return new MyValueImpl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void MyValueImpl_MyValueService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getMyValue")
+ {
+ const char* p0 = *(const char**)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValue(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValue(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getMyValueS")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(float*)operation.getReturnValue() = impl->getMyValueS(p0);
+ }
+ else
+ {
+ float* ret = new float;
+ *ret = impl->getMyValueS(p0);
+ operation.setReturnValue((const float*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustname")
+ {
+ string& p0 = *(string*)operation.getParameterValue(0);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(string*)operation.getReturnValue() = impl->getCustname(p0);
+ }
+ else
+ {
+ string* ret = new string;
+ *ret = impl->getCustname(p0);
+ operation.setReturnValue((const string*)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustnamecs")
+ {
+ string& p0 = *( string*)operation.getParameterValue(0);
+ const string& ret = impl->getCustnamecs(p0);
+ operation.setReturnValue(&ret);
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.h
new file mode 100644
index 0000000000..cfc7c4c07a
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_MyValueService_Wrapper.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_MyValueService_Wrapper_h
+#define MyValueImpl_MyValueService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "MyValueImpl.hpp"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class MyValueImpl_MyValueService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ MyValueImpl_MyValueService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~MyValueImpl_MyValueService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ myvaluecorp::implns::MyValueImpl* impl;
+};
+
+#endif // MyValueImpl_MyValueService_Wrapper_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.cpp
new file mode 100644
index 0000000000..ffcc1d0003
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_customerInfo_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_customerInfo_Proxy* MyValueImpl_customerInfo_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_customerInfo_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_customerInfo_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_customerInfo_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_customerInfo_Proxy::MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_customerInfo_Proxy::~MyValueImpl_customerInfo_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* MyValueImpl_customerInfo_Proxy::getCustomerInformation(const char* arg0)
+{
+ tuscany::sca::Operation operation("getCustomerInformation");
+ operation.addParameter(&arg0);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.h
new file mode 100644
index 0000000000..3d1d279b7c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_customerInfo_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_customerInfo_Proxy_h
+#define MyValueImpl_customerInfo_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_customerInfo_Proxy : public CustomerInfo
+{
+public:
+ MyValueImpl_customerInfo_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_customerInfo_Proxy();
+ virtual const char* getCustomerInformation(const char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_customerInfo_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.cpp
new file mode 100644
index 0000000000..6e4d0600bd
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.cpp
@@ -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.
+ */
+
+#include "MyValueImpl_stockQuote_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ MyValueImpl_stockQuote_Proxy* MyValueImpl_stockQuote_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new MyValueImpl_stockQuote_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void MyValueImpl_stockQuote_Proxy_Destructor(void* proxy)
+ {
+ delete (MyValueImpl_stockQuote_Proxy*)proxy;
+ }
+}
+
+MyValueImpl_stockQuote_Proxy::MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+MyValueImpl_stockQuote_Proxy::~MyValueImpl_stockQuote_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+commonj::sdo::DataObjectPtr MyValueImpl_stockQuote_Proxy::GetStockQuotes( commonj::sdo::DataObjectPtr arg0)
+{
+ tuscany::sca::Operation operation("GetStockQuotes");
+ operation.addParameter(&arg0);
+ commonj::sdo::DataObjectPtr ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(commonj::sdo::DataObjectPtr*)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.h
new file mode 100644
index 0000000000..ad5cee3ca7
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/MyValueServiceCompositeTwoClasses/expected_output/MyValueImpl_stockQuote_Proxy.h
@@ -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.
+ */
+
+#ifndef MyValueImpl_stockQuote_Proxy_h
+#define MyValueImpl_stockQuote_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "StockQuoteService.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class MyValueImpl_stockQuote_Proxy : public StockQuoteService
+{
+public:
+ MyValueImpl_stockQuote_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~MyValueImpl_stockQuote_Proxy();
+ virtual commonj::sdo::DataObjectPtr GetStockQuotes( commonj::sdo::DataObjectPtr request);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // MyValueImpl_stockQuote_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
new file mode 100644
index 0000000000..4c3d626bfb
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Proxy.h"
+
+#include "osoa/sca/sca.h"
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Proxy* CustomerInfoImpl_CustomerInfoService_Proxy_Factory(tuscany::sca::ServiceWrapper* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Proxy(target);
+ }
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void CustomerInfoImpl_CustomerInfoService_Proxy_Destructor(void* proxy)
+ {
+ delete (CustomerInfoImpl_CustomerInfoService_Proxy*)proxy;
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper* targ) : target(targ)
+{
+}
+
+CustomerInfoImpl_CustomerInfoService_Proxy::~CustomerInfoImpl_CustomerInfoService_Proxy()
+{
+ if (target)
+ delete target;
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformationCharPublic( char* arg0, const char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInformationCharPublic");
+ operation.addParameter("p1", &arg0);
+ operation.addParameter("customerID", &arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoACharPublic( char* arg0, const char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoACharPublic");
+ operation.addParameter("p1", &arg0);
+ operation.addParameter("", &arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+const char* CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInfoBCharPublic( char* arg0, char* arg1)
+{
+ tuscany::sca::Operation operation("getCustomerInfoBCharPublic");
+ operation.addParameter("p1", &arg0);
+ operation.addParameter("customerID", &arg1);
+ const char* ret;
+ operation.setReturnValue(&ret);
+ target->invoke(operation);
+ return *(const char**)operation.getReturnValue();
+}
+
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
new file mode 100644
index 0000000000..a9b56bdb5c
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Proxy.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Proxy_h
+#define CustomerInfoImpl_CustomerInfoService_Proxy_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "/CustomerInfo.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Proxy : public CustomerInfo
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Proxy(tuscany::sca::ServiceWrapper*);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Proxy();
+ virtual const char* getCustomerInformationCharPublic( char* p1, const char* customerID);
+ virtual const char* getCustomerInfoACharPublic( char* p1, const char* );
+ virtual const char* getCustomerInfoBCharPublic( char* p1, char* customerID);
+private:
+ tuscany::sca::ServiceWrapper* target;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Proxy_h
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
new file mode 100644
index 0000000000..2aa9fcbdf2
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
@@ -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.
+ */
+
+#include "CustomerInfoImpl_CustomerInfoService_Wrapper.h"
+
+#include "osoa/sca/sca.h"
+
+
+
+extern "C"
+{
+
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ CustomerInfoImpl_CustomerInfoService_Wrapper* CustomerInfoImpl_CustomerInfoService_Wrapper_Factory(tuscany::sca::model::Service* target)
+ {
+ return new CustomerInfoImpl_CustomerInfoService_Wrapper(target);
+ }
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target) : tuscany::sca::cpp::CPPServiceWrapper(target)
+{
+ impl = (CustomerInfoImpl*)getImplementation();
+}
+
+CustomerInfoImpl_CustomerInfoService_Wrapper::~CustomerInfoImpl_CustomerInfoService_Wrapper()
+{
+ releaseImplementation();
+}
+
+void* CustomerInfoImpl_CustomerInfoService_Wrapper::newImplementation()
+{
+ return new CustomerInfoImpl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::deleteImplementation()
+{
+ delete impl;
+}
+
+void CustomerInfoImpl_CustomerInfoService_Wrapper::invokeService(tuscany::sca::Operation& operation)
+{
+ const std::string& operationName = operation.getName();
+
+ if (operationName == "getCustomerInformationCharPublic")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const char* p1 = *(const char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInformationCharPublic(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInformationCharPublic(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoACharPublic")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ const char* p1 = *(const char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoACharPublic(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoACharPublic(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+ if (operationName == "getCustomerInfoBCharPublic")
+ {
+ char* p0 = *( char**)operation.getParameterValue(0);
+ char* p1 = *( char**)operation.getParameterValue(1);
+
+ if(operation.getReturnValue() != NULL)
+ {
+ *(const char**)operation.getReturnValue() = impl->getCustomerInfoBCharPublic(p0, p1);
+ }
+ else
+ {
+ const char** ret = new const char*;
+ *ret = impl->getCustomerInfoBCharPublic(p0, p1);
+ operation.setReturnValue((const const char**)ret);
+ }
+ return;
+ }
+
+
+ throw osoa::sca::ServiceRuntimeException("Invalid operation");
+
+}
+
diff --git a/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
new file mode 100644
index 0000000000..94b1d5cb4d
--- /dev/null
+++ b/sca-cpp/trunk/contrib/runtime/extensions/cpp/tools/scagen/junit/testoutput/SimplePublicPrivateProtectedTest/expected_output/CustomerInfoImpl_CustomerInfoService_Wrapper.h
@@ -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.
+ */
+
+#ifndef CustomerInfoImpl_CustomerInfoService_Wrapper_h
+#define CustomerInfoImpl_CustomerInfoService_Wrapper_h
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4786)
+#endif
+
+#include "CustomerInfoImpl.h"
+#include "tuscany/sca/cpp/CPPServiceWrapper.h"
+
+class CustomerInfoImpl_CustomerInfoService_Wrapper : public tuscany::sca::cpp::CPPServiceWrapper
+{
+public:
+ CustomerInfoImpl_CustomerInfoService_Wrapper(tuscany::sca::model::Service* target);
+ virtual ~CustomerInfoImpl_CustomerInfoService_Wrapper();
+ virtual void invokeService(tuscany::sca::Operation& operation);
+ virtual void* newImplementation();
+ virtual void deleteImplementation();
+private:
+ CustomerInfoImpl* impl;
+};
+
+#endif // CustomerInfoImpl_CustomerInfoService_Wrapper_h
+