package ecologylab.bigsemantics.metametadata; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class TestUsingRepositoryAsResources { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { URL url = TestUsingRepositoryAsResources.class.getResource("/mmdrepository/primitives.xml"); if (url != null) { InputStream in = url.openStream(); String s = streamToString(in); System.out.println(s); } processResourceDir("/mmdrepository"); } public static String streamToString(InputStream stream) throws IOException { StringBuilder sb = new StringBuilder(); InputStreamReader reader = new InputStreamReader(stream); char[] buf = new char[4096]; int n = 0; while (true) { n = reader.read(buf); if (n < 0) break; sb.append(buf, 0, n); } reader.close(); return sb.toString(); } public static void processResourceDir(String resourceDirName) throws IOException { System.out.println("processing resource dir: " + resourceDirName); URL url = TestUsingRepositoryAsResources.class.getResource(resourceDirName); System.out.println("URL: " + url); InputStream in = url.openStream(); if (in == null) { System.err.println("NULL STREAM!"); URLConnection conn = url.openConnection(); if (conn == null) { System.err.println("NULL CONNECTION!"); conn.connect(); in = conn.getInputStream(); } } String list = streamToString(in); // System.out.println(list); String[] rootDirReses = list.split("\n"); for (String rootDirRes : rootDirReses) { String kidResName = resourceDirName + "/" + rootDirRes; if (rootDirRes.endsWith(".xml")) { URL kidResUrl = TestUsingRepositoryAsResources.class.getResource(kidResName); if (kidResUrl != null) System.out.println("resource found: " + kidResName); else System.out.println("!!! resource not found: " + kidResName); } else if (!rootDirRes.contains(".")) { processResourceDir(kidResName); } } } }