/// <summary> /// Find matching tagged values for element /// </summary> /// <param name="rep"></param> /// <param name="el"></param> /// <param name="fr"></param> private static void FindMatchingElementTaggedValue(EA.Repository rep, EA.Element el, FindAndReplace fr) { foreach (EA.TaggedValue tag in el.TaggedValues) { if ((fr.tagValueNames.Length == 0) || (fr.tagValueNames.Contains(tag.Name))) { int count = FindAndReplaceItem.findCountForType(fr.regexPattern, tag.Value); if (count > 0) { FindAndReplaceItem frItem = fr.lastItem(); if ((frItem == null) || (frItem.GUID != el.ElementGUID)) { frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otElement, el.ElementGUID); fr.l_items.Add(frItem); } var frItemEl = (FindAndReplaceItemElement)frItem; frItemEl.l_itemTag.Add(new FindAndReplaceItemTagElement(tag)); frItemEl.CountChanges = frItemEl.CountChanges + count; } } } }
/// <summary> /// Find matching tagged values for element /// </summary> /// <param name="rep"></param> /// <param name="el"></param> /// <param name="fr"></param> private static void FindMatchingMethodTaggedValue(EA.Repository rep, EA.Method m, FindAndReplace fr) { foreach (EA.MethodTag tag in m.TaggedValues) { if ((fr.tagValueNames.Length == 0) || (fr.tagValueNames.Contains(tag.Name))) { int count = FindAndReplaceItem.findCountForType(fr.regexPattern, tag.Value); if (count > 0) { FindAndReplaceItem frItem = fr.lastItem(); if ((frItem == null) || (frItem.GUID != m.MethodGUID)) { frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otMethod, m.MethodGUID); fr.l_items.Add(frItem); } var frItemMeth = (FindAndReplaceItemMethod)frItem; frItemMeth.l_itemTag.Add(new FindAndReplaceItemTagMethod(tag)); frItemMeth.CountChanges = frItemMeth.CountChanges + count; } } } }
/// <summary> /// Find matching tagged values for element /// </summary> /// <param name="rep"></param> /// <param name="el"></param> /// <param name="fr"></param> private static void FindMatchingAttributeTaggedValue(EA.Repository rep, EA.Attribute a, FindAndReplace fr) { foreach (EA.AttributeTag tag in a.TaggedValues) { if ((fr.tagValueNames.Length == 0) || (fr.tagValueNames.Contains(tag.Name))) { int count = FindAndReplaceItem.findCountForType(fr.regexPattern, tag.Value); if (count > 0) { FindAndReplaceItem frItem = fr.lastItem(); if ((frItem == null) || (frItem.GUID != a.AttributeGUID)) { frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otAttribute, a.AttributeGUID); fr.l_items.Add(frItem); } var frItemAttr = (FindAndReplaceItemAttribute)frItem; frItemAttr.l_itemTag.Add(new FindAndReplaceItemTagAttribute(tag)); frItemAttr.CountChanges = frItemAttr.CountChanges + count; } } } }
/// <summary> /// Find matching tagged values for element /// </summary> /// <param name="rep"></param> /// <param name="el"></param> /// <param name="fr"></param> private static void FindMatchingPackageTaggedValue(EA.Repository rep, EA.Package pkg, FindAndReplace fr) { EA.Element el = rep.GetElementByGuid(pkg.PackageGUID); foreach (EA.TaggedValue tag in el.TaggedValues) { if ((fr.tagValueNames.Length == 0) || (fr.tagValueNames.Contains(tag.Name))) { int count = FindAndReplaceItem.findCountForType(fr.regexPattern, tag.Value); if (count > 0) { FindAndReplaceItem frItem = fr.lastItem(); if ((frItem == null) || (frItem.GUID != el.ElementGUID)) { frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otPackage, el.ElementGUID); fr.l_items.Add(frItem); } var frItemPkg = (FindAndReplaceItemPackage)frItem; frItemPkg.l_itemTag.Add(new FindAndReplaceItemTagPackage(tag)); frItemPkg.CountChanges = frItemPkg.CountChanges + count; } } } }