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