001package org.hl7.fhir.convertors.misc;
002
003import java.io.File;
004import java.io.FileInputStream;
005import java.io.IOException;
006
007import org.hl7.fhir.utilities.filesystem.ManagedFileAccess;
008import org.hl7.fhir.utilities.json.model.JsonObject;
009import org.hl7.fhir.utilities.json.model.JsonProperty;
010import org.hl7.fhir.utilities.npm.NpmPackage;
011
012@SuppressWarnings("checkstyle:systemout")
013public class XMLPackageConvertor {
014
015  public static void main(String[] args) throws IOException {
016    new XMLPackageConvertor().process(ManagedFileAccess.file("C:\\web\\hl7.org\\fhir"));
017  }
018
019  private void process(File folder) throws IOException {
020    for (File f : folder.listFiles()) {
021      if (f.isDirectory()) {
022        process(f);
023      } else {
024        if (f.getName().endsWith(".tgz")) {
025          System.out.println("Package " + f.getAbsolutePath());
026          NpmPackage p = NpmPackage.fromPackage(ManagedFileAccess.inStream(f));
027          if (p.getNpm().has("dependencies")) {
028            JsonObject dep = p.getNpm().getJsonObject("dependencies");
029            if (dep.getProperties().isEmpty()) {
030              System.out.println("  Dependencies: none");
031            } else {
032              System.out.println("  Dependencies:");
033              for (JsonProperty e : dep.getProperties()) {
034                System.out.println("    " + e.getName() + ": " + e.getValue().toString());
035              }
036            }
037          } else {
038            System.out.println("  Dependencies: n/a");
039          }
040        }
041      }
042
043
044    }
045
046  }
047
048}