Search in sources :

Example 1 with AbstractPDFExtractor

use of name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor in project portfolio by buchen.

the class PDFImportAssistant method detectBankIdentifier.

public static Extractor detectBankIdentifier(PDFInputFile inputFile, List<Extractor> extractors) {
    String author = inputFile.getAuthor();
    String text = inputFile.getText();
    for (Extractor extractor : extractors) {
        if (!(extractor instanceof AbstractPDFExtractor))
            continue;
        String a = ((AbstractPDFExtractor) extractor).getPDFAuthor();
        if (a != null && a.equals(author))
            return extractor;
    }
    // PDF import assistant - Level 2 - Precheck if specific securities
    // could cause faulty detection
    // ISIN DE0005088108 = Baader Bank Aktie detect the bank
    // identifier "Baader Bank"
    Matcher matcherISIN = Pattern.compile(// $NON-NLS-1$
    "DE0005088108|DE0005428007|DE000CBK1001|FR0000131104|INE007B01023|DE000FTG1111|CH0001351862|CH0001350328|CH0001354296|CH0001352720|CH0001350112|CH0318681860|CH0001343885|FR0000131104|INE007B01023").matcher(text);
    if (matcherISIN.find())
        return null;
    for (Extractor extractor : extractors) {
        if (!(extractor instanceof AbstractPDFExtractor))
            continue;
        List<String> bankIdentifier = ((AbstractPDFExtractor) extractor).getBankIdentifier();
        if (bankIdentifier.isEmpty() && text.contains(extractor.getLabel()))
            return extractor;
        for (String identifier : bankIdentifier) {
            if (identifier.isEmpty())
                continue;
            if (text.contains(identifier))
                return extractor;
        }
    }
    return null;
}
Also used : AbstractPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor) Matcher(java.util.regex.Matcher) Extractor(name.abuchen.portfolio.datatransfer.Extractor) AbstractPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor)

Aggregations

Matcher (java.util.regex.Matcher)1 Extractor (name.abuchen.portfolio.datatransfer.Extractor)1 AbstractPDFExtractor (name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor)1