- refactored BioCaseQuery to more generic OccurrenceQuery
authorPatric Plitzner <p.plitzner@bgbm.org>
Wed, 21 May 2014 07:43:39 +0000 (07:43 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Wed, 21 May 2014 07:43:39 +0000 (07:43 +0000)
  - for import wizard
  - for DataImportEditor
 - exported new cdmlib package structure for gbif and biocase querying in taxeditor.cdmlib

eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/DataImportEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SaveSpecimenCommand.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenImportEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenImportEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizard.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenSearchWizardPage.java

index 7f3b00fb3c76833991ae327177d4cf179b55db58..6410a6033f5c00fb55b77ab76a44d0dd5400bec4 100644 (file)
@@ -37,7 +37,9 @@ Export-Package: com.google.api,
  eu.etaxonomy.cdm.database.update.v25_30,
  eu.etaxonomy.cdm.database.update.v30_31,
  eu.etaxonomy.cdm.ext.bci,
- eu.etaxonomy.cdm.ext.biocase,
+ eu.etaxonomy.cdm.ext.occurrence,
+ eu.etaxonomy.cdm.ext.occurrence.bioCase,
+ eu.etaxonomy.cdm.ext.occurrence.gbif,
  eu.etaxonomy.cdm.ext.common,
  eu.etaxonomy.cdm.ext.dc,
  eu.etaxonomy.cdm.ext.geo,
index 0e2465a742e762c88cc1798d04b93b81788e62b1..ca2c7502f2f20bdaf9d028369551d9e217172086 100644 (file)
             category="eu.etaxonomy.taxeditor.import.category.cdm"
             class="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenSearchWizard"
             id="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenSearchWizard"
-            name="Query BioCASE">
+            name="Specimen Search/Import">
          <description>
-            Query BioCaseProvider
+            Queries data provider (currently only GBIF) for specimens with specified parameters.
          </description>
       </wizard>
    </extension>
index 3033125181265de46d0685f985b266e8184c8f73..c92e1df1b96f3158e62f21ab376cc2dcb7fedf02 100644 (file)
@@ -100,7 +100,7 @@ IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, I
         setInput(input);
         setPartName(input.getName());
         setTitleToolTip(input.getName());
-        conversation = ((DataImportEditorInput)input).getConversationHolder();
+        conversation = ((DataImportEditorInput<T>)input).getConversationHolder();
     }
 
     /* (non-Javadoc)
index 89c353488e52cc32a8b2de8b8c93b9a8f6a8545f..cc0fca2254f7259464e65f40dc57218e1f596e1c 100644 (file)
@@ -28,14 +28,14 @@ public class SaveSpecimenCommand extends AbstractHandler {
         final ISelection selection = window.getActivePage().getSelection();
         if(selection instanceof StructuredSelection){
             StructuredSelection structuredSelection = (StructuredSelection)selection;
-            Iterator iterator = structuredSelection.iterator();
+            Iterator<?> iterator = structuredSelection.iterator();
             while(iterator.hasNext()){
                 Object next = iterator.next();
                 if(next instanceof SpecimenOrObservationBase){
                     IWorkbenchPart activePart = AbstractUtility.getActivePart();
                     if(activePart instanceof DataImportEditor){
                         SpecimenImportEditor dataImportEditor = (SpecimenImportEditor)activePart;
-                        CdmStore.getService(IOccurrenceService.class).saveOrUpdate((SpecimenOrObservationBase) next);
+                        CdmStore.getService(IOccurrenceService.class).saveOrUpdate((SpecimenOrObservationBase<?>) next);
                         dataImportEditor.getConversationHolder().commit(true);
                     }
                 }
index 92cf857acde346480092a27d5225b95bdf7a1610..742fe41281402cc51243de5310255bd66f4e51c3 100644 (file)
@@ -17,7 +17,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
  * @date 20.09.2013
  *
  */
