Beispiel #1
0
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
Beispiel #2
0
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