From 5da618cbbd8e4123fd1aa0b7e6e75650d3e88d6b Mon Sep 17 00:00:00 2001
From: Patric Plitzner
Date: Mon, 2 Jun 2014 13:52:13 +0000
Subject: [PATCH] - added functionality to query a BioCASE provider for the
original record which is then opened in another editor
---
.../taxeditor/editor/EditorUtil.java | 21 +++++++++
.../view/dataimport/BioCaseEditorInput.java | 16 ++++---
.../QueryOriginalRecordCommand.java | 43 +++++++++++++++++--
.../view/dataimport/SpecimenSearchWizard.java | 5 ++-
4 files changed, 73 insertions(+), 12 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
index 218fb33d6..18d340d60 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
@@ -35,6 +35,12 @@ import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditorInput;
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
import eu.etaxonomy.taxeditor.editor.key.KeyEditor;
import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.BioCaseEditorInput;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditor;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportEditorInput;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.GbifImportEditor;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.GbifImportEditorInput;
+import eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
@@ -97,6 +103,21 @@ public class EditorUtil extends AbstractUtility {
open(input, DerivateView.ID);
}
+ /**
+ * Opens a new {@link DataImportEditor} for the given input
+ * @param input a {@link DataImportEditorInput}
+ * @throws PartInitException
+ */
+ public static void open(DataImportEditorInput> input)
+ throws PartInitException {
+ if(input instanceof BioCaseEditorInput){
+ open(input, SpecimenImportEditor.ID);
+ }
+ else if(input instanceof GbifImportEditorInput){
+ open(input, GbifImportEditor.ID);
+ }
+ }
+
/**
* Taxon Editors may be opened by supplying a taxon node uuid. Session gets
* initialised here and is passed to the editor
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/BioCaseEditorInput.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/BioCaseEditorInput.java
index b98f89760..60d1302cb 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/BioCaseEditorInput.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/BioCaseEditorInput.java
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.editor.view.dataimport;
import java.io.IOException;
import java.io.InputStream;
-import java.net.URISyntaxException;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
@@ -33,12 +33,18 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
*/
public class BioCaseEditorInput extends DataImportEditorInput> {
+ private final URI endPoint;
+
/**
- * @param results
+ * Constructs a new BioCaseEditorInput.
+ * @param query The {@link OccurenceQuery} object holding all necessary parameters.
+ * @param endPoint If the endPoint {@link URI} is null
then the default endPoint is used
+ * (http://ww3.bgbm.org/biocase/pywrapper.cgi?dsa=Herbar)
*/
- public BioCaseEditorInput(OccurenceQuery query) {
+ public BioCaseEditorInput(OccurenceQuery query, URI endPoint) {
super();
this.query = query;
+ this.endPoint = endPoint;
}
@Override
@@ -49,7 +55,7 @@ public class BioCaseEditorInput extends DataImportEditorInput this will also get rid of the transient services
InputStream resultStream;
- resultStream = new BioCaseQueryServiceWrapper().query(query);
+ resultStream = new BioCaseQueryServiceWrapper().query(query, endPoint);
Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
TransientCdmRepository repo =
new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
@@ -63,8 +69,6 @@ public class BioCaseEditorInput extends DataImportEditorInput