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);