X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FStudyNodes.cxx;h=cbc9d58185e052bbd88bebfa13ac2b36b0f941fd;hb=refs%2Fheads%2Fomu%2Fworkloadmanager;hp=6067003b60b3d39a4dc4ad01dd7c0f2896265a42;hpb=147f4d7e4dad17e98370dd8f93532eba73e34453;p=modules%2Fyacs.git diff --git a/src/runtime/StudyNodes.cxx b/src/runtime/StudyNodes.cxx index 6067003b6..cbc9d5818 100644 --- a/src/runtime/StudyNodes.cxx +++ b/src/runtime/StudyNodes.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2006-2016 CEA/DEN, EDF R&D +// Copyright (C) 2006-2020 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -24,7 +24,9 @@ #include "TypeCode.hxx" #include "SalomeProc.hxx" +#include "Basics_Utils.hxx" #include "SALOME_NamingService.hxx" +#include "SALOME_KernelServices.hxx" #include "SALOMEDS.hh" #include "SALOMEDS_Attributes.hh" @@ -74,20 +76,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::const_iterator iter; for(iter = _setOfOutputPort.begin(); iter != _setOfOutputPort.end(); iter++) @@ -95,7 +83,7 @@ void StudyInNode::execute() OutputStudyPort *outp = dynamic_cast(*iter); try { - outp->getDataFromStudy(myStudy); + outp->getDataFromStudy(); } catch(Exception& e) { @@ -106,7 +94,7 @@ void StudyInNode::execute() DEBTRACE("+++++++ end StudyInNode::execute +++++++++++" ); } -void StudyInNode::checkBasicConsistency() const throw(YACS::Exception) +void StudyInNode::checkBasicConsistency() const { DEBTRACE("StudyInNode::checkBasicConsistency"); if (! _setOfInputPort.empty()) @@ -178,10 +166,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 +203,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,18 +220,18 @@ void StudyOutNode::execute() for(iter = _setOfInputPort.begin(); iter != _setOfInputPort.end(); iter++) { InputStudyPort *inp = dynamic_cast(*iter); - inp->putDataInStudy(myStudy,aBuilder); + inp->putDataInStudy(aBuilder); } // save in file if ref is given if(_ref != "") { - myStudy->SaveAs(_ref.c_str(), false); + KERNEL::getStudyServant()->SaveAs(Kernel_Utils::decode_s( _ref ), false, false); } DEBTRACE("+++++++ end StudyOutNode::execute +++++++++++" ); } -void StudyOutNode::checkBasicConsistency() const throw(YACS::Exception) +void StudyOutNode::checkBasicConsistency() const { DEBTRACE("StudyOutNode::checkBasicConsistency"); if (! _setOfOutputPort.empty())