Salome HOME
Deleted deprecated code mpa/23299
authormpa <mpa@opencascade.com>
Fri, 3 Feb 2017 13:26:53 +0000 (16:26 +0300)
committermpa <mpa@opencascade.com>
Fri, 3 Feb 2017 13:26:53 +0000 (16:26 +0300)
16 files changed:
doc/cppsalome.rst
doc/execution.rst
doc/yacsgen.rst
src/runtime/CMakeLists.txt
src/runtime/StudyNodes.cxx
src/runtime/StudyPorts.cxx
src/runtime/StudyPorts.hxx
src/salomegui/resources/YACSCatalog.xml.in
src/salomeloader/samples/GeomGraph.xml
src/salomeloader/samples/testvisu20.xml
src/salomewrap/SuitWrapper.cxx
src/wrappergen/src/parse5.awk
src/wrappergen/src/runIDLparser
src/yacsloader/samples/schema2.xml
src/yacsloader/samples/sinline1.xml
src/yacsloader/samples/sinline4.xml

index f6c1bb9dfa7418fcbef01b9807117b90f319863a..c65aa624ce66f2255b91272ca74f0606da571893 100644 (file)
@@ -122,8 +122,8 @@ This class contains a constructor whose arguments are imposed by SALOME, a virtu
       const char *instanceName,
       const char *interfaceName);
     virtual ~HELLO();
-    HELLO_ORB::status hello  ( SALOMEDS::Study_ptr study, const char* name );
-    HELLO_ORB::status goodbye( SALOMEDS::Study_ptr study, const char* name );
+    HELLO_ORB::status hello  ( const char* name );
+    HELLO_ORB::status goodbye( const char* name );
     void              copyOrMove( const HELLO_ORB::object_list& what,
                                  SALOMEDS::SObject_ptr where,
                                  CORBA::Long row, CORBA::Boolean isCopy );
@@ -147,12 +147,12 @@ to load the HELLO component::
 The definitions of the constructor and the HELLOEngine_factory instantiation function (both normalized!),
 hello, goodbye and copyOrMove are given in the source file (HELLO.cxx)::       
 
-       HELLO_ORB::status HELLO::hello( SALOMEDS::Study_ptr study, const char* name )
+       HELLO_ORB::status HELLO::hello( const char* name )
        {
        ...
        }
 
-       HELLO_ORB::status HELLO::goodbye( SALOMEDS::Study_ptr study, const char* name )
+       HELLO_ORB::status HELLO::goodbye( const char* name )
        {
        ...
        }
@@ -237,7 +237,7 @@ Let us check that hello object is correctly typed, and we will call the hello se
 
     >>> print hello
     <HELLO_ORB._objref_HELLO_Gen instance at 0x8274e94>
-    >>> status=hello.hello(salome.myStudy, "Nicolas")
+    >>> status=hello.hello("Nicolas")
     >>> print status
     OP_OK
 
index 1aede2c762e926e208b262bfbdc94f40b555e818..d455f8146eb04154bb9e5ae95a9617b6a6beac32 100644 (file)
@@ -64,7 +64,7 @@ informed by the system about all problems detected by this operation.
 
 
 If a preliminary check is successfully done, schema run is created and then the user can start its execution in the chosen mode. Schema run 
-is exported to an XML file and passed to YACS CORBA engine and executed there. YACS CORBA engine is also given a study ID.
+is exported to an XML file and passed to YACS CORBA engine and executed there.
 
 For visual representation of execution state the following means are provided by YACS module.
 
index 41faa31463c6f2749aa6057d9fcc8517a4e5c4ac..b9ea4d296d24bd062de7826fc6a0b373edc5b017 100644 (file)
@@ -1308,10 +1308,10 @@ Here is an excerpt from pygui1 example that shows how to add a method named crea
 
   compodefs=r"""
   class A:
-    def createObject( self, study, name ):
+    def createObject( self, name ):
       "Create object.  "
-      builder = study.NewBuilder()
-      father = study.FindComponent( "pycompos" )
+      builder = salome.myStudy.NewBuilder()
+      father = salome.myStudy.FindComponent( "pycompos" )
       if father is None:
         father = builder.NewComponent( "pycompos" )
       attr = builder.FindOrCreateAttribute( father, "AttributeName" )
@@ -1342,20 +1342,15 @@ fragment that will be included in the component class to effectively redefine th
 Here is an excerpt from cppgui1 example that shows how to redefine the DumpPython method in a C++ component::
 
   compomethods=r"""
