Author: ajborley
Date: Wed Sep 13 06:07:32 2006
New Revision: 442977

URL: http://svn.apache.org/viewvc?view=rev&rev=442977
Log:
Converted to a Python-only sample that demonstrates using new support for 
references and clients using locateService

Added:
    incubator/tuscany/cpp/sca/samples/PythonCalculator/deploy.cmd
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py
Removed:
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Calculator.h
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/CalculatorClient.cpp
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Calculator.h
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.cpp
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.h
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Divide.h
Modified:
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Makefile.am
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.bat
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.sh
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.componentType
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.componentType
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Makefile.am
    
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/sample.calculator.composite

Added: incubator/tuscany/cpp/sca/samples/PythonCalculator/deploy.cmd
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/deploy.cmd?view=auto&rev=442977
==============================================================================
--- incubator/tuscany/cpp/sca/samples/PythonCalculator/deploy.cmd (added)
+++ incubator/tuscany/cpp/sca/samples/PythonCalculator/deploy.cmd Wed Sep 13 
06:07:32 2006
@@ -0,0 +1,47 @@
[EMAIL PROTECTED] off

+

[EMAIL PROTECTED]  Copyright 2006 The Apache Software Foundation or its 
licensors, as applicable.

[EMAIL PROTECTED]

[EMAIL PROTECTED]  Licensed under the Apache License, Version 2.0 (the 
"License");

[EMAIL PROTECTED]  you may not use this file except in compliance with the 
License.

[EMAIL PROTECTED]  You may obtain a copy of the License at

[EMAIL PROTECTED]

[EMAIL PROTECTED]     http://www.apache.org/licenses/LICENSE-2.0

[EMAIL PROTECTED]

[EMAIL PROTECTED]  Unless required by applicable law or agreed to in writing, 
software

[EMAIL PROTECTED]  distributed under the License is distributed on an "AS IS" 
BASIS,

[EMAIL PROTECTED]  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.

[EMAIL PROTECTED]  See the License for the specific language governing 
permissions and

[EMAIL PROTECTED]  limitations under the License.

+

+rem Will copy the correct files from the source tree for packaging and 
deployment of the 

+rem SCA sample.

+setlocal

+set currentPath=%~d0%~p0

+set sourcePath=%currentPath%

+

+if . == %2. (

+set destinationPath=%sourcePath%\deploy

+) ELSE (

+set destinationPath=%2

+)

+

+if not exist %destinationPath%\packages mkdir %destinationPath%\packages 

+if not exist %destinationPath%\packages\sample.calculator mkdir 
%destinationPath%\packages\sample.calculator

+

+copy %sourcePath%\sample.calculator\*.componentType 
%destinationPath%\packages\sample.calculator

+copy %sourcePath%\sample.calculator\*.composite 
%destinationPath%\packages\sample.calculator

+copy %sourcePath%\sample.calculator\*.py 
%destinationPath%\packages\sample.calculator

+copy %sourcePath%\sample.calculator\Calculator.wsdl 
%destinationPath%\packages\sample.calculator

+

+if not exist %destinationPath%\bin mkdir %destinationPath%\bin

+copy %sourcePath%\sample.calculator.client\calculator_client.py   
%destinationPath%\bin

+copy %sourcePath%\sample.calculator.client\runclient.bat   
%destinationPath%\bin

+

+

+if not exist %destinationPath%\configuration mkdir 
%destinationPath%\configuration

+if not exist %destinationPath%\configuration\sample.calculator.solution mkdir 
%destinationPath%\configuration\sample.calculator.solution

+

+copy %sourcePath%\sample.calculator.solution\*.composite 
%destinationPath%\configuration\sample.calculator.solution

+

+endlocal


Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Makefile.am
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Makefile.am?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Makefile.am
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/Makefile.am
 Wed Sep 13 06:07:32 2006
@@ -1,34 +1,5 @@
 deploydir=$(prefix)/samples/PythonCalculator/deploy
 prgbindir=$(deploydir)/bin
 
