package husacct.analyse.abstraction.export; import java.util.ArrayList; import java.util.List; import org.jdom2.Element; import husacct.analyse.abstraction.dto.ClassDTO; import husacct.analyse.abstraction.dto.LibraryDTO; import husacct.analyse.abstraction.dto.PackageDTO; import husacct.common.dto.AbstractDTO; import husacct.common.dto.DependencyDTO; import husacct.common.dto.UmlLinkDTO; import husacct.common.imexport.XmlConversionUtils; public class XmlFileImporterAnalysedModel { private Element packagesElement = new Element("Packages"); private Element classesElement = new Element("Classes"); private Element librariesElement = new Element("Libraries"); private Element dependenciesElement = new Element("Dependencies"); private Element umlLinksElement = new Element("UmlLinks"); public XmlFileImporterAnalysedModel(Element analyseElement) { for (Element rootElement : analyseElement.getChildren()) { String name = rootElement.getName(); if (name.equals("Packages")) { packagesElement = rootElement; } else if (name.equals("Classes")){ classesElement = rootElement; } else if (name.equals("Libraries")){ librariesElement = rootElement; } else if (name.equals("Dependencies")){ dependenciesElement = rootElement; } else if (name.equals("UmlLinks")){ umlLinksElement = rootElement; } } } public List<PackageDTO> readPackagesfromXml() { List<PackageDTO> dtoList = new ArrayList<PackageDTO>(); for (Element e: packagesElement.getChildren()){ if (e.getName().equals("Package")) { PackageDTO dto = new PackageDTO(); dto = (PackageDTO) writeElementToDto(e, dto); dtoList.add(dto); } } return dtoList; } public List<ClassDTO> readClassesfromXml() { List<ClassDTO> dtoList = new ArrayList<ClassDTO>(); for (Element e: classesElement.getChildren()){ if (e.getName().equals("Class")) { ClassDTO dto = new ClassDTO(); dto = (ClassDTO) writeElementToDto(e, dto); dtoList.add(dto); } } return dtoList; } public List<LibraryDTO> readLibrariesfromXml() { List<LibraryDTO> dtoList = new ArrayList<LibraryDTO>(); for (Element e: librariesElement.getChildren()){ if (e.getName().equals("Library")) { LibraryDTO dto = new LibraryDTO(); dto = (LibraryDTO) writeElementToDto(e, dto); dtoList.add(dto); } } return dtoList; } public List<DependencyDTO> readDependenciesfromXml() { List<DependencyDTO> dtoList = new ArrayList<DependencyDTO>(); for (Element e: dependenciesElement.getChildren()){ if (e.getName().equals("Dependency")) { DependencyDTO dto = new DependencyDTO(); dto = (DependencyDTO) writeElementToDto(e, dto); dtoList.add(dto); } } return dtoList; } public List<UmlLinkDTO> readUmlLinksFromXML() { List<UmlLinkDTO> dtoList = new ArrayList<UmlLinkDTO>(); for (Element e: umlLinksElement.getChildren()){ if (e.getName().equals("UmlLink")) { UmlLinkDTO dto = new UmlLinkDTO(); dto = (UmlLinkDTO) writeElementToDto(e, dto); dtoList.add(dto); } } return dtoList; } public AbstractDTO writeElementToDto(Element element, AbstractDTO dto) { return XmlConversionUtils.writeElementToDto(element, dto); } }