Search in sources :

Example 26 with Extractor

use of name.abuchen.portfolio.datatransfer.Extractor in project portfolio by buchen.

the class ReviewExtractedItemsPage method createControl.

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    setControl(container);
    container.setLayout(new FormLayout());
    Composite targetContainer = new Composite(container, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(4).applyTo(targetContainer);
    lblPrimaryAccount = new Label(targetContainer, SWT.NONE);
    lblPrimaryAccount.setText(Messages.ColumnAccount);
    Combo cmbAccount = new Combo(targetContainer, SWT.READ_ONLY);
    primaryAccount = new ComboViewer(cmbAccount);
    primaryAccount.setContentProvider(ArrayContentProvider.getInstance());
    primaryAccount.setInput(client.getActiveAccounts());
    primaryAccount.addSelectionChangedListener(e -> checkEntriesAndRefresh(allEntries));
    lblSecondaryAccount = new Label(targetContainer, SWT.NONE);
    lblSecondaryAccount.setText(Messages.LabelTransferTo);
    lblSecondaryAccount.setVisible(false);
    Combo cmbAccountTarget = new Combo(targetContainer, SWT.READ_ONLY);
    secondaryAccount = new ComboViewer(cmbAccountTarget);
    secondaryAccount.setContentProvider(ArrayContentProvider.getInstance());
    secondaryAccount.setInput(client.getActiveAccounts());
    secondaryAccount.getControl().setVisible(false);
    lblPrimaryPortfolio = new Label(targetContainer, SWT.NONE);
    lblPrimaryPortfolio.setText(Messages.ColumnPortfolio);
    Combo cmbPortfolio = new Combo(targetContainer, SWT.READ_ONLY);
    primaryPortfolio = new ComboViewer(cmbPortfolio);
    primaryPortfolio.setContentProvider(ArrayContentProvider.getInstance());
    primaryPortfolio.setInput(client.getActivePortfolios());
    primaryPortfolio.addSelectionChangedListener(e -> checkEntriesAndRefresh(allEntries));
    lblSecondaryPortfolio = new Label(targetContainer, SWT.NONE);
    lblSecondaryPortfolio.setText(Messages.LabelTransferTo);
    lblSecondaryPortfolio.setVisible(false);
    Combo cmbPortfolioTarget = new Combo(targetContainer, SWT.READ_ONLY);
    secondaryPortfolio = new ComboViewer(cmbPortfolioTarget);
    secondaryPortfolio.setContentProvider(ArrayContentProvider.getInstance());
    secondaryPortfolio.setInput(client.getActivePortfolios());
    secondaryPortfolio.getControl().setVisible(false);
    lblImportAssistantExtractor = new Label(targetContainer, SWT.NONE);
    lblImportAssistantExtractor.setText(Messages.PDFImportWizardExtractor);
    Combo cmbImportAssistantExtractor = new Combo(targetContainer, SWT.READ_ONLY);
    comboExtractors = new ComboViewer(cmbImportAssistantExtractor);
    comboExtractors.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((Extractor) element).getLabel();
        }
    });
    comboExtractors.addSelectionChangedListener(e -> runExtractionJob());
    if (extractor instanceof AssistantPDFExtractor) {
        List<Extractor> extractors = ((AssistantPDFExtractor) extractor).getAvailableExtractors();
        comboExtractors.add(extractors.toArray());
    } else {
        lblImportAssistantExtractor.setVisible(false);
        comboExtractors.getCombo().setVisible(false);
    }
    preselectDropDowns();
    cbConvertToDelivery = new Button(container, SWT.CHECK);
    cbConvertToDelivery.setText(Messages.LabelConvertBuySellIntoDeliveryTransactions);
    Composite compositeTable = new Composite(container, SWT.NONE);
    Composite errorTable = new Composite(container, SWT.NONE);
    // 
    // form layout
    // 
    // 
    FormDataFactory.startingWith(targetContainer).top(new FormAttachment(0, 0)).left(new FormAttachment(0, 0)).right(new FormAttachment(100, 0)).thenBelow(// 
    cbConvertToDelivery).thenBelow(compositeTable).right(targetContainer).bottom(// 
    new FormAttachment(80, 0)).thenBelow(errorTable).right(targetContainer).bottom(new FormAttachment(100, 0));
    // 
    // table & columns
    // 
    TableColumnLayout layout = new TableColumnLayout();
    compositeTable.setLayout(layout);
    tableViewer = new TableViewer(compositeTable, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    Table table = tableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    addColumns(tableViewer, layout);
    attachContextMenu(table);
    layout = new TableColumnLayout();
    errorTable.setLayout(layout);
    errorTableViewer = new TableViewer(errorTable, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    errorTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    table = errorTableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    addColumnsExceptionTable(errorTableViewer, layout);
}
Also used : FormLayout(org.eclipse.swt.layout.FormLayout) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) AssistantPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.AssistantPDFExtractor) Label(org.eclipse.swt.widgets.Label) Combo(org.eclipse.swt.widgets.Combo) StyledString(org.eclipse.jface.viewers.StyledString) TableColumnLayout(org.eclipse.jface.layout.TableColumnLayout) ComboViewer(org.eclipse.jface.viewers.ComboViewer) Button(org.eclipse.swt.widgets.Button) Extractor(name.abuchen.portfolio.datatransfer.Extractor) AssistantPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.AssistantPDFExtractor) ColumnLabelProvider(org.eclipse.jface.viewers.ColumnLabelProvider) StyledCellLabelProvider(org.eclipse.jface.viewers.StyledCellLabelProvider) LabelProvider(org.eclipse.jface.viewers.LabelProvider) TableViewer(org.eclipse.jface.viewers.TableViewer) FormAttachment(org.eclipse.swt.layout.FormAttachment)

