public void fireListeners(List<ResourceScanListener.ScanResource> scanResources, OffsetListener offsetListener, JarFile jf) { if (scanResources.size() > 0) { for (ListenerInterest interested : offsetListener.listeners) { try { List<ResourceScanListener.ScanResource> desired = interested.listener.resource(scanResources); if (desired != null) { for (ResourceScanListener.ScanResource desire : desired) { interested.listener.deliver(desire, jf.getInputStream(desire.entry)); } } } catch (Exception e) { throw new RuntimeException("Unable to ask listener for resources", e); } } scanResources.clear(); } }
private void fireFileResourceListeners(List<ResourceScanListener.ScanResource> scanResources, OffsetListener offsetListener) { if (scanResources.size() > 0) { for (ListenerInterest interested : offsetListener.listeners) { try { List<ResourceScanListener.ScanResource> desired = interested.listener.resource(scanResources); if (desired != null) { for (ResourceScanListener.ScanResource desire : desired) { if (desire.file.isFile()) { FileInputStream stream = new FileInputStream(desire.file); interested.listener.deliver(desire, stream); stream.close(); } } } } catch (Exception e) { throw new RuntimeException("Unable to ask listener for resources", e); } } scanResources.clear(); } }