-  Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy, CORBA::Boolean isPublished,
+  Engines::TMPFile* DumpPython(CORBA::Boolean isPublished,
                                CORBA::Boolean& isValidScript)
   {
-    SALOMEDS::Study_var aStudy = SALOMEDS::Study::_narrow(theStudy);
-    if(CORBA::is_nil(aStudy))
-      return new Engines::TMPFile(0);
-    SALOMEDS::SObject_var aSO = aStudy->FindComponent("cppcompos");
+    SALOMEDS::SObject_var aSO = KERNEL::getStudy()->FindComponent("cppcompos");
     if(CORBA::is_nil(aSO))
        return new Engines::TMPFile(0);
     std::string Script = "import cppcompos_ORB\n";
     Script += "import salome\n";
     Script += "compo = salome.lcc.FindOrLoadComponent('FactoryServer','cppcompos')\n";
-    Script += "def RebuildData(theStudy):\n";
-    Script += "  compo.SetCurrentStudy(theStudy)\n";
     const char* aScript=Script.c_str();
     char* aBuffer = new char[strlen(aScript)+1];
     strcpy(aBuffer, aScript);
@@ -1400,10 +1395,10 @@ implementation from SALOME KERNEL) and an extra method (createObject) to a pytho
       SALOME_DriverPy.SALOME_DriverPy_i.__init__(self,"pycompos")
       return
 
-    def createObject( self, study, name ):
+    def createObject( self, name ):
       "Create object.  "
-      builder = study.NewBuilder()
-      father = study.FindComponent( "pycompos" )
+      builder = salome.myStudy.NewBuilder()
+      father = salome.myStudy.FindComponent( "pycompos" )
       if father is None:
         father = builder.NewComponent( "pycompos" )
         attr = builder.FindOrCreateAttribute( father, "AttributeName" )
@@ -1434,7 +1429,7 @@ one file (myinterface.idl) that contains the definition of interface Idl_A::
 
   interface Idl_A : SALOMEDS::Driver
   {
-    void createObject(in SALOMEDS::Study theStudy, in string name) raises (SALOME::SALOME_Exception);
+    void createObject(in string name) raises (SALOME::SALOME_Exception);
   };
 
 In this simple case, it is also possible to include directly the content of the file with the *interfacedefs* parameter.
index 71fb61e96d23320a6e48b77eabe86ac3d8971679..3e24bbc7bc98a8ed4851ce9893f55b49d810c23f 100644 (file)
@@ -29,6 +29,7 @@ IF(SALOME_YACS_USE_KERNEL)
     SalomeIDLKernel 
     SalomeNS
     SalomeContainer 
+    SalomeKernelHelpers
     SALOMEBasics 
     SalomeResourcesManager 
     OpUtil 
index 77bc09a05b4aba34d52ce47d7f41e542657275c0..6b0a32f2529acffbf519d380006102a5e67754a3 100644 (file)
@@ -25,6 +25,7 @@
 #include "SalomeProc.hxx"
 
 #include "SALOME_NamingService.hxx"
+#include "SALOME_KernelServices.hxx"
 #include "SALOMEDS.hh"
 #include "SALOMEDS_Attributes.hh"
 
