public List <Node> GetAllHierarchies() { List <Node> result = new List <Node>(); EAAPI.Collection searchResult = _repository.GetElementsByQuery("SpecificationPackages", ""); if (searchResult.Count > 0) { for (short counter = 0; counter < searchResult.Count; counter++) { EAAPI.Element packageElement = searchResult.GetAt(counter) as EAAPI.Element; EAAPI.Package package = _repository.GetPackageByGuid(packageElement.ElementGUID); CachedDataProvider eaCacheDataProvider = new CachedDataProvider(_repository); EADM.Element specificationPackageElement = eaCacheDataProvider.GetCachedSpecification(package); Node rootNode = new Node(); ConvertEaDataToSpecifNodeRecursively(specificationPackageElement, rootNode); result = rootNode.Nodes; } } return(result); }
private void PrintPackage(EA.Package package) { Trace(package.Name); EA.Collection packages = package.Packages; for (short ip = 0; ip < packages.Count; ip++) { EA.Package child = (EA.Package)packages.GetAt(ip); PrintPackage(child); } }
public bool PrintModel() { if (Repository == null) { Trace(String.Format("Repository unavailable for pid {0}", m_ProcessID)); return(false); } Trace(String.Format("Target repository process pid {0}", m_ProcessID)); EA.Collection packages = Repository.Models; for (short ip = 0; ip < packages.Count; ip++) { EA.Package child = (EA.Package)packages.GetAt(ip); PrintPackage(child); } return(true); }
private Dictionary <String, EAAPI.Element> ConvertEAElementsToDictionary(EAAPI.Collection eaElements) { Dictionary <String, EAAPI.Element> dicElements = new Dictionary <string, EAAPI.Element>(); for (short nIndex = 0; nIndex < eaElements.Count; nIndex++) { EAAPI.Element element = (EAAPI.Element)eaElements.GetAt(nIndex); if (false == dicElements.ContainsKey(element.Alias)) { dicElements.Add(element.Alias, element); } } return(dicElements); }