-prgbin_PROGRAMS = calculator_client
-prgbin_SCRIPTS = runclient.sh
-EXTRA_DIST = runclient.sh
-
-AM_CPPFLAGS = $(CPPFLAGS)
-calculator_client_SOURCES = \
-CalculatorClient.cpp
-
-calculator_client_LDADD = \
--L${TUSCANY_SCACPP}/lib \
-  -ltuscany_sca \
--L${TUSCANY_SCACPP}/extensions/cpp/lib \
-  -ltuscany_sca_cpp \
--L${TUSCANY_SDOCPP}/lib \
-  -ltuscany_sdo \
-  -ltuscany_sdo_axiom \
--L$(AXIS2C_HOME)/lib \
-  -laxis2_util \
-  -laxis2_axiom \
-  -laxis2_wsdl \
-  -laxis2_engine \
-  -laxis2_parser \
-  -laxis2_minizip \
-  -lpthread \
-  -laxis2_http_sender \
-  -laxis2_http_receiver
-       
-INCLUDES = \
--I$(TUSCANY_SCACPP)/extensions/cpp/include \
--I${TUSCANY_SCACPP}/include \
--I${TUSCANY_SDOCPP}/include
+prgbin_SCRIPTS = runclient.sh *.py
+EXTRA_DIST = runclient.sh *.py

Added: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py?view=auto&rev=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
 (added)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
 Wed Sep 13 06:07:32 2006
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+# 

+#    http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+#

+#

+# 

+# 

+# This Python code is a simple sample that provides a Python 

+# client for the Calculator sample

+ 

+

+import sys

+import TuscanySCA

+

+op = sys.argv[1]

+val1 = sys.argv[2]

+val2 = sys.argv[3]

+

+# Locate the calculator service

+calc = TuscanySCA.locateService("CalculatorComponent/CalculatorService")

+

+# Invoke the calculator operations

+if op == 'add':

+    result = calc.add(val1, val2)

+

+elif op == 'sub':

+    result = calc.sub(val1, val2)

+

+elif op == 'mul':

+    result = calc.mul(val1, val2)

+

+elif op == 'div':

+    result = calc.div(val1, val2)

+

+

+print "calculator_client: ",op,"(",val1,",",val2,") = ",result

+


Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.bat
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.bat?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.bat
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.bat
 Wed Sep 13 06:07:32 2006
@@ -37,11 +37,12 @@
 set TUSCANY_SCACPP_SYSTEM_ROOT=%~d0%~p0\..\
 set TUSCANY_SCACPP_DEFAULT_COMPONENT=sample.calculator.CalculatorComponent
 
-set 
PATH=%TUSCANY_SCACPP%\bin;%TUSCANY_SCACPP%\extensions\cpp\bin;%TUSCANY_SDOCPP%\bin;%AXIS2C_HOME%\lib;%PATH%
+set 
PATH=%TUSCANY_SCACPP%\bin;%TUSCANY_SCACPP%\extensions\python\bin;%TUSCANY_SDOCPP%\bin;%AXIS2C_HOME%\lib;%PATH%
 
-.\calculator_client.exe add 4.7 9
-.\calculator_client.exe div 7.2 3.6
-.\calculator_client.exe mul 7 6
 
+python calculator_client.py add 4.7 9   
+python calculator_client.py div 7.2 3.6 
+python calculator_client.py mul 7 6 
+    
 :end
 endlocal

Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.sh
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.sh?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.sh
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/runclient.sh
 Wed Sep 13 06:07:32 2006
@@ -36,12 +36,13 @@
 
 TEST_SYSTEM=$APFULLDIR/../
 
-export 
LD_LIBRARY_PATH=$TUSCANY_SCACPP/lib:$TUSCANY_SCACPP/extensions/cpp/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
+export 
LD_LIBRARY_PATH=$TUSCANY_SCACPP/lib:$TUSCANY_SCACPP/extensions/python/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
 
 export TUSCANY_SCACPP_SYSTEM_ROOT=$TEST_SYSTEM
 export TUSCANY_SCACPP_DEFAULT_COMPONENT=sample.calculator.CalculatorComponent
 
-./calculator_client add 4.7 9
-./calculator_client div 7.2 3.6
-./calculator_client mul 7 6
+python calculator_client.py add 4.7 9   
+python calculator_client.py div 7.2 3.6 
+python calculator_client.py mul 7 6 
+    
 

Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.componentType
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.componentType?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.componentType
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.componentType
 Wed Sep 13 06:07:32 2006
@@ -18,11 +18,11 @@
 <componentType xmlns="http://www.osoa.org/xmlns/sca/1.0";>
 
        <service name="CalculatorService">
-               <interface.cpp header="Calculator.h"/>
+               <interface.python/>
        </service>
 
     <reference name="divideService">
-               <interface.cpp header="Divide.h"/>
+               <interface.python/>
        </reference>
 
 </componentType>

Added: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py?view=auto&rev=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py
 (added)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py
 Wed Sep 13 06:07:32 2006
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+# 

+#    http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+#

+#

+# 

+# 

+# This Python code is a simple sample that provides a Python implementation of 

