Author: ajborley
Date: Mon Oct 2 05:03:38 2006
New Revision: 451990
URL: http://svn.apache.org/viewvc?view=rev&rev=451990
Log:
Changed from Tuscany Python module name of TuscanySCA to sca and
TuscanySCAProxy to sca_proxy. Also changed PythonCalculator sample to reflect
this
Added:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_module.cpp
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_proxy.py
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_setup.py
Removed:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/TuscanySCAModule.cpp
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/TuscanySCAProxy.py
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/TuscanySCASetup.py
Modified:
incubator/tuscany/cpp/sca/projectsvc7/tuscany_sca/tuscany_sca_python/tuscany_sca_python.vcproj
incubator/tuscany/cpp/sca/runtime/extensions/python/src/Makefile.am
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.wsclient/calculator_wsclient.py
Modified:
incubator/tuscany/cpp/sca/projectsvc7/tuscany_sca/tuscany_sca_python/tuscany_sca_python.vcproj
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projectsvc7/tuscany_sca/tuscany_sca_python/tuscany_sca_python.vcproj?view=diff&rev=451990&r1=451989&r2=451990
==============================================================================
---
incubator/tuscany/cpp/sca/projectsvc7/tuscany_sca/tuscany_sca_python/tuscany_sca_python.vcproj
(original)
+++
incubator/tuscany/cpp/sca/projectsvc7/tuscany_sca/tuscany_sca_python/tuscany_sca_python.vcproj
Mon Oct 2 05:03:38 2006
@@ -53,8 +53,8 @@
copy ..\..\..\runtime\extensions\python\src\tuscany\sca\python\model\*.h
..\..\..\deploy\extensions\python\include\tuscany\sca\python\model
copy ..\..\..\runtime\extensions\python\src\osoa\sca\*.h
..\..\..\deploy\extensions\python\include\osoa\sca
cd ..\..\..\runtime\extensions\python\src\tuscany\sca\python
-$(PYTHON_HOME)\python TuscanySCASetup.py build
-$(PYTHON_HOME)\python TuscanySCASetup.py install --install-lib
..\..\..\..\..\..\..\deploy\extensions\python\bin
+$(PYTHON_HOME)\python sca_setup.py build
+$(PYTHON_HOME)\python sca_setup.py install --install-lib
..\..\..\..\..\..\..\deploy\extensions\python\bin
"/>
<Tool
Name="VCPreBuildEventTool"/>
@@ -65,7 +65,13 @@
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
Modified: incubator/tuscany/cpp/sca/runtime/extensions/python/src/Makefile.am
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/Makefile.am?view=diff&rev=451990&r1=451989&r2=451990
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/python/src/Makefile.am
(original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/python/src/Makefile.am Mon Oct
2 05:03:38 2006
@@ -2,11 +2,11 @@
lib_LTLIBRARIES = libtuscany_sca_python.la
install-exec-hook:
- cd $(libdir); ln -s -f libtuscany_sca_python.so TuscanySCA.so
+ cd $(libdir); ln -s -f libtuscany_sca_python.so sca.so
pydir=$(prefix)/extensions/python/lib
-py_DATA = tuscany/sca/python/TuscanySCAProxy.py
-EXTRA_DIST = tuscany/sca/python/TuscanySCAProxy.py
+py_DATA = tuscany/sca/python/sca_proxy.py
+EXTRA_DIST = tuscany/sca/python/sca_proxy.py
includedir=$(prefix)/extensions/python/include
nobase_include_HEADERS = \
@@ -19,7 +19,7 @@
tuscany/sca/python/PythonInterfaceExtension.cpp \
tuscany/sca/python/PythonServiceWrapper.cpp \
tuscany/sca/python/PythonServiceProxy.cpp \
-tuscany/sca/python/TuscanySCAModule.cpp \
+tuscany/sca/python/sca_module.cpp \
tuscany/sca/python/model/PythonImplementation.cpp \
tuscany/sca/python/model/PythonInterface.cpp \
tuscany/sca/python/model/PythonReferenceBinding.cpp \
Added:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_module.cpp
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_module.cpp?view=auto&rev=451990
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_module.cpp
(added)
+++
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_module.cpp
Mon Oct 2 05:03:38 2006
@@ -0,0 +1,377 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+#include <Python.h>
+
+#include "tuscany/sca/core/SCARuntime.h"
+#include "tuscany/sca/model/Component.h"
+#include "tuscany/sca/model/Reference.h"
+#include "tuscany/sca/model/ReferenceType.h"
+#include "tuscany/sca/model/ServiceBinding.h"
+#include "tuscany/sca/core/Operation.h"
+using namespace tuscany::sca;
+using namespace tuscany::sca::model;
+
+#include "PythonServiceProxy.h"
+using namespace tuscany::sca::python;
+
+#include "tuscany/sca/util/Logging.h"
+
+#include <string>
+#include <iostream>
+using namespace std;
+
+static PyObject* scaError;
+
+/**
+* Prints out PyObject and dir(PyObject)
+* for debugging purposes
+*/
+static void printPyObject(char* prefix, char* name, PyObject* pObj)
+{
+ LOGINFO(4, "Entering printPyObject");
+ PyObject* pObjRepr = PyObject_Repr(pObj);
+ LOGINFO_3(4, "%s printPyObject %s: %s", prefix, name,
PyString_AsString(pObjRepr));
+ Py_XDECREF(pObjRepr);
+
+ if(pObj != NULL)
+ {
+ PyObject* pObjDir = PyObject_Dir(pObj);
+ PyObject* pObjDirRepr = PyObject_Repr(pObjDir);
+ LOGINFO_3(4, "%s printPyObject dir(%s): %s", prefix, name,
PyString_AsString(pObjDirRepr));
+ Py_DECREF(pObjDirRepr);
+ Py_DECREF(pObjDir);
+ }
+ LOGINFO(4, "Returning from printPyObject");
+}
+
+static PyObject* sca_locateservice(PyObject *self, PyObject *args)
+{
+ // Get the service name
+ PyObject* pServiceName = PyTuple_GetItem(args, 0);
+
+ // Import the SCA python-extension module
+ PyObject* pModuleName = PyString_FromString("sca_proxy");
+ PyObject* sca_proxy_module = PyImport_Import(pModuleName);
+ Py_DECREF(pModuleName);
+
+ if(!sca_proxy_module)
+ {
+ if(PyErr_Occurred())
+ {
+ PyErr_Print();
+ }
+ string msg = "Failed to load the sca_proxy Python module - has it been
successfully installed?\nReferences from Python components will not be
supported";
+ LOGERROR(0, msg.c_str());
+ }
+ else
+ {
+ // Get the sca_proxy class
+ PyObject* sca_proxy_class = PyObject_GetAttrString(sca_proxy_module,
"sca_proxy_class");
+
+ PyObject* scaArgs = PyTuple_New(2);
+ PyTuple_SetItem(scaArgs, 0, pServiceName);
+ Py_INCREF(Py_True);
+ PyTuple_SetItem(scaArgs, 1, Py_False);
+
+ // Create the instance of the scaReference class
+ PyObject* sca_proxy_classInstance = PyInstance_New(sca_proxy_class,
scaArgs, NULL);
+ Py_DECREF(scaArgs);
+
+ return sca_proxy_classInstance;
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+
+static PythonServiceProxy* getServiceProxy(PyObject *args)
+{
+ LOGENTRY(1, "sca_module getPythonServiceProxy");
+
+ PythonServiceProxy* serviceProxy = NULL;
+ SCARuntime* runtime = SCARuntime::getInstance();
+
+ // The first argument holds the name
+ string name;
+ PyObject* pName = PyTuple_GetItem(args, 0);
+ if(pName && PyString_Check(pName))
+ {
+ name = PyString_AsString(pName);
+ }
+ if(name.size() > 0)
+ {
+ LOGINFO_1(3, "sca_invoke Service/Reference name is %s", name.c_str());
+ }
+ else
+ {
+ string msg = "sca_invoke Service/Reference name has not been set";
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+ return NULL;
+ }
+
+ // The second argument is a boolean
+ PyObject* isReference = PyTuple_GetItem(args, 1);
+
+ // Get the serviceProxy from the reference or service name provided
+ if(PyObject_IsTrue(isReference))
+ {
+ Component* component = runtime->getCurrentComponent();
+ Reference* ref = component->findReference(name);
+ if(!ref)
+ {
+ string msg = "sca_invoke Could not find the reference named "+name;
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+
+ return NULL;
+ }
+
+ ReferenceBinding* refBinding = ref->getBinding();
+ serviceProxy = (PythonServiceProxy*) refBinding->getServiceProxy();
+ }
+ else
+ {
+ Component* component = runtime->getDefaultComponent();
+ Composite* composite = (Composite*)component->getType();
+ Service* service = composite->findComponentService(name);
+
+ if(!service)
+ {
+ string msg = "sca_invoke Could not find the service named "+name;
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+ return NULL;
+ }
+
+ serviceProxy = new PythonServiceProxy(service);
+ }
+
+ return serviceProxy;
+}
+
+
+static PyObject* sca_invoke(PyObject *self, PyObject *args)
+{
+ LOGENTRY(1, "sca_invoke");
+
+ PythonServiceProxy* pythonServiceProxy = getServiceProxy(args);
+ if(!pythonServiceProxy)
+ {
+ return NULL;
+ }
+
+ // Get the name of the operation to invoke
+ string operationName;
+ PyObject* opName = PyTuple_GetItem(args, 2);
+ if(opName && PyString_Check(opName))
+ {
+ operationName = PyString_AsString(opName);
+ }
+
+ if(operationName.size() > 0)
+ {
+ LOGINFO_1(3, "sca_invoke Operation name is %s", operationName.c_str());
+ }
+ else
+ {
+ string msg = "sca_invoke Operation name has not been set";
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+ return NULL;
+ }
+
+ // Create the Operation object
+ Operation operation(operationName.c_str());
+
+ // Parameters are the fourth argument
+ PyObject* paramTuple = PyTuple_GetItem(args, 3);
+
+ // Go through the supplied parameters
+ for(int i=0; i < PyTuple_Size(paramTuple); i++)
+ {
+ PyObject* param = PyTuple_GetItem(paramTuple, i);
+
+ if(PyInt_Check(param))
+ {
+ LOGINFO_2(3, "sca_invoke Param %d is int type: %d", i,
PyInt_AsLong(param));
+ long* intData = new long;
+ *intData = PyInt_AsLong(param);
+ operation.addParameter(intData);
+ }
+ else if(PyBool_Check(param))
+ {
+ LOGINFO_2(3, "sca_invoke Param %d is bool type: %d", i, (param ==
Py_True));
+ bool* boolData = new bool;
+ *boolData = (param == Py_True);
+ operation.addParameter(boolData);
+ }
+ else if(PyLong_Check(param))
+ {
+ LOGINFO_2(3, "sca_invoke Param %d is long type: %l", i,
PyLong_AsLong(param));
+ long* longData = new long;
+ *longData = PyLong_AsLong(param);
+ operation.addParameter(longData);
+ }
+ else if(PyFloat_Check(param))
+ {
+ LOGINFO_2(3, "sca_invoke Param %d is float type: %f", i,
PyFloat_AsDouble(param));
+ double* doubleData = new double;
+ *doubleData = PyFloat_AsDouble(param);
+ operation.addParameter(doubleData);
+ }
+ else if(PyString_Check(param))
+ {
+ LOGINFO_2(3, "sca_invoke %d is string type: %s", i,
PyString_AsString(param));
+ const char** stringData = new const char*;
+ *stringData = PyString_AsString(param);
+ operation.addParameter(stringData);
+ }
+ else
+ {
+ PyObject* paramRepr = PyObject_Repr(param);
+ PyObject* paramType = PyObject_Type(param);
+ PyObject* paramTypeRepr = PyObject_Repr(paramType);
+
+ string msg = "sca_invoke Param ";
+ msg += i;
+ msg += "is of unknown type (";
+ msg += PyString_AsString(paramTypeRepr);
+ msg += ") and has repr: ";
+ msg += PyString_AsString(paramRepr);
+
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+
+ Py_DECREF(paramTypeRepr);
+ Py_DECREF(paramType);
+ Py_DECREF(paramRepr);
+
+ return NULL;
+ }
+ }
+
+ PyObject* returnValue = NULL;
+
+ try
+ {
+ // Invoke the wired service
+ pythonServiceProxy->invokeService(operation);
+ }
+ catch(...)
+ {
+ string msg = "sca_invoke Exception thrown whilst invoking the service";
+ LOGERROR(1, msg.c_str());
+ PyErr_SetString(scaError, msg.c_str());
+ return NULL;
+ }
+
+
+ switch(operation.getReturnType())
+ {
+ case Operation::BOOL:
+ {
+ if(*(bool*)operation.getReturnValue())
+ {
+ returnValue = Py_True;
+ }
+ else
+ {
+ returnValue = Py_False;
+ }
+ break;
+ }
+ case Operation::SHORT:
+ {
+ returnValue =
PyInt_FromLong(*(short*)operation.getReturnValue());
+ break;
+ }
+ case Operation::LONG:
+ {
+ returnValue =
PyLong_FromLong(*(long*)operation.getReturnValue());
+ break;
+ }
+ case Operation::USHORT:
+ {
+ returnValue = PyInt_FromLong(*(unsigned
short*)operation.getReturnValue());
+ break;
+ }
+ case Operation::ULONG:
+ {
+ returnValue = PyLong_FromLong(*(unsigned
long*)operation.getReturnValue());
+ break;
+ }
+ case Operation::FLOAT:
+ {
+ returnValue =
PyFloat_FromDouble(*(float*)operation.getReturnValue());
+ break;
+ }
+ case Operation::DOUBLE:
+ {
+ returnValue =
PyFloat_FromDouble(*(double*)operation.getReturnValue());
+ break;
+ }
+ case Operation::LONGDOUBLE:
+ {
+ returnValue = PyFloat_FromDouble(*(long
double*)operation.getReturnValue());
+ break;
+ }
+ case Operation::CHARS:
+ {
+ returnValue =
PyString_FromString(*(char**)operation.getReturnValue());
+ break;
+ }
+ case Operation::STRING:
+ {
+ returnValue =
PyString_FromString((*(string*)operation.getReturnValue()).c_str());
+ break;
+ }
+ default:
+ {
+ Py_INCREF(Py_None);
+ returnValue = Py_None;
+ }
+
+ }
+
+ LOGEXIT(1, "sca_invoke");
+ return returnValue;
+}
+static PyMethodDef ModuleMethods[] =
+{
+ {"locateservice", sca_locateservice, METH_VARARGS, "Locates an SCA service
& returns an sca_proxy_class instance"},
+ {"invoke", sca_invoke, METH_VARARGS, "Invoke an operation on an SCA
service or reference"},
+ {NULL, NULL, 0, NULL} /* Sentinel */
+};
+
+PyMODINIT_FUNC initsca(void)
+{
+ LOGENTRY(1, "initsca");
+
+ // Create a new module
+ PyObject* module = Py_InitModule("sca", ModuleMethods);
+
+ scaError = PyErr_NewException("sca.error", NULL, NULL);
+ Py_INCREF(scaError);
+ PyModule_AddObject(module, "error", scaError);
+
+ LOGEXIT(1, "initsca");
+}
Added:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_proxy.py
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_proxy.py?view=auto&rev=451990
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_proxy.py
(added)
+++
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_proxy.py
Mon Oct 2 05:03:38 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 used in the SCA package and
+# provides the proxy objects to a Python SCA component or SCA
+# client.
+#
+# This is done by overloading the __getattr__ method which makes
+# calls to myProxy.anyMethod go to __getattr__ which will return
+# the invokeFunction defined inside the invoke method
+
+import sca
+
+class sca_proxy_class:
+
+ sca_proxy_name = ''
+ sca_proxy_is_reference = 1
+
+ def __init__(self, name, isReference):
+ self.sca_proxy_name = name
+ self.sca_proxy_is_reference = isReference
+ return
+
+ def invoke(self, operationName):
+
+ def invokeFunction(*args,**kwargs):
+ return sca.invoke(self.sca_proxy_name,
self.sca_proxy_is_reference, operationName, args)
+
+ return invokeFunction
+
+ def __getattr__(self, operationName):
+ return self.invoke(operationName)
+
+ def __str__(self):
+ return '<sca_proxy.sca_proxy_class instance for ' +
self.sca_proxy_name + '>'
+
+ def __repr__(self):
+ return '<sca_proxy.sca_proxy_class instance for ' +
self.sca_proxy_name + '>'
+
Added:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_setup.py
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_setup.py?view=auto&rev=451990
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_setup.py
(added)
+++
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/sca_setup.py
Mon Oct 2 05:03:38 2006
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+#
+#
+# This Python code builds and/or installs the sca and
+# sca_proxy extension modules
+#
+# Build/install with the following comands:
+# python scaSetup.py build
+# python scaSetup.py install
+#
+#
+
+from distutils.core import setup, Extension, os
+
+TUSCANY_SCACPP = os.environ.get("TUSCANY_SCACPP")
+print 'Using TUSCANY_SCACPP at ' + TUSCANY_SCACPP
+
+TUSCANY_SDOCPP = os.environ.get("TUSCANY_SDOCPP")
+print 'Using TUSCANY_SDOCPP at ' + TUSCANY_SDOCPP
+
+macros = []
+if os.name == 'nt':
+ macros = [ ('WIN32',None) ]
+
+module1 = Extension('sca',
+ define_macros = macros,
+ sources = ['sca_module.cpp'],
+ include_dirs = [ TUSCANY_SCACPP + '/include',
+ TUSCANY_SCACPP +
'/extensions/python/include',
+ TUSCANY_SDOCPP + '/include'],
+ libraries = ['tuscany_sca',
+ 'tuscany_sdo',
+ 'tuscany_sca_python'],
+ library_dirs = [ TUSCANY_SCACPP + '/lib',
+ TUSCANY_SCACPP + '/extensions/python/lib',
+ TUSCANY_SDOCPP + '/lib'])
+
+setup (name = 'sca',
+ version = '1.0',
+ description = 'The Tuscany SCA package',
+ url='http://incubator.apache.org/tuscany/',
+ ext_modules = [module1],
+ py_modules = ['sca_proxy'])
Modified:
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=diff&rev=451990&r1=451989&r2=451990
==============================================================================
---
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
(original)
+++
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.client/calculator_client.py
Mon Oct 2 05:03:38 2006
@@ -23,14 +23,14 @@
import sys
-import TuscanySCA
+import sca
op = sys.argv[1]
val1 = sys.argv[2]
val2 = sys.argv[3]
# Locate the calculator service
-calc = TuscanySCA.locateService("CalculatorComponent")
+calc = sca.locateservice("CalculatorComponent")
# Invoke the calculator operations
if op == 'add':
Modified:
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.wsclient/calculator_wsclient.py
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.wsclient/calculator_wsclient.py?view=diff&rev=451990&r1=451989&r2=451990
==============================================================================
---
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.wsclient/calculator_wsclient.py
(original)
+++
incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator.wsclient/calculator_wsclient.py
Mon Oct 2 05:03:38 2006
@@ -23,14 +23,14 @@
import sys
-import TuscanySCA
+import sca
op = sys.argv[1]
val1 = sys.argv[2]
val2 = sys.argv[3]
# Locate the calculator service
-calc = TuscanySCA.locateService("CalculatorService")
+calc = sca.locateservice("CalculatorService")
# Invoke the calculator operations
if op == 'add':
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]