@Override public int read(final ByteBuffer dst) throws IOException { if (isOpen) { final int bytesCopied = ArchiveFileUtils.copyToBuffer(reader, position, dst); position += bytesCopied; return bytesCopied; } return -1; }
/** * Builds a URI for a 7z file entry. * @param parent the parent 7z file. * @param sevenZipEntry the 7z entry * @return the URI */ public static URI toSevenZUri(URI parent, String sevenZipEntry) { return toUri(parent, sevenZipEntry, ImageType.SEVENZ); }
private void submitFile(FsFile file, FsDirectoryEntry entry) throws IOException { FsDirectoryEntry parent = parentMap.get(entry); ResourceId correlationId = rootParentId; if (parent != null) { correlationId = directories.get(parent); } RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toFatImageUri(fatFileUri, expand(entry, parentMap))); identifier.setAncestorId(originatorNodeId); identifier.setParentResourceId(correlationId); RequestMetaData requestMetaData = new RequestMetaData(file.getLength(), entry.getCreated(), entry.getName()); IdentificationRequest<InputStream> req = factory.newRequest(requestMetaData, identifier); Path tempFile = ArchiveFileUtils.writeFsFileToTemp(entry, ((FatFileIdentificationRequest) req).getTempDir()); InputStream is = new FileInputStream(tempFile.toFile()); req.open(is); droid.submit(req); }
/** * @param parentName * @param entry * @param entryName * @param correlationId * @return */ private ResourceId submitDirectory(final URI parentName, TarArchiveEntry entry, String entryName, ResourceId correlationId) { IdentificationResultImpl result = new IdentificationResultImpl(); long size = entry.getSize(); Date date = entry.getModTime(); long time = date == null ? -1 : date.getTime(); RequestMetaData metaData = new RequestMetaData( size != -1 ? size : null, time != -1 ? time : null, entryName); RequestIdentifier identifier = new RequestIdentifier( ArchiveFileUtils.toTarUri(parentName, entry.getName())); result.setRequestMetaData(metaData); result.setIdentifier(identifier); return resultHandler.handleDirectory(result, correlationId, false); }
List<String> paths = ArchiveFileUtils.getAncestorPaths(path); ResourceId longestParentId = parentId;
private ResourceId submitDirectory(String path, long lastModifiedTime) throws URISyntaxException, UnsupportedEncodingException { String parentPath = FilenameUtils.getPath(path.substring(0, path.length() - 1)); String name = FilenameUtils.getName(path.substring(0, path.length() - 1)); log.debug("processing path: " + path + " name: " + name); ResourceId resourceId = directories.get(name); if (resourceId == null) { ResourceId parentID = directories.get(parentPath); if (parentID == null) { parentID = submitDirectory(parentPath, lastModifiedTime); } RequestMetaData metaData = new RequestMetaData(null, lastModifiedTime, name); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toIsoImageUri(isoFileUri, path)); IdentificationResultImpl result = new IdentificationResultImpl(); result.setRequestMetaData(metaData); result.setIdentifier(identifier); resourceId = resultHandler.handleDirectory(result, parentID, false); this.directories.put(path, resourceId); } return resourceId; }
private ResourceId submitDirectory(String fullPath, Date mTime) throws URISyntaxException, UnsupportedEncodingException { String parentPath = FilenameUtils.getPath(fullPath.substring(0, fullPath.length() - 1)); String name = FilenameUtils.getName(fullPath.substring(0, fullPath.length() - 1)); //CHECKSTYLE:OFF log.debug("submitDirectory, processing path: " + parentPath + " name: " + name); //CHECKSTYLE:ON ResourceId resourceId = getFromDirCache(fullPath); if (resourceId == null) { ResourceId parentID = getFromDirCache(parentPath); if (parentID == null) { parentID = submitDirectory(parentPath, mTime); } RequestMetaData metaData = new RequestMetaData(null, mTime.getTime(), name); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toRarUri(parentURI, fullPath)); IdentificationResultImpl result = new IdentificationResultImpl(); result.setRequestMetaData(metaData); result.setIdentifier(identifier); resourceId = resultHandler.handleDirectory(result, parentID, false); saveDirToCache(fullPath, resourceId); } return resourceId; }
/** * 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); }
URI parent = request.getIdentifier().getUri(); long correlationId = request.getIdentifier().getNodeId(); final URI uri = ArchiveFileUtils.toBZipUri(parent);
URI parent = request.getIdentifier().getUri(); long correlationId = request.getIdentifier().getNodeId(); final URI uri = ArchiveFileUtils.toGZipUri(parent);
private void submitDirectory(FsDirectoryEntry directoryEntry) throws IOException { ResourceId resourceId = directories.get(directoryEntry); if (resourceId == null) { FsDirectoryEntry parent = parentMap.get(directoryEntry); ResourceId parentID; if (parent != null) { parentID = directories.get(parent); } else { parentID = rootParentId; } RequestMetaData metaData = new RequestMetaData(null, directoryEntry.getLastModified(), directoryEntry.getName()); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toFatImageUri(fatFileUri, expand(directoryEntry, parentMap))); IdentificationResultImpl result = new IdentificationResultImpl(); result.setRequestMetaData(metaData); result.setIdentifier(identifier); resourceId = resultHandler.handleDirectory(result, parentID, false); this.directories.put(directoryEntry, resourceId); } }
/** * @param parentName * @param entry * @param entryName * @param correlationId * @return */ private ResourceId submitDirectory(final URI parentName, TarArchiveEntry entry, String entryName, ResourceId correlationId) { IdentificationResultImpl result = new IdentificationResultImpl(); long size = entry.getSize(); Date date = entry.getModTime(); long time = date == null ? -1 : date.getTime(); RequestMetaData metaData = new RequestMetaData( size != -1 ? size : null, time != -1 ? time : null, entryName); RequestIdentifier identifier = new RequestIdentifier( ArchiveFileUtils.toTarUri(parentName, entry.getName())); result.setRequestMetaData(metaData); result.setIdentifier(identifier); return resultHandler.handleDirectory(result, correlationId, false); }
List<String> paths = ArchiveFileUtils.getAncestorPaths(path); ResourceId longestParentId = parentId;
private ResourceId submitDirectory(String path, long lastModifiedTime) throws URISyntaxException, UnsupportedEncodingException { String parentPath = FilenameUtils.getPath(path.substring(0, path.length() - 1)); String name = FilenameUtils.getName(path.substring(0, path.length() - 1)); log.debug("processing path: " + path + " name: " + name); ResourceId resourceId = directories.get(name); if (resourceId == null) { ResourceId parentID = directories.get(parentPath); if (parentID == null) { parentID = submitDirectory(parentPath, lastModifiedTime); } RequestMetaData metaData = new RequestMetaData(null, lastModifiedTime, name); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toIsoImageUri(isoFileUri, path)); IdentificationResultImpl result = new IdentificationResultImpl(); result.setRequestMetaData(metaData); result.setIdentifier(identifier); resourceId = resultHandler.handleDirectory(result, parentID, false); this.directories.put(path, resourceId); } return resourceId; }
private ResourceId submitDirectory(String fullPath, Date mTime) throws URISyntaxException, UnsupportedEncodingException { String parentPath = FilenameUtils.getPath(fullPath.substring(0, fullPath.length() - 1)); String name = FilenameUtils.getName(fullPath.substring(0, fullPath.length() - 1)); //CHECKSTYLE:OFF log.debug("submitDirectory, processing path: " + parentPath + " name: " + name); //CHECKSTYLE:ON ResourceId resourceId = getFromDirCache(fullPath); if (resourceId == null) { ResourceId parentID = getFromDirCache(parentPath); if (parentID == null) { parentID = submitDirectory(parentPath, mTime); } RequestMetaData metaData = new RequestMetaData(null, mTime.getTime(), name); RequestIdentifier identifier = new RequestIdentifier(ArchiveFileUtils.toRarUri(parentURI, fullPath)); IdentificationResultImpl result = new IdentificationResultImpl(); result.setRequestMetaData(metaData); result.setIdentifier(identifier); resourceId = resultHandler.handleDirectory(result, parentID, false); saveDirToCache(fullPath, resourceId); } return resourceId; }
/** * 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); } }
URI parent = request.getIdentifier().getUri(); long correlationId = request.getIdentifier().getNodeId(); final URI uri = ArchiveFileUtils.toBZipUri(parent);
URI parent = request.getIdentifier().getUri(); long correlationId = request.getIdentifier().getNodeId(); final URI uri = ArchiveFileUtils.toGZipUri(parent);
/** * Builds a URI for a Fat file entry. * @param parent the parent Fat file. * @param fatEntry the Fat entry * @return the URI */ public static URI toFatImageUri(URI parent, String fatEntry) { return toUri(parent, fatEntry, ImageType.FAT); }
/** * @param parentName * @param entry * @param entryName * @param correlationId * @return */ private static ResourceId submitDirectory(final URI parentName, SevenZArchiveEntry entry, String entryName, ResourceId correlationId, ResultHandler resultHandler) { IdentificationResultImpl result = new IdentificationResultImpl(); long size = entry.getSize(); Date date = entry.getLastModifiedDate(); long time = date == null ? -1 : date.getTime(); RequestMetaData metaData = new RequestMetaData( size != -1 ? size : null, time != -1 ? time : null, entryName); RequestIdentifier identifier = new RequestIdentifier( ArchiveFileUtils.toTarUri(parentName, entry.getName())); result.setRequestMetaData(metaData); result.setIdentifier(identifier); return resultHandler.handleDirectory(result, correlationId, false); }