Example 27 with Extractor

use of name.abuchen.portfolio.datatransfer.Extractor in project portfolio by buchen.

the class FinTechGroupBankPDFExtractorTest method testKontoauszug2.

@Test
public void testKontoauszug2() throws IOException {
    FinTechGroupBankPDFExtractor extractor = new FinTechGroupBankPDFExtractor(new Client());
    List<Exception> errors = new ArrayList<Exception>();
    List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "FlatexKontoauszug2.txt"), errors);
    assertThat(errors, empty());
    assertThat(results.size(), is(1));
    new AssertImportActions().check(results, CurrencyUnit.EUR);
    Optional<Item> item = results.stream().filter(i -> i instanceof TransactionItem).findFirst();
    assertThat(item.isPresent(), is(true));
    assertThat(item.get().getSubject(), instanceOf(AccountTransaction.class));
    AccountTransaction transaction = (AccountTransaction) item.get().getSubject();
    assertThat(transaction.getType(), is(AccountTransaction.Type.REMOVAL));
    assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2016-01-26T00:00")));
    assertThat(transaction.getMonetaryAmount(), is(Money.of(CurrencyUnit.EUR, 15000_00L)));
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) PortfolioTransaction(name.abuchen.portfolio.model.PortfolioTransaction) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Money(name.abuchen.portfolio.money.Money) Values(name.abuchen.portfolio.money.Values) Client(name.abuchen.portfolio.model.Client) Quote(name.abuchen.portfolio.money.Quote) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) CurrencyUnit(name.abuchen.portfolio.money.CurrencyUnit) LocalDateTime(java.time.LocalDateTime) IsEmptyCollection.empty(org.hamcrest.collection.IsEmptyCollection.empty) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) ArrayList(java.util.ArrayList) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Matchers.hasProperty(org.hamcrest.Matchers.hasProperty) Assert.assertThat(org.junit.Assert.assertThat) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) Extractor(name.abuchen.portfolio.datatransfer.Extractor) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) CoreMatchers.allOf(org.hamcrest.CoreMatchers.allOf) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) IOException(java.io.IOException) Test(org.junit.Test) Security(name.abuchen.portfolio.model.Security) Collectors(java.util.stream.Collectors) List(java.util.List) AssertImportActions(name.abuchen.portfolio.datatransfer.actions.AssertImportActions) Unit(name.abuchen.portfolio.model.Transaction.Unit) Optional(java.util.Optional) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) ArrayList(java.util.ArrayList) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) Client(name.abuchen.portfolio.model.Client) IOException(java.io.IOException) AssertImportActions(name.abuchen.portfolio.datatransfer.actions.AssertImportActions) Test(org.junit.Test)

