protected void load(String filename, InputStream in) { Logger.getLogger(getClass()).debug("Starting group in stream " + filename); ZipInputStream zipfile = null; try { zipfile = new ZipInputStream(in); fireBeginGroup(filename, -1); Logger.getLogger(getClass()).debug("Loading ZipInputStream " + filename); load(zipfile); Logger.getLogger(getClass()).debug("Loaded ZipInputStream " + filename); fireEndGroup(filename); } catch (IOException ex) { Logger.getLogger(getClass()).error("Cannot load Zip file \"" + filename + "\"", ex); } finally { if (zipfile != null) { try { zipfile.close(); } catch (IOException ex) { // Ignore } } } }
protected void load(ZipInputStream in) throws IOException { ZipEntry entry; while ((entry = in.getNextEntry()) != null) { fireBeginFile(entry.getName()); Logger.getLogger(getClass()) .debug("Starting file " + entry.getName() + " (" + entry.getSize() + " bytes)"); byte[] bytes = readBytes(in); Logger.getLogger(getClass()) .debug("Passing up file " + entry.getName() + " (" + bytes.length + " bytes)"); getLoader().load(entry.getName(), new ByteArrayInputStream(bytes)); fireEndFile(entry.getName()); } }