def createStereotype(owner, element): if isinstance(element, Package): if StereotypesHelper.hasStereotype(element, StereotypesHelper.getStereotype(project, "View")): package = element.getName().find("View") if package == -1: element.setName(element.getName() + " View") else: package = element.getName().find("Package") if package == -1: element.setName(element.getName() + " View") if not isinstance(element, EnumerationLiteral): eSter = StereotypesHelper.getAllAssignedStereotypes([element]) eSter = filter(lambda element: element != StereotypesHelper.getStereotype(project, "Diagram Info"), eSter) newSter = StereotypesHelper.createStereotype(owner, element.getName(), [StereotypesHelper.getBaseClass(element)]) StereotypesHelper.addStereotypeByString(element, element.getName()) for e in eSter: newgen = ef.createGeneralizationInstance() gl.log(e.getQualifiedName()) gl.log(newSter.getQualifiedName()) newgen.setGeneral(e) newgen.setSpecific(newSter) newgen.setOwner(newSter) icon = filter(lambda element: isinstance(element, Image), e.getOwnedElement()) if icon: icon = icon[0] newicon= ef.createImageInstance() newicon.setLocation(icon.getLocation()) newicon.setContent(icon.getContent()) newicon.setFormat(icon.getFormat()) newicon.setOwner(newSter) return
def createStereotype(owner, element, stereotypePackage): '''append Package to any package element, this is an OpsRev naming convention ''' if isinstance(element, Package): package = element.getName().find("Package") if package == -1: element.setName(element.getName() + " Package") '''stereotypes should not be made for enumeration literals''' if not isinstance(element, EnumerationLiteral): eSter = StereotypesHelper.getAllAssignedStereotypes([element]) elementSterName = propertyCheck(element) newSter = StereotypesHelper.createStereotype(owner, elementSterName, [StereotypesHelper.getBaseClass(element)]) StereotypesHelper.addStereotype(element, newSter) for e in eSter: if StereotypesHelper.getProfileForStereotype(e) == StereotypesHelper.getProfile(project, "SysML") or StereotypesHelper.getProfileForStereotype(e) == StereotypesHelper.getProfile(project, "additional_stereotypes"): newgen = ef.createGeneralizationInstance() newgen.setGeneral(e) newgen.setSpecific(newSter) newgen.setOwner(newSter) icon = filter(lambda element: isinstance(element, Image), e.getOwnedElement()) if icon: icon = icon[0] newicon= ef.createImageInstance() newicon.setLocation(icon.getLocation()) newicon.setContent(icon.getContent()) newicon.setFormat(icon.getFormat()) newicon.setOwner(newSter) if isinstance(element, Class) and e.getOwner() == stereotypePackage: newgen = ef.createGeneralizationInstance() newgen.setGeneral(e) newgen.setSpecific(newSter) newgen.setOwner(newSter) icon = filter(lambda element: isinstance(element, Image), e.getOwnedElement()) if icon: icon = icon[0] newicon = ef.createImageInstance() newicon.setLocation(icon.getLocation()) newicon.setContent(icon.getContent()) newicon.setFormat(icon.getFormat()) newicon.setOwner(newSter) return