/** * Submits a request to droid. * @param info the sevenzip entry and stream to submit * @param entryName the name of the entry * @param correlationId the correlation iod for the request * @throws IOException if the input stream could not be read */ final void submit(SevenZEntryInfo info, String entryName, ResourceId correlationId) throws IOException { long size = info.entry.getSize(); Date time = new Date(); RequestMetaData metaData = new RequestMetaData( size == -1 ? null : size, time == null ? null : time.getTime(), entryName); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toSevenZUri(parentName, info.entry.getName())); identifier.setAncestorId(originatorNodeId); identifier.setParentResourceId(correlationId); if (identifier.getParentPrefix() != null && identifier.getParentPrefix().isEmpty()) { identifier.setParentPrefix(null); } IdentificationRequest<InputStream> request = factory.newRequest(metaData, identifier); request.open(info.stream); droid.submit(request); }
/** * Submits a request to droid. * @param entry the tar entry to submit * @param entryName the name of the entry * @param correlationId the correlation iod for the request * @throws IOException if the input stream could not be read */ final void submit(SevenZArchiveEntry entry, String entryName, ResourceId correlationId) throws IOException { long size = entry.getSize(); Date time = new Date(); RequestMetaData metaData = new RequestMetaData( size == -1 ? null : size, time == null ? null : time.getTime(), entryName); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toSevenZUri(parentName, entry.getName())); identifier.setAncestorId(originatorNodeId); identifier.setParentResourceId(correlationId); if (identifier.getParentPrefix() != null && identifier.getParentPrefix().isEmpty()) { identifier.setParentPrefix(null); } IdentificationRequest<InputStream> request = factory.newRequest(metaData, identifier); BoundedInputStream entryInputStream = new BoundedInputStream(in, entry.getSize()); entryInputStream.setPropagateClose(false); request.open(entryInputStream); if (!entry.isDirectory()) { droid.submit(request); } }