if ( !aHyp->_is_nil() ) {
CORBA::String_var objStr = aHyp->GetParameters();
- TCollection_AsciiString aParams(theParameters);
- if(aParams.Length()) {
- SALOMEDS::GenericAttribute_var anAttr;
- anAttr = aStudyBuilder->FindOrCreateAttribute( aSObj, "AttributeString");
- SALOMEDS::AttributeString::_narrow(anAttr)->SetValue( aParams.ToCString() );
+ TCollection_AsciiString aNewParams;
+ TCollection_AsciiString anInputParams;
+ SALOMEDS::ListOfListOfStrings_var aSections = aStudy->ParseVariables(theParameters);
+
+ SALOMEDS::GenericAttribute_var anAttr;
+ anAttr = aStudyBuilder->FindOrCreateAttribute( aSObj, "AttributeString");
+ SALOMEDS::AttributeString_var aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr);
+ TCollection_AsciiString aOldParameters(aStringAttr->Value());
+ SALOMEDS::ListOfStrings aVars= aSections[0];
+ for(int i=0;i<aVars.length();i++ ) {
+ anInputParams += aStudy->IsVariable(aVars[i].in()) ?
+ TCollection_AsciiString(aVars[i].in()) : TCollection_AsciiString("");
+ if(i != aVars.length()-1)
+ anInputParams+=":";
}
- else
- aStudyBuilder->RemoveAttribute(aSObj,"AttributeString");
+ if(!aOldParameters.Length())
+ aNewParams = anInputParams;
+ else
+ aNewParams = aOldParameters+"|"+anInputParams;
+
+ aStringAttr->SetValue( aNewParams.ToCString() );
}
}