@@ -74,20 +75,6 @@ void StudyInNode::setData(OutputPort* port, const std::string& data)
 void StudyInNode::execute()
 {
   DEBTRACE("+++++++ StudyInNode::execute +++++++++++");
-  SALOME_NamingService NS(getSALOMERuntime()->getOrb());
-  CORBA::Object_var obj=NS.Resolve("/Study");
-  if(CORBA::is_nil(obj)) 
-    {
-      _errorDetails="Execution problem: no naming service";
-      throw Exception(_errorDetails);
-    }
-
-  SALOMEDS::Study_var myStudy = SALOMEDS::Study::_narrow(obj);
-  if(CORBA::is_nil(myStudy)) 
-    {
-      _errorDetails="Execution problem: no study";
-      throw Exception(_errorDetails);
-    }
 
   std::list<OutputPort *>::const_iterator iter;
   for(iter = _setOfOutputPort.begin(); iter != _setOfOutputPort.end(); iter++)
@@ -95,7 +82,7 @@ void StudyInNode::execute()
       OutputStudyPort *outp = dynamic_cast<OutputStudyPort *>(*iter);
       try
         {
-          outp->getDataFromStudy(myStudy);
+          outp->getDataFromStudy();
         }
       catch(Exception& e)
         {
@@ -178,10 +165,10 @@ void StudyOutNode::setData(InputPort* port, const std::string& data)
 }
 
 /*
-SALOMEDS::SObject_ptr findOrCreateSoWithName(SALOMEDS::Study_ptr study, SALOMEDS::StudyBuilder_ptr builder,
+SALOMEDS::SObject_ptr findOrCreateSoWithName(SALOMEDS::StudyBuilder_ptr builder,
                                              SALOMEDS::SObject_ptr sobj, const std::string& name)
 {
-  SALOMEDS::ChildIterator_var anIterator= study->NewChildIterator(sobj);
+  SALOMEDS::ChildIterator_var anIterator= KERNEL::getStudyServant()->NewChildIterator(sobj);
   SALOMEDS::GenericAttribute_var anAttr;
   SALOMEDS::AttributeName_var namAttr ;
   SALOMEDS::SObject_var result=SALOMEDS::SObject::_nil();
@@ -215,22 +202,8 @@ SALOMEDS::SObject_ptr findOrCreateSoWithName(SALOMEDS::Study_ptr study, SALOMEDS
 void StudyOutNode::execute()
 {
   DEBTRACE("+++++++ StudyOutNode::execute +++++++++++");
-  SALOME_NamingService NS(getSALOMERuntime()->getOrb());
-  CORBA::Object_var obj=NS.Resolve("/Study");
-  if(CORBA::is_nil(obj))
-    {
-      _errorDetails="Execution problem: no naming service";
-      throw Exception(_errorDetails);
-    }
-
-  SALOMEDS::Study_var myStudy = SALOMEDS::Study::_narrow(obj);
-  if(CORBA::is_nil(myStudy))
-    {
-      _errorDetails="Execution problem: no study";
-      throw Exception(_errorDetails);
-    }
 
-  SALOMEDS::StudyBuilder_var aBuilder =myStudy->NewBuilder() ;
+  SALOMEDS::StudyBuilder_var aBuilder =KERNEL::getStudyServant()->NewBuilder() ;
   if(CORBA::is_nil(aBuilder))
     {
       _errorDetails="Execution problem: can not create StudyBuilder";
@@ -246,13 +219,13 @@ void StudyOutNode::execute()
   for(iter = _setOfInputPort.begin(); iter != _setOfInputPort.end(); iter++)
     {
       InputStudyPort *inp = dynamic_cast<InputStudyPort *>(*iter);
-      inp->putDataInStudy(myStudy,aBuilder);
+      inp->putDataInStudy(aBuilder);
     }
 
   // save in file if ref is given
   if(_ref != "")
     {
-         myStudy->SaveAs(_ref.c_str(), false, false);
+         KERNEL::getStudyServant()->SaveAs(_ref.c_str(), false, false);
     }
   DEBTRACE("+++++++ end StudyOutNode::execute +++++++++++" );
 }
index 6bf53daca9d701d5e6a5538dd86ef83313b71deb..98d832b2a7c1d6c8c687dabf0c92d5b0564d86c1 100644 (file)
@@ -26,6 +26,7 @@
 #include "RuntimeSALOME.hxx"
 
 #include "SALOMEDS_Attributes.hh"
+#include "SALOME_KernelServices.hxx"
 
 #include <iostream>
 #include <iomanip>
@@ -135,16 +136,16 @@ std::string OutputStudyPort::getAsString()
   return getData();
 }
 
-void OutputStudyPort::getDataFromStudy(SALOMEDS::Study_var myStudy)
+void OutputStudyPort::getDataFromStudy()
 {
       std::string data = getData();
       DEBTRACE("data: " << data );
       //try an id
-      SALOMEDS::SObject_var aSO = myStudy->FindObjectID(data.c_str());
+      SALOMEDS::SObject_var aSO = KERNEL::getStudyServant()->FindObjectID(data.c_str());
       if(CORBA::is_nil(aSO))
         {
           //try a path
-          aSO=myStudy->FindObjectByPath(data.c_str());
+          aSO=KERNEL::getStudyServant()->FindObjectByPath(data.c_str());
           if(CORBA::is_nil(aSO))
             {
               std::stringstream msg;
@@ -153,7 +154,7 @@ void OutputStudyPort::getDataFromStudy(SALOMEDS::Study_var myStudy)
             }
         }
 
-      CORBA::String_var path=myStudy->GetObjectPath(aSO);
+      CORBA::String_var path=KERNEL::getStudyServant()->GetObjectPath(aSO);
       DEBTRACE(path);
       CORBA::String_var id=aSO->GetID();
       DEBTRACE(id);
@@ -230,10 +231,10 @@ void OutputStudyPort::getDataFromStudy(SALOMEDS::Study_var myStudy)
 
 
 
-SALOMEDS::SObject_ptr findOrCreateSoWithName(SALOMEDS::Study_ptr study, SALOMEDS::StudyBuilder_ptr builder,
+SALOMEDS::SObject_ptr findOrCreateSoWithName(SALOMEDS::StudyBuilder_ptr builder,
                                              SALOMEDS::SObject_ptr sobj, const std::string& name)
 {
-  SALOMEDS::ChildIterator_var anIterator= study->NewChildIterator(sobj);
+  SALOMEDS::ChildIterator_var anIterator= KERNEL::getStudyServant()->NewChildIterator(sobj);
   SALOMEDS::GenericAttribute_var anAttr;
   SALOMEDS::AttributeName_var namAttr ;
   SALOMEDS::SObject_var result=SALOMEDS::SObject::_nil();
@@ -342,7 +343,7 @@ std::string InputStudyPort::getAsString()
   return getData();
 }
 
-void InputStudyPort::putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyBuilder_var aBuilder)
+void InputStudyPort::putDataInStudy(SALOMEDS::StudyBuilder_var aBuilder)
 {
   SALOMEDS::GenericAttribute_var aGAttr;
   SALOMEDS::SObject_var aSO ;
@@ -353,11 +354,11 @@ void InputStudyPort::putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyB
   std::string data = getData();
   DEBTRACE("data: " << data );
   //try to find an existing id (i:j:k...)
-  aSO = myStudy->FindObjectID(data.c_str());
+  aSO = KERNEL::getStudyServant()->FindObjectID(data.c_str());
   if(CORBA::is_nil(aSO))
     {
       // the id does not exist. Try to create it by id
-      aSO=myStudy->CreateObjectID(data.c_str());
+      aSO=KERNEL::getStudyServant()->CreateObjectID(data.c_str());
       if(!CORBA::is_nil(aSO))
         {
           aGAttr=aBuilder->FindOrCreateAttribute(aSO,"AttributeName");
@@ -432,7 +433,7 @@ void InputStudyPort::putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyB
         }
 
       // Does component entry exist ?
-      aSO=myStudy->FindObjectByPath(pname.c_str());
+      aSO=KERNEL::getStudyServant()->FindObjectByPath(pname.c_str());
       if(CORBA::is_nil(aSO))
         {
           // We have not been able to publish the object with Salome Driver, make it the light way
@@ -445,7 +446,7 @@ void InputStudyPort::putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyB
           aGAttr=aBuilder->FindOrCreateAttribute(aFather,"AttributeName");
           anAttr = SALOMEDS::AttributeName::_narrow( aGAttr );
           anAttr->SetValue(name.c_str());
-          aSO=myStudy->FindObjectByPath(pname.c_str());
+          aSO=KERNEL::getStudyServant()->FindObjectByPath(pname.c_str());
         }
 
       begin=data.find_first_not_of("/",pos);
@@ -456,7 +457,7 @@ void InputStudyPort::putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyB
             name=data.substr(begin,pos-begin);
           else
             name=data.substr(begin);
-          aSO=findOrCreateSoWithName(myStudy,aBuilder,aSO,name);
+          aSO=findOrCreateSoWithName(aBuilder,aSO,name);
           begin=data.find_first_not_of("/",pos);
         }
     }
index 831fd45ee6f9732af49a05beda372cbe796855b6..671e4211555e1697a8c10c06af854cfb314dcf15 100644 (file)
@@ -42,7 +42,7 @@ namespace YACS
       virtual std::string getPyObj();
       virtual std::string getAsString();
       virtual std::string typeName() {return "YACS__ENGINE__OutputStudyPort";}
-      virtual void getDataFromStudy(SALOMEDS::Study_var myStudy);
+      virtual void getDataFromStudy();
     protected:
       std::string _storeData;
     };
@@ -61,7 +61,7 @@ namespace YACS
       virtual std::string getPyObj();
       virtual std::string getAsString();
       virtual std::string typeName() {return "YACS__ENGINE__InputStudyPort";}
-      virtual void putDataInStudy(SALOMEDS::Study_var myStudy,SALOMEDS::StudyBuilder_var aBuilder);
+      virtual void putDataInStudy(SALOMEDS::StudyBuilder_var aBuilder);
     protected:
       std::string _storeData;
     };
index b04b536af223ba3af5a99b105cf3ba68d31b7297..6281f8f008a59631412f966a0daffe95ad5dc6a7 100644 (file)
@@ -38,7 +38,6 @@
                 <component-author>P. RASCLE</component-author>
                 <component-version>@SALOMEYACS_VERSION@</component-version>
                 <component-comment>EDF - RD</component-comment>
-                <component-multistudy>1</component-multistudy>
                 <component-icone>ModuleYacs.png</component-icone>
                 <constraint>'linux' ~ OS</constraint>
        
index 93efd237ac3ba561014a41c5ca49dfb99258f128..d4ab7aa0e9360aec1504a0a1f78929b4c90810c2 100644 (file)
@@ -31,9 +31,6 @@
     <service>
 <service-name>GeomGraph</service-name>
      <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>SetStudyID__theStudyID</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>double</inParameter-type>
        <inParameter-name>MakeBox__theX1</inParameter-name>      </inParameter>
index f8f658566e4b995b7e21bfc4a5054dda18054985..e087e44d5aeaa394c9f9c31a758ae98663e83b57 100644 (file)
       <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                     ]]></PyFunc>
       <PyFunc><![CDATA[    # --- create a naming service instance              ]]></PyFunc>
       <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)    ]]></PyFunc>
-      <PyFunc><![CDATA[    # --- get Study reference                     ]]></PyFunc>
-      <PyFunc><![CDATA[    obj = naming_service.Resolve('Study')    ]]></PyFunc>
-      <PyFunc><![CDATA[    aStudy = obj._narrow(SALOMEDS.Study)    ]]></PyFunc>
       <PyFunc><![CDATA[    # --- load visu component                          ]]></PyFunc>
       <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")       ]]></PyFunc>
-      <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)      ]]></PyFunc>
       <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu         ]]></PyFunc>
       <PyFunc><![CDATA[    time.sleep(2)         ]]></PyFunc>
       <PyFunc><![CDATA[    aViewManager=aVisu.GetViewManager()         ]]></PyFunc>
index 453326a12f2df8e66c8ffcf6d894c940250920d1..3d5abbcf785b04da12dd603065edc9e6bc9bfcfa 100644 (file)
@@ -60,9 +60,6 @@ QWidget* SuitWrapper::getNewWindow(QGraphicsScene *scene)
   return module->getNewWindow(scene);
 }
 
-/*!
- * return studyId used in context delete when study is closed.
- */
 void SuitWrapper::AssociateViewToWindow(QGraphicsView* gView, QWidget* viewWindow)
 {
   SalomeWrap_Module* module = dynamic_cast<SalomeWrap_Module*>(_wrapped);
index 716d97dfeea71c76b474c94ec4c270bdf6d4c2f6..8acdb68bd27ab370c56d5d3b79336ca61cca1ed1 100644 (file)
@@ -36,7 +36,6 @@ BEGIN {
         "      <component-author>""</component-author>\n"\
         "      <component-version>1.0</component-version>\n"\
         "      <component-comment></component-comment>\n"\
-        "      <component-multistudy>1</component-multistudy>\n"\
         "      <component-icone>"class_name".png</component-icone>\n"\
         "      <component-impltype>1</component-impltype>\n"\
         "      <component-interface-list>" >> catalog_file
index 8055187cd673e7ebff30586e2d33993065ec104e..3d6f705f80a3595671d2d412bf4f2cb674b0365c 100755 (executable)
@@ -40,7 +40,7 @@ if test "$hh" = "1" ; then
     echo ""
     echo "   to run IDLparser:"
     echo ""
-    echo "        $0 -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,multistudy=<component_multistudy>][,remove=component_name] <file.idl>   "
+    echo "        $0 -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,remove=component_name] <file.idl>   "
     echo ""
     echo "   to have omniidl help:"
     echo ""
index 0f41a11d8a868bb73dde1d81224a234c3935aa82..2fb838d7841b500c0a3a38a8fd8a5368dd65577c 100644 (file)
         <code>orb = CORBA.ORB_init([], CORBA.ORB_ID)</code>
         <code>lcc = LifeCycleCORBA(orb)</code>
         <code>naming_service = SALOME_NamingServicePy_i(orb)</code>
-        <code>aStudy = naming_service.Resolve('Study')</code>
         <code>aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")</code>
-        <code>aVisu.SetCurrentStudy(aStudy)</code>
         <code>aViewManager=aVisu.GetViewManager()</code>
         <code>aView=aViewManager.Create3DView()</code>
         <code>medFile = os.getenv('DATA_DIR') + '/MedFiles/' + "TimeStamps.med" </code>
index 8050df128e47a408bff6feffe18ee01e9630bd7d..c783348a3ebfb68d08c206a0ba1f3a01d1505849 100644 (file)
@@ -53,7 +53,7 @@
         <code>  param['hostname']=machine</code>
         <code>  param['container_name']=container</code>
         <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-        <code>  print compo.hello(salome.myStudy, p1)</code>
+        <code>  print compo.hello(p1)</code>
         <code>  print p1</code>
       </function>
       <load container="A"/>
@@ -89,7 +89,7 @@
         <code>  param['hostname']=machine</code>
         <code>  param['container_name']=container</code>
         <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-        <code>  print compo.hello(salome.myStudy, p1)</code>
+        <code>  print compo.hello(p1)</code>
         <code>  print p1</code>
       </function>
       <inport name="p1" type="string"/>
index 63e12e9fcd3b8528cd9c6b2f9af1bf63dcc4b724..aa30bb781fae81dc5bea005097f4bd3ff54fdf79 100644 (file)
@@ -55,7 +55,7 @@
         <code>  param['hostname']=machine</code>
         <code>  param['container_name']=container</code>
         <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-        <code>  print compo.hello(salome.myStudy, p1)</code>
+        <code>  print compo.hello(p1)</code>
         <code>  print p1</code>
       </function>
       <load container="A"/>
@@ -91,7 +91,7 @@
         <code>  param['hostname']=machine</code>
         <code>  param['container_name']=container</code>
         <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-        <code>  print compo.hello(salome.myStudy, p1)</code>
+        <code>  print compo.hello(p1)</code>
         <code>  print p1</code>
       </function>
       <inport name="p1" type="string"/>