/** * set attributes of the node that represents this class * in the XMI document. */ void OwnedHierarchicalCodeBlock::setAttributesOnNode(QDomDocument & doc, QDomElement & elem) { // set super-class attributes HierarchicalCodeBlock::setAttributesOnNode(doc, elem); OwnedCodeBlock::setAttributesOnNode(doc, elem); // set local class attributes elem.setAttribute("parent_id",ID2STR(getParentObject()->id())); // setting ID's takes special treatment // as UMLRoles arent properly stored in the XMI right now. // (change would break the XMI format..save for big version change ) UMLRole * role = dynamic_cast<UMLRole*>(getParentObject()); if(role) { // see comment on role_id at OwnedCodeBlock::setAttributesOnNode() elem.setAttribute("role_id", (role->role() == Uml::A)); } /* else elem.setAttribute("role_id","-1"); */ }
/** * Set attributes of the node that represents this class * in the XMI document. */ void CodeParameter::setAttributesOnNode ( QDomDocument & doc, QDomElement & blockElement) { // set local attributes blockElement.setAttribute("parent_id",getID()); // setting ID's takes special treatment // as UMLRoles arent properly stored in the XMI right now. // (change would break the XMI format..save for big version change ) UMLRole * role = dynamic_cast<UMLRole*>(m_parentObject); if(role) blockElement.setAttribute("role_id", role->role()); else blockElement.setAttribute("role_id","-1"); blockElement.setAttribute("initialValue",getInitialValue()); // a comment which we will store in its own separate child node block QDomElement commElement = doc.createElement( "header" ); getComment()->saveToXMI(doc, commElement); // comment blockElement.appendChild( commElement); }