@Override public IdentificationRequest<InputStream> newRequest(RequestMetaData metaData, RequestIdentifier identifier) { return new FatFileIdentificationRequest(metaData, identifier, getTempDirLocation()); } }
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); }
private void processEntry(FsDirectoryEntry entry, URI uri, String newPath) throws CommandExecutionException, IOException { String name = entry.getName(); if (!entry.isDirectory()) { final RequestMetaData metaData = new RequestMetaData(entry.getFile().getLength(), 2L, name); final RequestIdentifier identifier = new RequestIdentifier(uri); FatFileIdentificationRequest req = new FatFileIdentificationRequest(metaData, identifier, getTmpDir()); ByteBuffer buffer = ByteBuffer.allocate((int) entry.getFile().getLength()); entry.getFile().read(0, buffer); buffer.flip(); expandContainer(req, new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.limit()), newPath); } else { log.trace("processing directory : " + entry.getName()); } } }