Example 28 with Extractor

use of name.abuchen.portfolio.datatransfer.Extractor in project portfolio by buchen.

the class FinTechGroupBankPDFExtractorTest method testZinsgutschriftInland.

@Test
public void testZinsgutschriftInland() throws IOException {
    FinTechGroupBankPDFExtractor extractor = new FinTechGroupBankPDFExtractor(new Client());
    List<Exception> errors = new ArrayList<Exception>();
    List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "FlatexZinsgutschriftInland.txt"), errors);
    assertThat(errors, empty());
    assertThat(results.size(), is(2));
    // security
    Optional<Item> item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
    assertThat(item.isPresent(), is(true));
    Security security = ((SecurityItem) item.get()).getSecurity();
    assertThat(security.getIsin(), is("DE1234567890"));
    assertThat(security.getWkn(), is("AB1234"));
    assertThat(security.getName(), is("ISH.FOOBAR 12345666 x.EFT"));
    item = results.stream().filter(i -> i instanceof TransactionItem).findFirst();
    assertThat(item.isPresent(), is(true));
    assertThat(item.get().getSubject(), instanceOf(AccountTransaction.class));
    AccountTransaction transaction = (AccountTransaction) item.get().getSubject();
    assertThat(transaction.getType(), is(AccountTransaction.Type.DIVIDENDS));
    assertThat(transaction.getSecurity(), is(security));
    assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2016-04-28T00:00")));
    assertThat(transaction.getAmount(), is(Values.Amount.factorize(73.75)));
    assertThat(transaction.getShares(), is(Values.Share.factorize(1000)));
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) PortfolioTransaction(name.abuchen.portfolio.model.PortfolioTransaction) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Money(name.abuchen.portfolio.money.Money) Values(name.abuchen.portfolio.money.Values) Client(name.abuchen.portfolio.model.Client) Quote(name.abuchen.portfolio.money.Quote) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) CurrencyUnit(name.abuchen.portfolio.money.CurrencyUnit) LocalDateTime(java.time.LocalDateTime) IsEmptyCollection.empty(org.hamcrest.collection.IsEmptyCollection.empty) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) ArrayList(java.util.ArrayList) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Matchers.hasProperty(org.hamcrest.Matchers.hasProperty) Assert.assertThat(org.junit.Assert.assertThat) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) Extractor(name.abuchen.portfolio.datatransfer.Extractor) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) CoreMatchers.allOf(org.hamcrest.CoreMatchers.allOf) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) IOException(java.io.IOException) Test(org.junit.Test) Security(name.abuchen.portfolio.model.Security) Collectors(java.util.stream.Collectors) List(java.util.List) AssertImportActions(name.abuchen.portfolio.datatransfer.actions.AssertImportActions) Unit(name.abuchen.portfolio.model.Transaction.Unit) Optional(java.util.Optional) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) ArrayList(java.util.ArrayList) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) Security(name.abuchen.portfolio.model.Security) IOException(java.io.IOException) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) Client(name.abuchen.portfolio.model.Client) Test(org.junit.Test)

Example 29 with Extractor

use of name.abuchen.portfolio.datatransfer.Extractor in project portfolio by buchen.

the class FinTechGroupBankPDFExtractorTest method testWertpapierKauf11.

