in apache-rat-core/src/main/java/org/apache/rat/analysis/AnalyserFactory.java [137:166]
public void analyse(final Document document) throws RatDocumentAnalysisException {
Predicate<ILicense> licensePredicate;
TikaProcessor.process(document);
switch (document.getMetaData().getDocumentType()) {
case STANDARD:
new DocumentHeaderAnalyser(generatedMatcher, licenses).analyse(document);
if (configuration.getStandardProcessing() != Defaults.STANDARD_PROCESSING) {
licensePredicate = licenseFilter(configuration.getStandardProcessing()).negate();
document.getMetaData().removeLicenses(licensePredicate);
}
break;
case ARCHIVE:
if (configuration.getArchiveProcessing() != ReportConfiguration.Processing.NOTIFICATION) {
ArchiveWalker archiveWalker = new ArchiveWalker(document);
try {
licensePredicate = licenseFilter(configuration.getArchiveProcessing());
for (Document doc : archiveWalker.getDocuments()) {
analyse(doc);
doc.getMetaData().licenses().filter(licensePredicate).forEach(lic -> document.getMetaData().reportOnLicense(lic));
}
} catch (RatException e) {
throw new RatDocumentAnalysisException(e);
}
}
break;
default:
break;
}
}