public void EA_OnNotifyContextItemModified(EA.Repository Repository, String GUID, EA.ObjectType ot) { SQLRepository sqlRepository = new SQLRepository(Repository, false); if (ot == EA.ObjectType.otElement) { EA.Element eaElement2 = Repository.GetElementByGuid(GUID); SQLElement sqlElement = sqlRepository.GetElementByID(eaElement2.ElementID); if (sqlElement.Stereotype.ToLower() == SDMModelingMain.SdmContainerStereotype.ToLower()) { Activity activity = new Activity(sqlElement, sqlRepository); activity.saveTreeToEATaggedValue(true); } else if (sqlElement.MetaType == SDMModelingMain.ActivityNodeMetatype) { ActivityNode aNode = SDMUtil.createCorrectActivityNode(sqlRepository, sqlElement); if (aNode != null) { aNode.loadTreeFromTaggedValue(); aNode.Name = sqlElement.Name; aNode.saveTreeToEATaggedValue(true); } } } }
public override void doRuleQuickFix(SQLElement eaElement, SQLWrapperClasses.SQLRepository repository, int i, String errorMessage) { if (i == 0) { if (eaElement.Stereotype == ECOREModelingMain.EClassStereotype) { EClass eclass = new EClass(eaElement, repository); eclass.saveTreeToEATaggedValue(true); } else if (eaElement.Stereotype == SDMModelingMain.StartNodeStereotype || eaElement.Stereotype == SDMModelingMain.StopNodeStereotype || eaElement.Stereotype == SDMModelingMain.StoryNodeStereotype || eaElement.Stereotype == SDMModelingMain.StatementNodeStereotype) { ActivityNode aNode = SDMUtil.createCorrectActivityNode(repository, eaElement); aNode.loadTreeFromTaggedValue(); aNode.saveTreeToEATaggedValue(true); } } }
public override List <String> doRule(SQLElement eaElement, SQLWrapperClasses.SQLRepository repository) { List <String> results = new List <string>(); if (eaElement.Stereotype == ECOREModelingMain.EClassStereotype) { EClass eclass = new EClass(eaElement, repository); eclass.loadTreeFromTaggedValue(); if (eclass.Name != eaElement.Name) { results.Add("EClass name is not equal to name of the saved EClass fragment"); } if (eclass.Guid != eaElement.ElementGUID) { results.Add("EClass GUID is not equal to saved fragment GUID"); } } else if (eaElement.Stereotype == SDMModelingMain.StartNodeStereotype || eaElement.Stereotype == SDMModelingMain.StopNodeStereotype || eaElement.Stereotype == SDMModelingMain.StoryNodeStereotype || eaElement.Stereotype == SDMModelingMain.StatementNodeStereotype) { ActivityNode aNode = SDMUtil.createCorrectActivityNode(repository, eaElement); if (aNode == null) { return(new List <string>()); } aNode.loadTreeFromTaggedValue(); if (aNode.EaGuid != eaElement.ElementGUID) { results.Add("ActivityNode GUID is not equal to saved fragment GUID"); } if (eaElement.Stereotype != SDMModelingMain.StopNodeStereotype && aNode.Name != eaElement.Name && eaElement.Stereotype != SDMModelingMain.StartNodeStereotype) { results.Add("ActivityNode name is not equal to name of the saved fragment"); } } return(results); }