From 6ebea0b942324dd6351efee89b3eb6a88bdf5b67 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Thu, 3 Jul 2014 08:36:10 +0000 Subject: [PATCH] - reload last entered access point in wizard space - added validation to access point text field --- .../SpecimenProviderSelectionWizardPage.java | 50 ++++++++++++++++++- .../view/dataimport/SpecimenSearchWizard.java | 5 +- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenProviderSelectionWizardPage.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenProviderSelectionWizardPage.java index 5657686e3..fae847394 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenProviderSelectionWizardPage.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenProviderSelectionWizardPage.java @@ -9,6 +9,11 @@ */ package eu.etaxonomy.taxeditor.editor.view.dataimport; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; + import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.widgets.Composite; @@ -24,6 +29,7 @@ import eu.etaxonomy.taxeditor.view.specimenSearch.SpecimenProviderSelectionContr public class SpecimenProviderSelectionWizardPage extends WizardPage{ private SpecimenProviderSelectionController specimenProviderSelectionController; + private URI endPoint; protected SpecimenProviderSelectionWizardPage(String pageName) { super(pageName); @@ -37,7 +43,7 @@ public class SpecimenProviderSelectionWizardPage extends WizardPage{ */ @Override public void createControl(Composite parent) { - specimenProviderSelectionController = new SpecimenProviderSelectionController(parent); + specimenProviderSelectionController = SpecimenProviderSelectionController.getInstance(parent, getWizard()); setControl(specimenProviderSelectionController.getComposite()); } @@ -50,4 +56,46 @@ public class SpecimenProviderSelectionWizardPage extends WizardPage{ } } + /** + * @return + * @throws URISyntaxException + */ + public URI getEndPoint() { + return endPoint; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.WizardPage#isPageComplete() + */ + @Override + public boolean isPageComplete() { + if(specimenProviderSelectionController.getComposite().getBtnBioCaseProvider().getSelection()){ + endPoint = null; + try { + endPoint = new URL(specimenProviderSelectionController.getComposite().getTxtAccessPoint().getText()).toURI(); + this.setErrorMessage(null); + return true; + } catch (MalformedURLException e) { + setErrorMessage("A valid URL has to be entered."); + return false; + } catch (URISyntaxException e) { + setErrorMessage("A valid URL has to be entered."); + return false; + } + } + else if(specimenProviderSelectionController.getComposite().getBtnGbif().getSelection()){ + this.setErrorMessage(null); + return true; + } + return false; + } + + /** + * @return + */ + public SpecimenProviderSelectionController getController() { + return specimenProviderSelectionController; + } + + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizard.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizard.java index 412b991dd..a2a21f965 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizard.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizard.java @@ -57,12 +57,13 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard { @Override public boolean performFinish() { searchPage.getController().saveLastSate(); - + providerSelectionPage.getController().saveLastState(); + DataImportEditorInput input = null; query = searchPage.getQuery(); switch (providerSelectionPage.getQueryType()) { case BIOCASE: - input = new BioCaseEditorInput(query, null); + input = new BioCaseEditorInput(query, providerSelectionPage.getEndPoint()); break; case GBIF: input = new GbifImportEditorInput(query); -- 2.34.1