*/
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;
public class SpecimenProviderSelectionWizardPage extends WizardPage{
private SpecimenProviderSelectionController specimenProviderSelectionController;
+ private URI endPoint;
protected SpecimenProviderSelectionWizardPage(String pageName) {
super(pageName);
*/
@Override
public void createControl(Composite parent) {
- specimenProviderSelectionController = new SpecimenProviderSelectionController(parent);
+ specimenProviderSelectionController = SpecimenProviderSelectionController.getInstance(parent, getWizard());
setControl(specimenProviderSelectionController.getComposite());
}
}
}
+ /**
+ * @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;
+ }
+
+
}
@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);