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); } }
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); }