@Test
public void testWertpapierKauf11() throws IOException {
    FinTechGroupBankPDFExtractor extractor = new FinTechGroupBankPDFExtractor(new Client());
    List<Exception> errors = new ArrayList<Exception>();
    List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "FlatexKauf11.txt"), errors);
    assertThat(errors, empty());
    assertThat(results.size(), is(2));
    // security
    Optional<Item> item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
    assertThat(item.isPresent(), is(true));
    Security security = ((SecurityItem) item.get()).getSecurity();
    assertThat(security.getIsin(), is("IE00B6YX5D40"));
    assertThat(security.getWkn(), is("A1JKS0"));
    assertThat(security.getName(), is("SPDR S+P US DIV.ARIST.ETF"));
    item = results.stream().filter(i -> i instanceof BuySellEntryItem).findFirst();
    assertThat(item.isPresent(), is(true));
    assertThat(item.get().getSubject(), instanceOf(BuySellEntry.class));
    BuySellEntry entry = (BuySellEntry) item.get().getSubject();
    assertThat(entry.getPortfolioTransaction().getType(), is(PortfolioTransaction.Type.BUY));
    assertThat(entry.getAccountTransaction().getType(), is(AccountTransaction.Type.BUY));
    assertThat(entry.getPortfolioTransaction().getAmount(), is(Values.Amount.factorize(1000.00)));
    assertThat(entry.getPortfolioTransaction().getDateTime(), is(LocalDateTime.parse("2018-01-02T00:00")));
    assertThat(entry.getPortfolioTransaction().getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(1.5))));
    assertThat(entry.getPortfolioTransaction().getShares(), is(Values.Share.factorize(22.973458)));
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) PortfolioTransaction(name.abuchen.portfolio.model.PortfolioTransaction) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Money(name.abuchen.portfolio.money.Money) Values(name.abuchen.portfolio.money.Values) Client(name.abuchen.portfolio.model.Client) Quote(name.abuchen.portfolio.money.Quote) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) CurrencyUnit(name.abuchen.portfolio.money.CurrencyUnit) LocalDateTime(java.time.LocalDateTime) IsEmptyCollection.empty(org.hamcrest.collection.IsEmptyCollection.empty) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) ArrayList(java.util.ArrayList) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Matchers.hasProperty(org.hamcrest.Matchers.hasProperty) Assert.assertThat(org.junit.Assert.assertThat) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) Extractor(name.abuchen.portfolio.datatransfer.Extractor) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) CoreMatchers.allOf(org.hamcrest.CoreMatchers.allOf) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) IOException(java.io.IOException) Test(org.junit.Test) Security(name.abuchen.portfolio.model.Security) Collectors(java.util.stream.Collectors) List(java.util.List) AssertImportActions(name.abuchen.portfolio.datatransfer.actions.AssertImportActions) Unit(name.abuchen.portfolio.model.Transaction.Unit) Optional(java.util.Optional) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) ArrayList(java.util.ArrayList) Security(name.abuchen.portfolio.model.Security) IOException(java.io.IOException) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) Client(name.abuchen.portfolio.model.Client) Test(org.junit.Test)

Example 30 with Extractor

use of name.abuchen.portfolio.datatransfer.Extractor in project portfolio by buchen.

the class FinTechGroupBankPDFExtractorTest method testWertpapierKauf6.

