for (IdentificationResult identificationResult : results.getResults()) { String format = containerFormatResolver.forPuid(identificationResult.getPuid()); if (format != null) { containerIdentifier.setMaxBytesToScan(maxBytes); IdentificationResultCollection containerResults = containerIdentifier.submit(identificationRequest); if (containerResults.getResults().size() > 0) { droid.removeLowerPriorityHits(containerResults); droid.checkForExtensionsMismatches(containerResults, format); containerResults.setFileLength(identificationRequest.size()); containerResults.setRequestMetaData(identificationRequest.getRequestMetaData()); return containerResults;
IdentificationResultCollection finalResults = new IdentificationResultCollection(request); boolean container = false; if (containerResults.getResults().size() > 0) { container = true; finalResults = containerResults; } else if (results.getResults().size() > 0) { finalResults = results; if (finalResults.getResults().size() > 0) { binarySignatureIdentifier.removeLowerPriorityHits(finalResults); if (finalResults.getResults().size() > 0) { for (IdentificationResult identResult : finalResults.getResults()) { String puid = identResult.getPuid(); if (!container && JIP_ARCHIVE.equals(puid)) { new GZipArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1, webArchives); gzipArchiveIdentifier.identify(results.getUri(), request); } else if (TAR_ARCHIVE.equals(puid)) { TarArchiveContentIdentifier tarArchiveIdentifier = new TarArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1); tarArchiveIdentifier.identify(results.getUri(), request); } else if (ZIP_ARCHIVE.equals(puid) || JIP_ARCHIVE.equals(puid)) { ZipArchiveContentIdentifier zipArchiveIdentifier = new ZipArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1); zipArchiveIdentifier.identify(results.getUri(), request);
final List<IdentificationResult> theResults = results.getResults(); int numResults = theResults.size(); for (int i = 0; i < numResults; i++) { for (int i = 0; i < numResults; i++) { final IdentificationResult result = lowerPriorityResults.get(i); results.removeResult(result);
if (fileExtension == null || fileExtension.isEmpty()) { FileFormatCollection allFormats = sigFile.getFileFormatCollection(); final List<IdentificationResult> theResults = results.getResults(); final FileFormat format = allFormats.getFormatForPUID(resultPUID); if (format.getNumExtensions() > 0) { results.setExtensionMismatch(true); break; final List<IdentificationResult> theResults = results.getResults(); final FileFormat format = allFormats.getFormatForPUID(resultPUID); if (format.hasExtensionMismatch(fileExtension)) { results.setExtensionMismatch(true); break;
public IdentificationResultCollection matchExtensions( IdentificationRequest request, boolean allExtensions) { IdentificationResultCollection results = new IdentificationResultCollection(request); results.setRequestMetaData(request.getRequestMetaData()); String fileExtension = request.getExtension(); if (fileExtension != null && !fileExtension.isEmpty()) { result.setMimeType(format.getMimeType()); result.setMethod(IdentificationMethod.EXTENSION); results.addResult(result); results.setFileLength(request.size()); results.setRequestMetaData(request.getRequestMetaData()); return results;
ProfileResourceNode node = new ProfileResourceNode(results.getUri()); RequestMetaData requestMetaData = results.getRequestMetaData(); metaData.setSize(results.getFileLength()); metaData.setName(requestMetaData.getName()); metaData.setExtension(ResourceUtils.getExtension(requestMetaData.getName())); metaData.setResourceType(results.isArchive() ? ResourceType.CONTAINER : ResourceType.FILE); metaData.setHash(requestMetaData.getHash()); node.setExtensionMismatch(results.getExtensionMismatch()); node.setFinished(new Date()); ResourceId parentId = results.getCorrelationId(); if (results.getResults().isEmpty()) { node.addFormatIdentification(Format.NULL); node.setZeroIdentifications(); } else { final List<IdentificationResult> theResults = results.getResults(); final int numResults = theResults.size();
private String getContainerFormat(IdentificationResultCollection results) { final List<IdentificationResult> theResults = results.getResults(); final int numResults = theResults.size(); // use an indexed loop to reduce garbage, don't allocate an iterator. for (int i = 0; i < numResults; i++) { final IdentificationResult result = theResults.get(i); final String format = containerFormatResolver.forPuid(result.getPuid()); if (format != null) { return format; } } return null; }
for (IdentificationResult identificationResult : results.getResults()) { try { FileFormat fileFormat = retrieveSigFileDetails().getFileFormat(identificationResult.getPuid()); result.setMethod(IdentificationMethod.CONTAINER); result.setRequestMetaData(identificationResult.getMetaData()); containerResults.removeResult(identificationResult); containerResults.addResult(result);
new IdentificationResultCollection(request); if (results.getResults().size() > 0 && containerSignatureDefinitions != null) { for (IdentificationResult identResult : results.getResults()) { String filePuid = identResult.getPuid(); if (filePuid != null) {
final IdentificationResultCollection results = new IdentificationResultCollection(request); final List<ContainerSignatureMatch> matchList = matches.getContainerSignatureMatches(); result.setRequestMetaData(request.getRequestMetaData()); result.setPuid(mapping.getPuid()); results.addResult(result);
if (!puidMap.containsKey(puid)) { puidMap.put(puid, ""); containerResults.addResult(result);
/** * {@inheritDoc} */ @Override public IdentificationResultCollection matchBinarySignatures(IdentificationRequest request) { //BNO: Called once for each identification request IdentificationResultCollection results = new IdentificationResultCollection(request); results.setRequestMetaData(request.getRequestMetaData()); ByteReader byteReader = new IdentificationRequestByteReaderAdapter(request); sigFile.runFileIdentification(byteReader); final int numHits = byteReader.getNumHits(); for (int i = 0; i < numHits; i++) { FileFormatHit hit = byteReader.getHit(i); IdentificationResultImpl result = new IdentificationResultImpl(); result.setMimeType(hit.getMimeType()); result.setName(hit.getFileFormatName()); result.setVersion(hit.getFileFormatVersion()); result.setPuid(hit.getFileFormatPUID()); result.setMethod(IdentificationMethod.BINARY_SIGNATURE); results.addResult(result); } results.setFileLength(request.size()); results.setRequestMetaData(request.getRequestMetaData()); return results; }
ProfileResourceNode node = new ProfileResourceNode(results.getUri()); RequestMetaData requestMetaData = results.getRequestMetaData(); metaData.setSize(results.getFileLength()); metaData.setName(requestMetaData.getName()); metaData.setExtension(ResourceUtils.getExtension(requestMetaData.getName())); metaData.setResourceType(results.isArchive() ? ResourceType.CONTAINER : ResourceType.FILE); metaData.setHash(requestMetaData.getHash()); node.setExtensionMismatch(results.getExtensionMismatch()); node.setFinished(new Date()); ResourceId parentId = results.getCorrelationId(); if (results.getResults().isEmpty()) { node.addFormatIdentification(Format.NULL); node.setZeroIdentifications(); } else { final List<IdentificationResult> theResults = results.getResults(); final int numResults = theResults.size();
private String getContainerFormat(IdentificationResultCollection results) { final List<IdentificationResult> theResults = results.getResults(); final int numResults = theResults.size(); // use an indexed loop to reduce garbage, don't allocate an iterator. for (int i = 0; i < numResults; i++) { final IdentificationResult result = theResults.get(i); final String format = containerFormatResolver.forPuid(result.getPuid()); if (format != null) { return format; } } return null; }
new IdentificationResultCollection(request); if (results.getResults().size() > 0 && containerSignatureDefinitions != null) { for (IdentificationResult identResult : results.getResults()) { String filePuid = identResult.getPuid(); if (filePuid != null) {
final IdentificationResultCollection results = new IdentificationResultCollection(request); final List<ContainerSignatureMatch> matchList = matches.getContainerSignatureMatches(); result.setRequestMetaData(request.getRequestMetaData()); result.setPuid(mapping.getPuid()); results.addResult(result);
droidCore.removeLowerPriorityHits(containerResults); droidCore.checkForExtensionsMismatches(containerResults, request.getExtension()); containerResults.setFileLength(request.size()); containerResults.setRequestMetaData(request.getRequestMetaData()); return containerResults.getResults().isEmpty() ? null : containerResults;
IdentificationResultCollection finalResults = new IdentificationResultCollection(request); boolean container = false; if (containerResults.getResults().size() > 0) { container = true; finalResults = containerResults; } else if (results.getResults().size() > 0) { finalResults = results; if (finalResults.getResults().size() > 0) { binarySignatureIdentifier.removeLowerPriorityHits(finalResults); if (finalResults.getResults().size() > 0) { for (IdentificationResult identResult : finalResults.getResults()) { String puid = identResult.getPuid(); if (!container && JIP_ARCHIVE.equals(puid)) { new GZipArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1); gzipArchiveIdentifier.identify(results.getUri(), request); } else if (TAR_ARCHIVE.equals(puid)) { TarArchiveContentIdentifier tarArchiveIdentifier = new TarArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1); tarArchiveIdentifier.identify(results.getUri(), request); } else if (ZIP_ARCHIVE.equals(puid) || JIP_ARCHIVE.equals(puid)) { ZipArchiveContentIdentifier zipArchiveIdentifier = new ZipArchiveContentIdentifier(binarySignatureIdentifier, containerSignatureDefinitions, path, slash, slash1); zipArchiveIdentifier.identify(results.getUri(), request);
IdentificationResultCollection results = binarySignatureIdentifier .matchBinarySignatures(request); log.finer("Got " + results.getResults().size() + " matches."); List<IdentificationResult> resultList = results.getResults(); if (resultList != null && resultList.isEmpty() && allowMatchByFileExtension) { log.finer( "Fallen back on file extension results, with # results = " + results.getResults().size()); if (results.getResults().size() > 0) { return results.getResults(); } else { return null;
droidCore.removeLowerPriorityHits(containerResults); droidCore.checkForExtensionsMismatches(containerResults, request.getExtension()); containerResults.setFileLength(request.size()); containerResults.setRequestMetaData(request.getRequestMetaData()); return containerResults.getResults().isEmpty() ? null : containerResults;