-public class SpecimenImportEditor extends DataImportEditor<SpecimenOrObservationBase> {
+public class SpecimenImportEditor extends DataImportEditor<SpecimenOrObservationBase<?>> {
 
     public static final String ID = "eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor";
 
index e559665a2cae4bcca11cffacd9c2f5f83db14985..3a6784b1e163750c99e7dd2fd995b4a5d5f46593 100644 (file)
@@ -18,12 +18,9 @@ import java.util.Collection;
 import org.apache.http.client.ClientProtocolException;
 import org.eclipse.swt.widgets.Display;
 
-import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
-import eu.etaxonomy.cdm.ext.biocase.BioCaseQueryServiceWrapper;
-import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
+import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifQueryServiceWrapper;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.taxeditor.editor.view.dataimport.transientServices.TransientCdmRepository;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
@@ -31,32 +28,26 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @date 25.02.2014
  *
  */
-public class SpecimenImportEditorInput extends DataImportEditorInput<SpecimenOrObservationBase> {
+public class SpecimenImportEditorInput extends DataImportEditorInput<SpecimenOrObservationBase<?>> {
 
-    private final BioCaseQuery query;
+    private final OccurenceQuery query;
 
     /**
      * @param results
      */
-    public SpecimenImportEditorInput(BioCaseQuery query) {
+    public SpecimenImportEditorInput(OccurenceQuery query) {
         super();
         this.query = query;
     }
 
     public void query(){
-        String errorMessage = "Could not execute query " + SpecimenImportEditorInput.this.query;
+        String errorMessage = "Could not execute query " + query;
 
-        Collection<SpecimenOrObservationBase> results = new ArrayList<SpecimenOrObservationBase>();
+        Collection<SpecimenOrObservationBase<?>> results = new ArrayList<SpecimenOrObservationBase<?>>();
         try {
-            InputStream resultStream = new BioCaseQueryServiceWrapper().query(SpecimenImportEditorInput.this.query);
-            Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
-            TransientCdmRepository repo =
-                    new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
-            configurator.setCdmAppController(repo);
-
-            CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
-            importer.invoke(configurator);
-            results = repo.getUnits();
+            InputStream resultStream = new GbifQueryServiceWrapper().query(query);
+//            JSONObject jsonObject = JSONObject.fromObject(dummyJson);
+//            Object java = JSONSerializer.toJava(jsonObject);
         } catch (ClientProtocolException e) {
             logger.error(errorMessage, e);
         } catch (IOException e) {
index 47e802d4f4d813b47165d9f634641cd97d5e8ef6..5182c307c23be7bc58f7304a6db1441d4721b8cf 100644 (file)
@@ -22,11 +22,11 @@ import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
 
-import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
+import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
- * Wizard for querying BioCASe provider.
+ * Wizard for querying specimen provider.
  * @author pplitzner
  * @date 11.09.2013
  *
@@ -35,7 +35,7 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard {
     @SuppressWarnings("unused")
     private static final Logger logger = Logger.getLogger(SpecimenSearchWizard.class);
 
-    private BioCaseQuery query;
+    private OccurenceQuery query = null;
     private SpecimenSearchWizardPage searchPage;
 
     /**
@@ -59,7 +59,7 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard {
 
             query = searchPage.getQuery();
             final SpecimenImportEditorInput input = new SpecimenImportEditorInput(query);
-            Job queryJob = new Job("Query Biocase") {
+            Job queryJob = new Job("Query specimen provider") {
 
                 @Override
                 protected IStatus run(IProgressMonitor monitor) {
@@ -89,15 +89,14 @@ public class SpecimenSearchWizard extends Wizard implements IImportWizard {
      */
     @Override
     public void init(IWorkbench workbench, IStructuredSelection selection) {
-        query = new BioCaseQuery();
         searchPage = new SpecimenSearchWizardPage("Specimen Search");
     }
 
     /**
-     * Return a {@link BioCaseQuery} with the parameters entered in the wizard
+     * Return a {@link OccurenceQuery} with the parameters entered in the wizard
      * @return the query
      */
-    public BioCaseQuery getQuery() {
+    public OccurenceQuery getQuery() {
         return query;
     }
 
index 73ffb24eabde3a85505364651a2e842c5c615332..21e0b7bbd87b14ea8dc83624d32c5567e8cc12c0 100644 (file)
@@ -12,7 +12,7 @@ package eu.etaxonomy.taxeditor.editor.view.dataimport;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.swt.widgets.Composite;
 
-import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
+import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
 import eu.etaxonomy.taxeditor.view.specimenSearch.SpecimenSearchController;
 
 
@@ -42,20 +42,19 @@ public class SpecimenSearchWizardPage extends WizardPage{
     }
 
     /**
-     * Returns a {@link BioCaseQuery} filled with the parameters defined in this wizard page
+     * Returns an {@link OccurenceQuery} filled with the parameters defined in this wizard page
      * @return
      */
-    public BioCaseQuery getQuery() {
-        BioCaseQuery query = new BioCaseQuery();
-        query.accessionNumber = specimenSearchController.getAccessionNumber();
-        query.collector = specimenSearchController.getCollector();
-        query.collectorsNumber = specimenSearchController.getCollectorNumber();
-        query.country = specimenSearchController.getCountry();
-//        query.date = specimenSearchController.getDate();
-        query.herbarium = specimenSearchController.getHerbarium();
-        query.locality = specimenSearchController.getLocality();
-        query.taxonName = specimenSearchController.getTaxonName();
-        return query;
+    public OccurenceQuery getQuery() {
+        String accessionNumber = specimenSearchController.getAccessionNumber();
+        String collector = specimenSearchController.getCollector();
+        String collectorsNumber = specimenSearchController.getCollectorNumber();
+        String country = specimenSearchController.getCountry();
+//      date = specimenSearchController.getDate();
+        String herbarium = specimenSearchController.getHerbarium();
+        String locality = specimenSearchController.getLocality();
+        String taxonName = specimenSearchController.getTaxonName();
+        return new OccurenceQuery(taxonName, collector, collectorsNumber, accessionNumber, herbarium, country, locality, null);
     }
 
 }