diff options
Diffstat (limited to 'sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client')
4 files changed, 166 insertions, 0 deletions
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/Makefile.am new file mode 100644 index 0000000000..df1187aab1 --- /dev/null +++ b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/Makefile.am @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +deploydir=$(prefix)/PythonCalculator/deploy +clientdir=$(deploydir)/sample.calculator.client + +client_DATA = *.py +client_SCRIPTS = runclient.sh +EXTRA_DIST = runclient.sh *.py diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/calculator_client.py b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/calculator_client.py new file mode 100644 index 0000000000..58d6f45606 --- /dev/null +++ b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/calculator_client.py @@ -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 sca + +op = sys.argv[1] +val1 = sys.argv[2] +val2 = sys.argv[3] + +# Locate the calculator service +calc = sca.locateservice("CalculatorComponent") + +# 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 + diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.bat b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.bat new file mode 100644 index 0000000000..206b1e5a59 --- /dev/null +++ b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.bat @@ -0,0 +1,45 @@ +@echo off + +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. + +setlocal + +if "%TUSCANY_SCACPP%" == "" ( +echo "TUSCANY_SCACPP not set" +goto end +) +echo using SCA installed at %TUSCANY_SCACPP% + +if "%TUSCANY_SDOCPP%" == "" ( +echo "TUSCANY_SDOCPP not set" +goto end +) +echo using SDO installed at %TUSCANY_SDOCPP% + +set PATH=%TUSCANY_SCACPP%\bin;%TUSCANY_SCACPP%\extensions\python\bin;%TUSCANY_SDOCPP%\bin;%PATH% +set PYTHONPATH=%TUSCANY_SCACPP%\extensions\python\bin + +set TUSCANY_SCACPP_ROOT=%~d0%~p0\..\ +set TUSCANY_SCACPP_COMPONENT=sample.calculator.CalculatorComponent +set TUSCANY_SCACPP_BASE_URI=http://localhost:9090 + +cd %TUSCANY_SCACPP_ROOT%\sample.calculator.client +python calculator_client.py div 5 2 + +:end +endlocal diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.sh b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.sh new file mode 100755 index 0000000000..d500d3d132 --- /dev/null +++ b/sca-cpp/branches/cpp-contrib/contrib/samples/PythonCalculator/sample.calculator.client/runclient.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +APFULLDIR=`pwd` + +if [ x$TUSCANY_SCACPP = x ]; then +echo "TUSCANY_SCACPP not set" +exit; +fi +echo "Using SCA installed at $TUSCANY_SCACPP" + +if [ x$TUSCANY_SDOCPP = x ]; then +echo "TUSCANY_SDOCPP not set" +exit; +fi +echo "Using SDO installed at $TUSCANY_SDOCPP" + +if [ x$PYTHON_LIB != x ]; then +echo "Using Python library installed at $PYTHON_LIB" +export LD_LIBRARY_PATH=$PYTHON_LIB:$LD_LIBRARY_PATH +export PATH=$PYTHON_LIB/../bin:$PATH +fi + +export LD_LIBRARY_PATH=$TUSCANY_SCACPP/lib:$TUSCANY_SCACPP/extensions/python/lib:$TUSCANY_SDOCPP/lib:$LD_LIBRARY_PATH +export PYTHONPATH=$TUSCANY_SCACPP/extensions/python/lib:$PYTHONPATH + +export TUSCANY_SCACPP_ROOT=$APFULLDIR/../ +export TUSCANY_SCACPP_COMPONENT=sample.calculator.CalculatorComponent +export TUSCANY_SCACPP_BASE_URI=http://localhost:9090 + +cd $TUSCANY_SCACPP_ROOT/sample.calculator.client +python calculator_client.py div 5 2 |