internal static int GetObjInstanceList(ObjInstanceElementsCollector ObjInst_, string strElementName, EA.Element eaElement, XElement Xel) { if (eaElement.Type == "Object") { bool bFound = false; if (ObjInst_.GetUseObjClassNameForLookup()) { if (eaElement.Name.StartsWith(ObjInst_.GetUMLObjClassName())) { bFound = true; } } else { bFound = true; } if (ObjInst_.GetBaseType() != 0) { if (eaElement.ClassifierID == ObjInst_.GetBaseType()) { bFound = true; } else { bFound = false; } } if (bFound) { Hashtable hTaggedValues = EAExporter.ParseRunStateString(eaElement.RunState); if (strElementName != null) { XElement XParent = new XElement(strElementName); int iErr = ObjInst_.GetElements(hTaggedValues, XParent, eaElement); Xel.Add(XParent); } else { int iErr = ObjInst_.GetElements(hTaggedValues, Xel, eaElement); } } } return(0); }
internal static int GetObjInstanceList(ObjInstanceElementsCollector ObjInst_, string strElementName, EA.Package eaPackage, XElement Xel, bool bRevIterate = false) { // Go through each object in this package for Obj Instances int iErrCnt = 0; if (bRevIterate) { for (short sLoop = Convert.ToInt16(eaPackage.Elements.Count - 1); sLoop >= 0; sLoop--) { EA.Element eaElement = eaPackage.Elements.GetAt(sLoop); iErrCnt = iErrCnt + GetObjInstanceList(ObjInst_, strElementName, eaElement, Xel); } } else { foreach (EA.Element eaElement in eaPackage.Elements) { iErrCnt = iErrCnt + GetObjInstanceList(ObjInst_, strElementName, eaElement, Xel); } } return(iErrCnt); }