Exemplo n.º 1
0
 /// <summary>
 /// Find matching tagged values for element
 /// </summary>
 /// <param name="rep"></param>
 /// <param name="pkg"></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, Utils.TaggedValue.GetTaggedValue(el, tag.Name));
             if (count > 0)
             {
                 // Create the searchers
                 FindAndReplaceItem frItem = fr.LastItem();
                 if ((frItem == null) || (frItem.Guid != el.ElementGUID))
                 {
                     frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otPackage, el.ElementGUID);
                     fr.LItems.Add(frItem);
                 }
                 // Search
                 var frItemPkg = (FindAndReplaceItemPackage)frItem;
                 frItemPkg.LItemTag.Add(new FindAndReplaceItemTagPackage(tag));
                 frItemPkg.CountChanges = frItemPkg.CountChanges + count;
             }
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Find matching tagged values for element
        /// </summary>
        /// <param name="rep"></param>
        /// <param name="method"></param>
        /// <param name="fr"></param>
        private static void FindMatchingMethodTaggedValue(EA.Repository rep, EA.Method method, FindAndReplace fr)
        {
            foreach (EA.MethodTag tag in method.TaggedValues)
            {
                if ((fr.TagValueNames.Length == 0) || (fr.TagValueNames.Contains(tag.Name)))
                {
                    int count = FindAndReplaceItem.FindCountForType(fr.RegexPattern, Utils.TaggedValue.GetTaggedValue(method, tag.Name));
                    if (count > 0)
                    {
                        FindAndReplaceItem frItem = fr.LastItem();
                        if ((frItem == null) || (frItem.Guid != method.MethodGUID))
                        {
                            frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otMethod, method.MethodGUID);
                            fr.LItems.Add(frItem);
                        }

                        var frItemMeth = (FindAndReplaceItemMethod)frItem;
                        frItemMeth.LItemTag.Add(new FindAndReplaceItemTagMethod(tag));
                        frItemMeth.CountChanges = frItemMeth.CountChanges + count;
                    }
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Find matching tagged values for element
 /// </summary>
 /// <param name="rep"></param>
 /// <param name="attr"></param>
 /// <param name="fr"></param>
 private static void FindMatchingAttributeTaggedValue(EA.Repository rep, EA.Attribute attr, FindAndReplace fr)
 {
     foreach (EA.AttributeTag tag in attr.TaggedValues)
     {
         if ((fr.TagValueNames.Length == 0) || (fr.TagValueNames.Contains(tag.Name)))
         {
             int count = FindAndReplaceItem.FindCountForType(fr.RegexPattern, Utils.TaggedValue.GetTaggedValue(attr, tag.Name));
             if (count > 0)
             {
                 FindAndReplaceItem frItem = fr.LastItem();
                 if ((frItem == null) || (frItem.Guid != attr.AttributeGUID))
                 {
                     frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otAttribute, attr.AttributeGUID);
                     fr.LItems.Add(frItem);
                 }
                 // find tagged value
                 var frItemAttr = (FindAndReplaceItemAttribute)frItem;
                 frItemAttr.LItemTag.Add(new FindAndReplaceItemTagAttribute(tag));
                 frItemAttr.CountChanges = frItemAttr.CountChanges + count;
             }
         }
     }
 }
Exemplo n.º 4
0
 /// <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, Utils.TaggedValue.GetTaggedValue(el, tag.Name));
             if (count > 0)
             {
                 FindAndReplaceItem frItem = fr.LastItem();
                 if ((frItem == null) || (frItem.Guid != el.ElementGUID))
                 {
                     frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otElement, el.ElementGUID);
                     fr.LItems.Add(frItem);
                 }
                 // find tagged value
                 var frItemEl = (FindAndReplaceItemElement)frItem;
                 frItemEl.LItemTag.Add(new FindAndReplaceItemTagElement(tag));
                 frItemEl.CountChanges = frItemEl.CountChanges + count;
             }
         }
     }
 }