+# the Calculator sample

+# 

+ 

+

+# The module-level add function

+def add(val1, val2):

+    result = float(val1) + float(val2)

+    print "Python - CalculatorImpl.add " + str(val1) + " + " + str(val2) + " = 
" + str(result)

+    return result

+

+# The module-level sub function

+def sub(val1, val2):

+    result = float(val1) - float(val2)

+    print "Python - CalculatorImpl.sub " + str(val1) + " - " + str(val2) + " = 
" + str(result)

+    return result

+

+# The module-level mul function

+def mul(val1, val2):

+    result = float(val1) * float(val2)

+    print "Python - CalculatorImpl.mul " + str(val1) + " * " + str(val2) + " = 
" + str(result)

+    return result

+

+# The module-level div function

+def div(val1, val2):

+    

+

+    print "Python - CalculatorImpl.div calling divideService to determine " + 
str(val1) + " / " + str(val2)

+

+    # Use the divideService reference

+    result = divideService.divide(val1, val2)

+

+    print "Python - CalculatorImpl.div divideService returned " + str(result)

+

+    return result

+


Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.componentType
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.componentType?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.componentType
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.componentType
 Wed Sep 13 06:07:32 2006
@@ -18,7 +18,7 @@
 <componentType xmlns="http://www.osoa.org/xmlns/sca/1.0";>
 
        <service name="DivideService">
-               <interface.cpp header="Divide.h"/>
+               <interface.python/>
        </service>
 
 </componentType>

Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Makefile.am
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Makefile.am?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Makefile.am
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/Makefile.am
 Wed Sep 13 06:07:32 2006
@@ -1,32 +1,6 @@
 deploydir=$(prefix)/samples/PythonCalculator/deploy
 compositedir=$(deploydir)/packages/sample.calculator
 
-BUILT_SOURCES = CalculatorImpl_CalculatorService_Proxy.cpp \
-CalculatorImpl_CalculatorService_Wrapper.cpp \
-CalculatorImpl_divideService_Proxy.cpp
-
-noinst_HEADERS = *.h
-
-${BUILT_SOURCES}: sample.calculator.composite
-       java -jar $(TUSCANY_SCACPP)/bin/scagen.jar -dir . -output .
-
-composite_LTLIBRARIES = libCalculator.la
 composite_DATA = *.composite *.componentType *.wsdl *.py
 EXTRA_DIST = *.composite *.componentType *.wsdl *.py
 
-libCalculator_la_SOURCES = \
-CalculatorImpl.cpp \
-CalculatorImpl_CalculatorService_Proxy.cpp \
-CalculatorImpl_CalculatorService_Wrapper.cpp \
-CalculatorImpl_divideService_Proxy.cpp
-
-libCalculator_la_LIBADD = \
--L${TUSCANY_SCACPP}/lib \
-  -ltuscany_sca \
--L${TUSCANY_SCACPP}/extensions/cpp/lib \
-  -ltuscany_sca_cpp
-
-INCLUDES = \
--I$(TUSCANY_SCACPP)/extensions/cpp/include \
--I$(TUSCANY_SCACPP)/include \
--I${TUSCANY_SDOCPP}/include

Modified: 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/sample.calculator.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/sample.calculator.composite?view=diff&rev=442977&r1=442976&r2=442977
==============================================================================
--- 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/sample.calculator.composite
 (original)
+++ 
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/sample.calculator.composite
 Wed Sep 13 06:07:32 2006
@@ -19,18 +19,18 @@
        name="sample.calculator">
 
        <service name="CalculatorService">
-               <interface.wsdl 
interface="http://sample/calculator#wsdl.interface(Calculator)"/>
-               <binding.ws/>
+               <interface.wsdl 
interface="http://sample/calculator#wsdl.interface(CalculatorPortType)"/>
+               <binding.ws 
port="http://sample/calculator#wsdl.endpoint(CalculatorService/CalculatorPort)"/>
                <reference>CalculatorComponent/CalculatorService</reference>
        </service>
 
        <component name="CalculatorComponent">
-               <implementation.cpp library="Calculator" 
header="CalculatorImpl.h"/>
+        <implementation.python module="CalculatorImpl" scope="composite"/>
            <reference 
name="divideService">DivideComponent/DivideService</reference>
        </component>
-        
-       <component name="DivideComponent">
-               <implementation.python module="DivideImpl" class="DivideClass"/>
-       </component>
+
+    <component name="DivideComponent">
+        <implementation.python module="DivideImpl" scope="composite"/>
+    </component>
 
 </composite>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to