private void IdentifyGroupNodes() { groupNodes = new List <PSMElement>(); foreach (PSMElement element in Diagram.DiagramElements.Keys.OfType <PSMElement>()) { PSMClass psmClass = element as PSMClass; if (psmClass == null) { continue; } if (!psmClass.EncompassesContentForParentSignificantNode() && !psmClass.EncompassesAttributesForParentSignificantNodeOrSelf()) { continue; } if (!psmClass.HasElementLabel) { groupNodes.Add(element); continue; } if (changesByTarget.ContainsKey(psmClass)) { ClassElementNameChange elc = (ClassElementNameChange) changesByTarget[psmClass].FirstOrDefault( change => change is ClassElementNameChange && change.Element == psmClass); if (elc != null && elc.ElementLabelAdded) { groupNodes.Add(element); continue; } } } }
public static IList <EvolutionChange> Detect(Version v1, Version v2, PSMClass psmClass) { List <EvolutionChange> result = new List <EvolutionChange>(); if (((PSMClass)psmClass.GetInVersion(v1)).ElementName != ((PSMClass)psmClass.GetInVersion(v2)).ElementName) { ClassElementNameChange c = new ClassElementNameChange(psmClass) { OldVersion = v1, NewVersion = v2 }; result.Add(c); } return(result); }