Salome HOME
Updated copyright comment
[samples/genericsolver.git] / src / GENERICSOLVER / DEVIATION.py
index ad252a3da4c8c3283d266a4a29cdada8cc6b7813..8affa5738e6bd564a46bf6945a48c697f198eee1 100644 (file)
@@ -1,45 +1,46 @@
-#  Copyright (C) 2009-2013 EDF R&D
+# Copyright (C) 2009-2024  EDF
 #
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
 #
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-#  $Id$
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-import os
+import inspect
 import logging
+import os
+import platform
 import threading
-import inspect
 import traceback
-import platform
-import thread
 
-import salome
+from salome.gui.helper import sgPyQt
+from salome.kernel import termcolor
+from salome.kernel.logger import Logger
+from salome.kernel.parametric.compo_utils import \
+    create_input_dict, create_normal_parametric_output, create_error_parametric_output
 import GENERICSOLVER_ORB__POA
+import SALOME
 import SALOME_ComponentPy
 import SALOME_DriverPy
-import SALOME
+import SALOME_Embedded_NamingService_ClientPy
+import _thread
+import salome
 
-from salome.kernel.logger import Logger
-from salome.kernel import termcolor
-logger = Logger("DEVIATION", color = termcolor.RED_FG)
+
+logger = Logger("DEVIATION", color=termcolor.RED_FG)
 logger.setLevel(logging.INFO)
 
-from salome.kernel.parametric.compo_utils import \
-    create_input_dict, create_normal_parametric_output, create_error_parametric_output
 
 VARIABLE_ID = 1030
 
@@ -79,14 +80,14 @@ def getValueOfVariable( builder, varobj ):
 def getSubSObjectByName( studyId, sobjFather, childName ):
     logger.debug("GENERICSOLVER.getSubSObjectByName Looking for sobjet named " + childName)
     study = salome.myStudyManager.GetStudyByID( studyId )
-    iter = study.NewChildIterator( sobjFather )
+    iterator = study.NewChildIterator(sobjFather)
     #builder = study.NewBuilder()
-    while iter.More():
-        sobj = iter.Value()
+    while iterator.More():
+        sobj = iterator.Value()
         logger.debug("GENERICSOLVER.getSubSObjectByName Got sobjet named " + sobj.GetName())
         if sobj.GetName() == childName:
             return sobj
-        iter.Next()
+        iterator.Next()
         pass
     return None
 
@@ -109,11 +110,19 @@ class DEVIATION(GENERICSOLVER_ORB__POA.DEVIATION_Gen,
                    interfaceName ):
         logger.info("__init__: " + containerName + ' ; ' + instanceName)
         SALOME_ComponentPy.SALOME_ComponentPy_i.__init__(self, orb, poa,
-                    contID, containerName, instanceName, interfaceName, 0)
+                    contID, containerName, instanceName, interfaceName, False)
         SALOME_DriverPy.SALOME_DriverPy_i.__init__(self, interfaceName)
         # On stocke dans l'attribut _naming_service, une reference sur
         # le Naming Service CORBA
-        self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
+        #self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
+        #
+        emb_ns = self._contId.get_embedded_NS_if_ssl()
+        import CORBA
+        if CORBA.is_nil(emb_ns):
+            self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
+        else:
+            self._naming_service = SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy(emb_ns)
+        #
         self.deterministicValues = {}
 
 ######################################################################
@@ -135,7 +144,7 @@ class DEVIATION(GENERICSOLVER_ORB__POA.DEVIATION_Gen,
     def _getIdMessage(self):
         return "%s in container %s running on %s, process %d, thread %d" % \
                (self._instanceName, self._containerName,
-                platform.node(), os.getpid(), thread.get_ident())
+                platform.node(), os.getpid(), _thread.get_ident())
 
     def Init(self, studyId, detCaseEntry):
         """