Merge branch 'release/5.19.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / dataimport / SpecimenProviderSelectionWizardPage.java
1 /**
2 * Copyright (C) 2013 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.view.dataimport;
10
11 import java.net.MalformedURLException;
12 import eu.etaxonomy.cdm.common.URI;
13 import java.net.URISyntaxException;
14 import java.net.URL;
15
16 import org.eclipse.jface.wizard.WizardPage;
17 import org.eclipse.swt.widgets.Composite;
18
19 import eu.etaxonomy.cdm.ext.common.ServiceWrapperBase;
20 import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;
21 import eu.etaxonomy.taxeditor.view.search.specimen.SpecimenProviderSelectionController;
22
23
24 /**
25 * Wizard page for selecting the specimen provider
26 * @author pplitzner
27 * @date 12.09.2013
28 */
29 public class SpecimenProviderSelectionWizardPage extends WizardPage{
30
31 private SpecimenProviderSelectionController specimenProviderSelectionController;
32 private URI endPoint;
33 private ServiceWrapperBase serviceWrapper;
34
35 public SpecimenProviderSelectionWizardPage(String pageName) {
36 super(pageName);
37 setTitle("Select Specimen Provider");
38 setDescription("Select the provider to query for specimens.\nTo query a BioCASE " +
39 "provider the access point URL must be entered.");
40 }
41
42 /* (non-Javadoc)
43 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
44 */
45 @Override
46 public void createControl(Composite parent) {
47 specimenProviderSelectionController = SpecimenProviderSelectionController.getInstance(parent, getWizard());
48 setControl(specimenProviderSelectionController.getComposite());
49 //serviceWrapper = new BioCaseQueryServiceWrapper();
50
51 }
52
53 public QueryType getQueryType(){
54 if(specimenProviderSelectionController.getComposite().getBtnBioCaseProvider().getSelection()){
55 return QueryType.BIOCASE;
56 }
57 else {// if(specimenProviderSelectionController.getComposite().getBtnGbif().getSelection()){
58 return QueryType.GBIF;
59 }
60 }
61
62 public URI getEndPoint() {
63 return endPoint;
64 }
65
66 @Override
67 public boolean isPageComplete() {
68 if(specimenProviderSelectionController.getComposite().getBtnBioCaseProvider().getSelection()){
69 endPoint = null;
70 try {
71 endPoint = URI.fromUrl(new URL(specimenProviderSelectionController.getComposite().getTxtAccessPoint().getText()));
72 serviceWrapper = new BioCaseQueryServiceWrapper();
73 serviceWrapper.setBaseUrl(specimenProviderSelectionController.getComposite().getTxtAccessPoint().getText());
74 this.setErrorMessage(null);
75 return true;
76 } catch (MalformedURLException e) {
77 setErrorMessage("A valid URL has to be entered.");
78 return false;
79 } catch (URISyntaxException e) {
80 setErrorMessage("A valid URL has to be entered.");
81 return false;
82 }
83 }
84 else if(specimenProviderSelectionController.getComposite().getBtnGbif().getSelection()){
85 this.setErrorMessage(null);
86 return true;
87 }
88 return false;
89 }
90
91 public ServiceWrapperBase getQueryServiceWrapper() {
92 return serviceWrapper;
93 }
94 public void setQueryServiceWrapper(ServiceWrapperBase queryServiceWrapper) {
95 this.serviceWrapper = queryServiceWrapper;
96 }
97
98 public SpecimenProviderSelectionController getController() {
99 return specimenProviderSelectionController;
100 }
101 }