package name.abuchen.portfolio.ui.wizards.datatransfer; import java.util.ArrayList; import java.util.List; import name.abuchen.portfolio.model.LatestSecurityPrice; import name.abuchen.portfolio.online.Factory; import name.abuchen.portfolio.online.QuoteFeed; import name.abuchen.portfolio.ui.Messages; import name.abuchen.portfolio.ui.PortfolioPlugin; import name.abuchen.portfolio.ui.util.QuotesTableViewer; import name.abuchen.portfolio.ui.wizards.AbstractWizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; public class ReviewImportedQuotesPage extends AbstractWizardPage { private ImportSourcePage page; private QuotesTableViewer tableSampleData; private List<LatestSecurityPrice> quotes; protected ReviewImportedQuotesPage(ImportSourcePage page) { super("review"); //$NON-NLS-1$ setTitle(Messages.ImportWizardReviewTitle); setDescription(Messages.ImportWizardReviewDescription); this.page = page; setPageComplete(false); } @Override public void beforePage() { String source = page.getSourceText(); QuoteFeed feed = Factory.getQuoteFeedProvider("GENERIC_HTML_TABLE"); //$NON-NLS-1$ List<Exception> errors = new ArrayList<Exception>(); quotes = feed.getHistoricalQuotes(source, errors); PortfolioPlugin.log(errors); setErrorMessage(null); setPageComplete(!quotes.isEmpty()); tableSampleData.setInput(quotes); tableSampleData.refresh(true); // scroll up to top if (!quotes.isEmpty()) tableSampleData.getTable().showItem(tableSampleData.getTable().getItem(0)); } public List<LatestSecurityPrice> getQuotes() { return quotes; } @Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); setControl(container); tableSampleData = new QuotesTableViewer(container); } }