From 838e6538b4363bf96ab6e50f2b0508189b15bd6a Mon Sep 17 00:00:00 2001 From: Viktor UZLOV Date: Wed, 10 Nov 2021 19:13:53 +0300 Subject: [PATCH] Corrections for SSL mode --- src/PYHELLO/PYHELLO.py | 6 +--- src/PYHELLO/PYHELLO_SalomeSessionless.py | 29 ++++++++++------- src/PYHELLO/PYHELLO_utils.py | 40 +++++------------------- 3 files changed, 27 insertions(+), 48 deletions(-) diff --git a/src/PYHELLO/PYHELLO.py b/src/PYHELLO/PYHELLO.py index 77ed258..29cca24 100644 --- a/src/PYHELLO/PYHELLO.py +++ b/src/PYHELLO/PYHELLO.py @@ -54,12 +54,8 @@ class PYHELLO(PYHELLO_ORB__POA.PYHELLO_Gen, self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb ) else: self._naming_service = SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy(emb_ns) - # pass - def getNamingService(self): - return self._naming_service - """ Get version information. """ @@ -86,7 +82,7 @@ class PYHELLO(PYHELLO_ORB__POA.PYHELLO_Gen, Create object. """ def createObject( self, name ): - study = getStudy( self._naming_service ) + study = getStudy() builder = study.NewBuilder() father = findOrCreateComponent() obj = builder.NewObject( father ) diff --git a/src/PYHELLO/PYHELLO_SalomeSessionless.py b/src/PYHELLO/PYHELLO_SalomeSessionless.py index 6d8da44..2c911f2 100644 --- a/src/PYHELLO/PYHELLO_SalomeSessionless.py +++ b/src/PYHELLO/PYHELLO_SalomeSessionless.py @@ -19,24 +19,31 @@ # def buildInstance(orb): + from PYHELLO import PYHELLO + + # set SSL mode, if not done yes import KernelBasis KernelBasis.setSSLMode(True) - from PYHELLO import PYHELLO - from SALOME_ContainerPy import SALOME_ContainerPy_SSL_i - import PortableServer + + # check if PYHELLO is already registered import KernelServices + try: + return pyhello, orb + except Exception: + pass + + # initialize and register PYHELLO engine + import PortableServer obj = orb.resolve_initial_references("RootPOA") poa = obj._narrow(PortableServer.POA) pman = poa._get_the_POAManager() - # - cont = SALOME_ContainerPy_SSL_i(orb,poa,"FactoryServer") - conId = poa.activate_object(cont) - conObj = poa.id_to_reference(conId) - # pman.activate() # - compoName = "PYHELLO" - servant = PYHELLO(orb,poa,conObj,"FactoryServer","PYHELLO_inst_1",compoName) + from SALOME_ContainerPy import SALOME_ContainerPy_SSL_i + cont = SALOME_ContainerPy_SSL_i(orb, poa, "FactoryServer") + conObj = poa.id_to_reference(poa.activate_object(cont)) + # + servant = PYHELLO(orb, poa, conObj, "FactoryServer", "PYHELLO_inst_1", "PYHELLO") ret = servant.getCorbaRef() - KernelServices.RegisterCompo(compoName,ret) + KernelServices.RegisterCompo("PYHELLO", ret) return ret, orb diff --git a/src/PYHELLO/PYHELLO_utils.py b/src/PYHELLO/PYHELLO_utils.py index 6766427..94d47d2 100644 --- a/src/PYHELLO/PYHELLO_utils.py +++ b/src/PYHELLO/PYHELLO_utils.py @@ -42,6 +42,7 @@ __all__ = [ from omniORB import CORBA from SALOME_NamingServicePy import SALOME_NamingServicePy_i from LifeCycleCORBA import LifeCycleCORBA +import salome import SALOMEDS import SALOMEDS_Attributes_idl import PYHELLO_ORB @@ -98,36 +99,23 @@ def verbose(): ### # Get ORB reference ### -__orb__ = None def getORB(): - global __orb__ - if __orb__ is None: - __orb__ = CORBA.ORB_init( [''], CORBA.ORB_ID ) - pass - return __orb__ + salome.salome_init() + return salome.orb ## # Get life cycle CORBA instance ## -__lcc__ = None def getLCC(): - global __lcc__ - if __lcc__ is None: - __lcc__ = LifeCycleCORBA( getORB() ) - pass - return __lcc__ + salome.salome_init() + return salome.lcc ## # Get study ### -__study__ = None def getStudy(): - global __study__ - if __study__ is None: - obj = __engine__.getNamingService().Resolve( '/Study' ) - __study__ = obj._narrow( SALOMEDS.Study ) - pass - return __study__ + salome.salome_init() + return salome.myStudy ### # Get PYHELLO engine @@ -136,19 +124,7 @@ __engine__ = None def getEngine(): global __engine__ if __engine__ is None: - import KernelBasis - if KernelBasis.getSSLMode(): - import salome - import PYHELLO - from SALOME_ContainerPy import SALOME_ContainerPy_SSL_i - poa = salome.orb.resolve_initial_references("RootPOA") - poaManager = poa._get_the_POAManager() - poaManager.activate() - cpy_i = SALOME_ContainerPy_SSL_i(salome.orb, poa, "FactoryServerPy") - cpy_ref = cpy_i._this() - __engine__ = PYHELLO.PYHELLO(salome.orb,poa,cpy_ref,"FactoryServerPy", "PYHELLO_inst_2" , moduleName()) - else: - __engine__ = getLCC().FindOrLoadComponent( "FactoryServerPy", moduleName() ) + __engine__ = getLCC().FindOrLoadComponent( "FactoryServerPy", moduleName() ) pass return __engine__ -- 2.30.2