Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. public void collectDependencies() throws IOException {
  2.         System.out.println("Collecting dependencies of " + this.getFileName());
  3.         ZipFile zipFile = new ZipFile(FileUtils.getFile(uri));
  4.  
  5.         Enumeration<? extends ZipEntry> entries = zipFile.entries();
  6.  
  7.         while (entries.hasMoreElements()) {
  8.             ZipEntry entry = entries.nextElement();
  9.  
  10.             Path entryPath = Paths.get(getName(), "module.xml");
  11.  
  12. //          System.out.println("EntryName: " + entry.getName() + ";;" + entryPath);
  13.  
  14.             // filter out other files
  15.             if (!entry.getName().equals(entryPath.toString())) {
  16.                 continue;
  17.             }
  18.  
  19.             System.out.println("Found module.xml: " + entry.getName());
  20.  
  21.             InputStream stream = zipFile.getInputStream(entry);
  22.  
  23.             // create a new DocumentBuilderFactory
  24.             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  25.  
  26.             try {
  27.                 // use the factory to create a documentbuilder
  28.                 DocumentBuilder builder = factory.newDocumentBuilder();
  29.                 Document doc = builder.parse(stream);
  30.                 Node dependencies = doc.getElementsByTagName("Dependencies").item(0);
  31.                 if (dependencies == null) {
  32.                     // this module has no dependencies
  33.                     continue;
  34.                 }
  35.                 NodeList dependencyNodes = dependencies.getChildNodes();
  36.  
  37.                 for (int i = 0; i < dependencyNodes.getLength(); i++) {
  38.  
  39.                     Node node = dependencyNodes.item(i);
  40.                     if (node.getNodeType() == Node.ELEMENT_NODE) {
  41.                         Element elem = (Element) node;
  42.  
  43.                         // Get the value of the ID attribute.
  44.                         String name = elem.getAttribute("name");
  45.                         String version = elem.getAttribute("version");
  46.  
  47.                         // Element element = (Element) dependencyNodes.item(i);
  48.                         // String name = element.getAttribute("name");
  49.                         // String version = element.getAttribute("version");
  50.                         addDependency(new ModuleDependencyObject(name, version));
  51.                         System.out.println(this.getFileName() + " depends on " + name + "_" + version);
  52.                     }
  53.                 }
  54.  
  55.             } catch (Exception ex) {
  56.                 ex.printStackTrace();
  57.             }
  58.  
  59.         }
  60.         zipFile.close();
  61.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement