From: Patric Plitzner
Date: Tue, 18 Feb 2014 07:42:22 +0000 (+0000)
Subject: - updated SpecimenImportWizard
X-Git-Tag: 3.6.0~777
X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/42580bdf0154ea1eb9ad3d28a5df09ee7e01bbb1
- updated SpecimenImportWizard
- refactored BioCase querying to be a separate job
---
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/plugin.xml b/eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
index 8df35d12b..835b02485 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
+++ b/eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
@@ -389,6 +389,9 @@
class="eu.etaxonomy.taxeditor.dataimport.wizard.SpecimenSearchWizard"
id="eu.etaxonomy.taxeditor.dataimport.wizard.SpecimenSearchWizard"
name="Query BioCASE">
+
+ Query BioCaseProvider
+
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java
index f1f05d07d..06b0bb710 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java
@@ -12,16 +12,19 @@ package eu.etaxonomy.taxeditor.dataimport;
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
-import java.util.Collections;
import java.util.List;
import org.apache.http.client.ClientProtocolException;
import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
import eu.etaxonomy.cdm.ext.biocase.BioCaseQueryServiceWrapper;
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
@@ -41,11 +44,83 @@ public class DerivedUnitEditorInput implements IEditorInput {
private final BioCaseQuery query;
+ private List results;
+
/**
* @param results
*/
public DerivedUnitEditorInput(BioCaseQuery query) {
this.query = query;
+ Display.getCurrent().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ String errorMessage = "Could not execute query " + DerivedUnitEditorInput.this.query;
+ try {
+ InputStream resultStream = new BioCaseQueryServiceWrapper().query(DerivedUnitEditorInput.this.query);
+ Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
+ TransientCdmRepository repo =
+ new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
+ configurator.setCdmAppController(repo);
+
+ CdmDefaultImport importer = new CdmDefaultImport();
+ importer.invoke(configurator);
+ results = repo.getUnits();
+// Abcd206Import abcd206Import = new Abcd206Import();
+// Abcd206ImportState state = new Abcd206ImportState(configurator);
+// abcd206Import.invoke(state);
+// state.countTrees();
+ } catch (ClientProtocolException e) {
+ logger.error(errorMessage, e);
+ } catch (IOException e) {
+ logger.error(errorMessage, e);
+ } catch (URISyntaxException e) {
+ logger.error(errorMessage, e);
+ }
+// return new BioCaseQueryServiceWrapper().dummyData();
+ }
+ });
+ }
+
+ public void query(){
+ Job queryJob = new Job("Query Biocase") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ String errorMessage = "Could not execute query " + DerivedUnitEditorInput.this.query;
+ try {
+ InputStream resultStream = new BioCaseQueryServiceWrapper().query(DerivedUnitEditorInput.this.query);
+ Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
+ TransientCdmRepository repo =
+ new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
+ configurator.setCdmAppController(repo);
+
+ CdmDefaultImport importer = new CdmDefaultImport();
+ importer.invoke(configurator);
+ results = repo.getUnits();
+// Abcd206Import abcd206Import = new Abcd206Import();
+// Abcd206ImportState state = new Abcd206ImportState(configurator);
+// abcd206Import.invoke(state);
+// state.countTrees();
+ } catch (ClientProtocolException e) {
+ logger.error(errorMessage, e);
+ } catch (IOException e) {
+ logger.error(errorMessage, e);
+ } catch (URISyntaxException e) {
+ logger.error(errorMessage, e);
+ }
+
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+
+ return Status.OK_STATUS;
+ }
+ };
}
/* (non-Javadoc)
@@ -102,30 +177,6 @@ public class DerivedUnitEditorInput implements IEditorInput {
* @return the results
*/
public List getResults() {
- String errorMessage = "Could not execute query " + query;
- List results = Collections.EMPTY_LIST;
- try {
- InputStream resultStream = new BioCaseQueryServiceWrapper().query(query);
- Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
- TransientCdmRepository repo =
- new TransientCdmRepository((ICdmApplicationConfiguration)CdmStore.getCurrentApplicationConfiguration());
- configurator.setCdmAppController(repo);
-
- CdmDefaultImport importer = new CdmDefaultImport();
- importer.invoke(configurator);
- results = repo.getUnits();
-// Abcd206Import abcd206Import = new Abcd206Import();
-// Abcd206ImportState state = new Abcd206ImportState(configurator);
-// abcd206Import.invoke(state);
-// state.countTrees();
- } catch (ClientProtocolException e) {
- logger.error(errorMessage, e);
- } catch (IOException e) {
- logger.error(errorMessage, e);
- } catch (URISyntaxException e) {
- logger.error(errorMessage, e);
- }
-// return new BioCaseQueryServiceWrapper().dummyData();
return results;
}
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java
index 62642019a..f25f42268 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java
@@ -44,6 +44,7 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard {
//check if connected to a data source. If not this will open an error dialog
CdmStore.getCurrentApplicationConfiguration();
+ this.setWindowTitle("Search Specimens");
}
@@ -57,6 +58,7 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard {
try {
query = searchPage.getQuery();
DerivedUnitEditorInput input = new DerivedUnitEditorInput(query);
+ input.query();
page.openEditor(input, DataImportEditor.ID, true);
} catch ( PartInitException e ) {
//Put your exception handler here if you wish to
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java
index 4f75dbd39..cc534bf5b 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java
@@ -28,6 +28,8 @@ public class SpecimenSearchWizardPage extends WizardPage{
protected SpecimenSearchWizardPage(String pageName) {
super(pageName);
+ setDescription("Specify search parameters for external search query.");
+ setTitle("Search Specimens");
}
/* (non-Javadoc)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenSearchComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenSearchComposite.java
index 2b8911c8f..0fbaebd21 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenSearchComposite.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenSearchComposite.java
@@ -25,82 +25,75 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout;
*/
public class SpecimenSearchComposite extends Composite {
private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
- private Text textTaxonName;
- private Text textCollector;
- private Text textCollectorNumber;
- private Text textAccessionNumber;
- private Text textLocality;
- private Text textHerbarium;
- private Text textCountry;
+ private final Text textTaxonName;
+ private final Text textCollector;
+ private final Text textCollectorNumber;
+ private final Text textAccessionNumber;
+ private final Text textLocality;
+ private final Text textHerbarium;
+ private final Text textCountry;
/**
* Create the composite.
* @param parent
- * @param style
+ * @setBackgroundMode(SWT.INHERIT_DEFAULT);
+ param style
*/
public SpecimenSearchComposite(Composite parent, int style) {
super(parent, style);
- setBackgroundMode(SWT.INHERIT_DEFAULT);
{
TableWrapLayout tableWrapLayout = new TableWrapLayout();
tableWrapLayout.numColumns = 2;
setLayout(tableWrapLayout);
}
- Label lblTaxonName = formToolkit.createLabel(this, "Taxon Name", SWT.NONE);
+ Label lblTaxonName = new Label(this, SWT.NONE);
+ lblTaxonName.setText("Taxon Name");
- textTaxonName = new Text(this, SWT.BORDER);
+ textTaxonName = new Text(this, SWT.NONE);
textTaxonName.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
- formToolkit.adapt(textTaxonName, true, true);
Label lblCollectors = new Label(this, SWT.NONE);
- formToolkit.adapt(lblCollectors, true, true);
lblCollectors.setText("Collector(s)");
- textCollector = new Text(this, SWT.BORDER);
+ textCollector = new Text(this, SWT.NONE);
textCollector.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
formToolkit.adapt(textCollector, true, true);
Label lblCollectorsNumber = new Label(this, SWT.NONE);
- formToolkit.adapt(lblCollectorsNumber, true, true);
lblCollectorsNumber.setText("Collector(s) Number");
- textCollectorNumber = new Text(this, SWT.BORDER);
+ textCollectorNumber = new Text(this, SWT.NONE);
textCollectorNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
formToolkit.adapt(textCollectorNumber, true, true);
Label lblAccessionNumber = new Label(this, SWT.NONE);
- formToolkit.adapt(lblAccessionNumber, true, true);
lblAccessionNumber.setText("Accession Number");
- textAccessionNumber = new Text(this, SWT.BORDER);
+ textAccessionNumber = new Text(this, SWT.NONE);
textAccessionNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
formToolkit.adapt(textAccessionNumber, true, true);
Label lblHerbarium = new Label(this, SWT.NONE);
- formToolkit.adapt(lblHerbarium, true, true);
lblHerbarium.setText("Herbarium");
textHerbarium = new Text(this, SWT.NONE);
textHerbarium.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
Label lblCountry = new Label(this, SWT.NONE);
- formToolkit.adapt(lblCountry, true, true);
lblCountry.setText("Country");
textCountry = new Text(this, SWT.NONE);
textCountry.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
Label lblLocality = new Label(this, SWT.NONE);
- formToolkit.adapt(lblLocality, true, true);
lblLocality.setText("Locality");
- textLocality = new Text(this, SWT.BORDER);
+ textLocality = new Text(this, SWT.NONE);
textLocality.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
formToolkit.adapt(textLocality, true, true);
Label lblCollectionDate = new Label(this, SWT.NONE);
- formToolkit.adapt(lblCollectionDate, true, true);
lblCollectionDate.setText("Collection Date");
new Label(this, SWT.NONE);