@Test
public void testWertpapierKauf6() throws IOException {
    FinTechGroupBankPDFExtractor extractor = new FinTechGroupBankPDFExtractor(new Client());
    List<Exception> errors = new ArrayList<Exception>();
    List<Item> results = extractor.extract(PDFInputFile.loadTestCase(getClass(), "FlatexKauf6.txt"), errors);
    assertThat(errors, empty());
    assertThat(results.size(), is(2));
    Optional<Item> item;
    // security
    item = results.stream().filter(i -> i instanceof SecurityItem).findFirst();
    assertThat(item.isPresent(), is(true));
    Security security = ((SecurityItem) item.get()).getSecurity();
    assertThat(security.getIsin(), is("IE00B2NPKV68"));
    assertThat(security.getWkn(), is("A0NECU"));
    assertThat(security.getName(), is("ISHSII-JPM DL EM BD DLDIS"));
    PortfolioTransaction transaction = results.stream().filter(i -> i instanceof Extractor.BuySellEntryItem).map(i -> (BuySellEntry) ((Extractor.BuySellEntryItem) i).getSubject()).map(b -> b.getPortfolioTransaction()).findAny().get();
    assertThat(transaction.getType(), is(PortfolioTransaction.Type.BUY));
    assertThat(transaction.getAmount(), is(Values.Amount.factorize(1000)));
    assertThat(transaction.getDateTime(), is(LocalDateTime.parse("2017-06-15T00:00")));
    assertThat(transaction.getUnitSum(Unit.Type.FEE), is(Money.of("EUR", Values.Amount.factorize(0.9))));
    assertThat(transaction.getShares(), is(Values.Share.factorize(9.703363)));
}
Also used : SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) CoreMatchers.is(org.hamcrest.CoreMatchers.is) PortfolioTransaction(name.abuchen.portfolio.model.PortfolioTransaction) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Money(name.abuchen.portfolio.money.Money) Values(name.abuchen.portfolio.money.Values) Client(name.abuchen.portfolio.model.Client) Quote(name.abuchen.portfolio.money.Quote) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) CurrencyUnit(name.abuchen.portfolio.money.CurrencyUnit) LocalDateTime(java.time.LocalDateTime) IsEmptyCollection.empty(org.hamcrest.collection.IsEmptyCollection.empty) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) ArrayList(java.util.ArrayList) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Matchers.hasProperty(org.hamcrest.Matchers.hasProperty) Assert.assertThat(org.junit.Assert.assertThat) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) Extractor(name.abuchen.portfolio.datatransfer.Extractor) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) CoreMatchers.allOf(org.hamcrest.CoreMatchers.allOf) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) AccountTransaction(name.abuchen.portfolio.model.AccountTransaction) IOException(java.io.IOException) Test(org.junit.Test) Security(name.abuchen.portfolio.model.Security) Collectors(java.util.stream.Collectors) List(java.util.List) AssertImportActions(name.abuchen.portfolio.datatransfer.actions.AssertImportActions) Unit(name.abuchen.portfolio.model.Transaction.Unit) Optional(java.util.Optional) BuySellEntry(name.abuchen.portfolio.model.BuySellEntry) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) ArrayList(java.util.ArrayList) Security(name.abuchen.portfolio.model.Security) IOException(java.io.IOException) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) Item(name.abuchen.portfolio.datatransfer.Extractor.Item) SecurityItem(name.abuchen.portfolio.datatransfer.Extractor.SecurityItem) TransactionItem(name.abuchen.portfolio.datatransfer.Extractor.TransactionItem) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) PortfolioTransaction(name.abuchen.portfolio.model.PortfolioTransaction) BuySellEntryItem(name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem) FinTechGroupBankPDFExtractor(name.abuchen.portfolio.datatransfer.pdf.FinTechGroupBankPDFExtractor) Extractor(name.abuchen.portfolio.datatransfer.Extractor) Client(name.abuchen.portfolio.model.Client) Test(org.junit.Test)

Aggregations

Extractor (name.abuchen.portfolio.datatransfer.Extractor)55 ArrayList (java.util.ArrayList)52 List (java.util.List)49 PDFInputFile (name.abuchen.portfolio.datatransfer.pdf.PDFInputFile)48 Client (name.abuchen.portfolio.model.Client)48 LocalDateTime (java.time.LocalDateTime)47 Collectors (java.util.stream.Collectors)47 AccountTransaction (name.abuchen.portfolio.model.AccountTransaction)47 BuySellEntry (name.abuchen.portfolio.model.BuySellEntry)47 PortfolioTransaction (name.abuchen.portfolio.model.PortfolioTransaction)47 Security (name.abuchen.portfolio.model.Security)47 Money (name.abuchen.portfolio.money.Money)47 Values (name.abuchen.portfolio.money.Values)47 IOException (java.io.IOException)46 Optional (java.util.Optional)46 BuySellEntryItem (name.abuchen.portfolio.datatransfer.Extractor.BuySellEntryItem)46 Item (name.abuchen.portfolio.datatransfer.Extractor.Item)46 SecurityItem (name.abuchen.portfolio.datatransfer.Extractor.SecurityItem)46 TransactionItem (name.abuchen.portfolio.datatransfer.Extractor.TransactionItem)46 AssertImportActions (name.abuchen.portfolio.datatransfer.actions.AssertImportActions)46