X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fengine%2FVisitorSaveSchema.cxx;h=cf7abb9a1e06ebc37d571d75df35db54ca6a4a8f;hb=0bd13bd4ef07bb64637ec2a49d8e5908c909c49b;hp=cc6cd1c1a04543d131405d71ea9da4d8845ea1fd;hpb=88c5f67088445931a1598331e1faae6df0145c0b;p=modules%2Fyacs.git diff --git a/src/engine/VisitorSaveSchema.cxx b/src/engine/VisitorSaveSchema.cxx index cc6cd1c1a..cf7abb9a1 100644 --- a/src/engine/VisitorSaveSchema.cxx +++ b/src/engine/VisitorSaveSchema.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2006-2014 CEA/DEN, EDF R&D +// Copyright (C) 2006-2016 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 @@ -34,6 +34,7 @@ #include "Switch.hxx" #include "InputPort.hxx" #include "TypeCode.hxx" +#include "HomogeneousPoolContainer.hxx" #include "ComponentInstance.hxx" #include "InputDataStreamPort.hxx" #include "OutputDataStreamPort.hxx" @@ -133,6 +134,7 @@ void VisitorSaveSchema::visitForEachLoop(ForEachLoop *node) _out << " state=\"disabled\""; if (!nbranch->isEmpty()) _out << " nbranch=\"" << nbranch->getIntValue() << "\""; + _out << " loopWeight=\"" << node->getWeight()->getSimpleLoopWeight() << "\""; if (node->edGetSamplePort()) _out << " type=\"" << node->edGetSamplePort()->edGetType()->name() << "\""; _out << ">" << endl; @@ -158,6 +160,7 @@ void VisitorSaveSchema::visitOptimizerLoop(OptimizerLoop *node) _out << " state=\"disabled\""; if (!nbranch->isEmpty()) _out << " nbranch=\"" << nbranch->getIntValue() << "\""; + _out << " loopWeight=\"" << node->getWeight()->getSimpleLoopWeight() << "\""; _out << " lib=\"" << node->getAlgLib() << "\""; _out << " entry=\"" << node->getSymbol() << "\""; _out << ">" << endl; @@ -221,10 +224,13 @@ void VisitorSaveSchema::visitInlineNode(InlineNode *node) DEBTRACE("START visitInlineNode " << _root->getChildName(node)); beginCase(node); int depth = depthNode(node); - if(node->getExecutionMode()=="local") + if(node->getExecutionMode()==InlineNode::LOCAL_STR) _out << indent(depth) << "getName() << "\""; else - _out << indent(depth) << "getName() << "\""; + { + _out << indent(depth) << "getName() << "\""; + _out << " elementaryWeight=\"" << node->getWeight()->getElementaryWeight() << "\""; + } if (node->getState() == YACS::DISABLED) _out << " state=\"disabled\">" << endl; else @@ -244,7 +250,7 @@ void VisitorSaveSchema::visitInlineNode(InlineNode *node) writeOutputPorts(node); writeOutputDataStreamPorts(node); - if(node->getExecutionMode()=="local") + if(node->getExecutionMode()==InlineNode::LOCAL_STR) _out << indent(depth) << "" << endl; else _out << indent(depth) << "" << endl; @@ -258,10 +264,13 @@ void VisitorSaveSchema::visitInlineFuncNode(InlineFuncNode *node) DEBTRACE("START visitInlineFuncNode " << _root->getChildName(node)); beginCase(node); int depth = depthNode(node); - if(node->getExecutionMode()=="local") + if(node->getExecutionMode()==InlineNode::LOCAL_STR) _out << indent(depth) << "getName() << "\""; else - _out << indent(depth) << "getName() << "\""; + { + _out << indent(depth) << "getName() << "\""; + _out << " elementaryWeight=\"" << node->getWeight()->getElementaryWeight() << "\""; + } if (node->getState() == YACS::DISABLED) _out << " state=\"disabled\">" << endl; else @@ -283,7 +292,7 @@ void VisitorSaveSchema::visitInlineFuncNode(InlineFuncNode *node) writeOutputPorts(node); writeOutputDataStreamPorts(node); - if(node->getExecutionMode()=="local") + if(node->getExecutionMode()==InlineNode::LOCAL_STR) _out << indent(depth) << "" << endl; else _out << indent(depth) << "" << endl; @@ -699,11 +708,25 @@ void VisitorSaveSchema::writeContainers(Proc *proc) { string name = it->first; _out << indent(depth) << "" << endl; + _out << indent(depth+1) << "second->getKind() << "\"/>" << endl; + _out << indent(depth+1) << "second->isAttachedOnCloning() << "\"/>" << endl; map properties = (it->second)->getProperties(); map::iterator itm; for(itm = properties.begin(); itm != properties.end(); ++itm) - _out << indent(depth+1) << "" << endl; + { + if((*itm).first==Container::KIND_ENTRY) + continue; + if((*itm).first==Container::AOC_ENTRY) + continue; + if((*itm).first!=HomogeneousPoolContainer::INITIALIZE_SCRIPT_KEY) + { + _out << indent(depth+1) << "" << endl; + } + else + { + _out << indent(depth+1) << "" << endl; + } + } _out << indent(depth) << "" << endl; } } @@ -782,8 +805,8 @@ void VisitorSaveSchema::writeControls(ComposedNode *node) for (list::iterator ic = setOfChildren.begin(); ic != setOfChildren.end(); ++ic) { // --- Control links from direct descendant to nodes inside the bloc - set setOfInGates = (*ic)->getOutGate()->edSetInGate(); - for (set::iterator ig = setOfInGates.begin(); ig != setOfInGates.end(); ++ig) + list setOfInGates = (*ic)->getOutGate()->edSetInGate(); + for (list::iterator ig = setOfInGates.begin(); ig != setOfInGates.end(); ++ig) { Node *to = (*ig)->getNode(); if (node->isInMyDescendance(to)) @@ -1067,11 +1090,6 @@ void VisitorSaveSchema::writeParametersNode(ComposedNode *proc, Node *node) { int depth = 1; list setOfInputPort = node->getLocalInputPorts(); - if (ForEachLoop* foreach = dynamic_cast(node)) - { - DEBTRACE("writeParametersNode foreach"); - setOfInputPort.push_back( foreach->edGetSeqOfSamplesPort()); - } list::iterator iter; for(iter = setOfInputPort.begin(); iter != setOfInputPort.end(); ++iter) {