From 27ddd2f72a2bd5fe164d01aed6b31db10dd859eb Mon Sep 17 00:00:00 2001 From: ageay Date: Thu, 20 Jan 2005 07:27:40 +0000 Subject: [PATCH] *** empty log message *** --- src/LifeCycleCORBA/LifeCycleCORBA.py | 122 ------------------- src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx | 34 ++++-- 2 files changed, 25 insertions(+), 131 deletions(-) diff --git a/src/LifeCycleCORBA/LifeCycleCORBA.py b/src/LifeCycleCORBA/LifeCycleCORBA.py index 97e8155ae..82c364936 100644 --- a/src/LifeCycleCORBA/LifeCycleCORBA.py +++ b/src/LifeCycleCORBA/LifeCycleCORBA.py @@ -157,11 +157,8 @@ class LifeCycleCORBA: machinesOK.append(currentMachine) pass pass - print "Finding best ..........",len(machinesOK) if len(machinesOK)!=0: - print "Finding best .........." bestMachine=self._contManager.FindBest(machinesOK) - print "Finding best done .........." componentNameForNS= [CosNaming.NameComponent(bestMachine,"dir"), CosNaming.NameComponent(containerName,"dir"), CosNaming.NameComponent(componentName,"object")] @@ -220,122 +217,3 @@ class LifeCycleCORBA: return ret pass - - -## def FindOrStartContainer(self, theComputer , theContainer ): -## MESSAGE( "FindOrStartContainer" + theComputer + theContainer ) -## aContainer = self.FindContainer( theComputer + "/" + theContainer ) -## if aContainer is None : -## if (theContainer == "FactoryServer") | (theContainer == "FactoryServerPy") : -## myMachine=getShortHostName() -## if theComputer == myMachine : -## rshstr = "" -## else : -## rshstr = "rsh -n " + theComputer + " " -## path = self.ComputerPath( theComputer ) -#### if path != "" : -#### rshstr = rshstr + path + "/../bin/" -#### else : -#### rshstr = rshstr + os.getenv( "KERNEL_ROOT_DIR" ) + "/bin/" -## if theContainer == "FactoryServer" : -## rshstr = rshstr + path + "SALOME_Container " -## else : -## rshstr = rshstr + path + "SALOME_ContainerPy.py '" -## rshstr = rshstr + theContainer + " -" -## omniORBcfg = os.getenv( "OMNIORB_CONFIG" ) -## file = os.open( omniORBcfg , os.O_RDONLY ) -## ORBInitRef = os.read(file,132) -## if ORBInitRef[len(ORBInitRef)-1] == '\n' : -## ORBInitRef,bsn = ORBInitRef.split('\n') -## os.close( file ) -## rshstr = rshstr + ORBInitRef -## if theContainer == "FactoryServerPy" : -## rshstr = rshstr + "'" -## rshstr = rshstr + " > /tmp/" + theContainer + "_" -## rshstr = rshstr + theComputer -## rshstr = rshstr + ".log 2>&1 &" -## os.system( rshstr ) -## MESSAGE( "FindOrStartContainer" + rshstr + " done" ) -## else : -## if theContainer.find('Py') == -1 : -## aContainer = self.FindContainer( theComputer + "/" + "FactoryServer" ) -## else : -## aContainer = self.FindContainer( theComputer + "/" + "FactoryServerPy" ) -## aContainer = aContainer.start_impl( theContainer ) - -## count = 21 -## while aContainer is None : -## time.sleep(1) -## count = count - 1 -## MESSAGE( str(count) + ". Waiting for " + theComputer + "/" + theContainer ) -## aContainer = self.FindContainer( theComputer + "/" + theContainer ) -## if count == 0 : -## return aContainer - -## return aContainer -## #os.system("rsh -n dm2s0017 /export/home/KERNEL_ROOT/bin/runSession SALOME_Container -ORBInitRef NameService=corbaname::dm2s0017:1515") - -## #------------------------------------------------------------------------- - -## def FindOrLoadComponent(self, containerName, componentName): - -## theComputer,theContainer = self.ContainerName( containerName ) -## name = [CosNaming.NameComponent(theComputer,"dir"), -## CosNaming.NameComponent(theContainer,"dir"), -## CosNaming.NameComponent(componentName,"object")] -## try: -## obj = self._containerRootContext.resolve(name) -## except CosNaming.NamingContext.NotFound, ex: -## MESSAGE( "component " + componentName + " not found, trying to load" ) -## container = self.FindContainer(theComputer + "/" + theContainer) -## if container is None: -## MESSAGE( "container " + theComputer + "/" + theContainer + " not found in Naming Service, trying to start" ) -## if (theContainer != "FactoryServer") & (theContainer != "FactoryServerPy") : -## if theContainer.find('Py') == -1 : -## theFactorycontainer = "FactoryServer" -## else : -## theFactorycontainer = "FactoryServerPy" -## Factorycontainer = self.FindContainer(theComputer + "/" + theFactorycontainer) -## if Factorycontainer is None: -## MESSAGE( "container " + theComputer + "/" + theFactorycontainer + " not found in Naming Service, trying to start" ) -## Factorycontainer = self.FindOrStartContainer(theComputer,theFactorycontainer) -## else: -## Factorycontainer = self.FindOrStartContainer(theComputer,theContainer) -## if Factorycontainer != None : -## container = self.FindOrStartContainer(theComputer,theContainer) - -## if container != None: -## compoinfo = self._catalog.GetComponent(componentName) -## if compoinfo is None: -## MESSAGE( "component " + componentName + " not found in Module Catalog" ) -## else: -## try: -## machineName = theComputer -## path = compoinfo.GetPathPrefix(machineName) + "/" -## except SALOME_ModuleCatalog.NotFound, ex: -## MESSAGE( "machine " + machineName + " not found in Module Catalog" ) -## MESSAGE( "trying localhost" ) -## try: -## path = compoinfo.GetPathPrefix("localhost") + "/" -## except SALOME_ModuleCatalog.NotFound, ex: -## path = "" -## implementation = path + "lib" + componentName + "Engine.so" -## MESSAGE( "Trying to load " + implementation ) -## try: -## component = container.load_impl(componentName, implementation) -## MESSAGE( "component " + component._get_instanceName() + " launched !" ) -## return component -## except: -## MESSAGE( "component " + componentName + " NOT launched !" ) - -## else: -## try: -## component = obj._narrow(Engines.Component) -## if component is None: -## MESSAGE( componentName + " is not a component !" ) -## else: -## MESSAGE( "component " + component._get_instanceName() + " found !" ) -## return component -## except: -## MESSAGE( componentName + " failure" ) -## return None diff --git a/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx b/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx index f5c43f744..cbc8b24ec 100644 --- a/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx +++ b/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx @@ -109,15 +109,31 @@ Engines::Component_ptr SALOME_LifeCycleCORBA::FindOrLoad_Component (const char *containerName, const char *componentName) { - cout << "FindOrLoad_Component C++" << endl; - Engines::MachineList_var listOfMachine=new Engines::MachineList; - listOfMachine->length(1); - listOfMachine[0]=CORBA::string_dup(GetHostname().c_str()); - Engines::Component_ptr ret=FindComponent(containerName,componentName,listOfMachine.in()); - if(CORBA::is_nil(ret)) - return LoadComponent(containerName,componentName,listOfMachine); - else - return ret; + char *stContainer=strdup(containerName); + string st2Container(stContainer); + int rg=st2Container.find("/"); + if(rg<0) { + //containerName doesn't contain "/" => Local container + free(stContainer); + Engines::MachineList_var listOfMachine=new Engines::MachineList; + listOfMachine->length(1); + listOfMachine[0]=CORBA::string_dup(GetHostname().c_str()); + Engines::Component_ptr ret=FindComponent(containerName,componentName,listOfMachine.in()); + if(CORBA::is_nil(ret)) + return LoadComponent(containerName,componentName,listOfMachine); + else + return ret; + } + else { + //containerName contains "/" => Remote container + stContainer[rg]='\0'; + Engines::MachineParameters_var params=new Engines::MachineParameters; + params->container_name=CORBA::string_dup(stContainer+rg+1); + params->hostname=CORBA::string_dup(stContainer); + params->OS=CORBA::string_dup("LINUX"); + free(stContainer); + return FindOrLoad_Component(params,componentName); + } } Engines::Component_ptr SALOME_LifeCycleCORBA::FindOrLoad_Component(const Engines::MachineParameters& params, -- 2.39.2