-// $Id$
-/**
-* Copyright (C) 2013 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.view.dataimport;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-
-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.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.w3c.dom.NodeList;
-
-import eu.etaxonomy.cdm.database.DbSchemaValidation;
-import eu.etaxonomy.cdm.ext.common.ServiceWrapperBase;
-import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;
-import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportReport;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.AbcdParseUtility;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.SpecimenImportReport;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.UnitAssociationWrapper;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * Wizard for querying specimen provider.
- * @author pplitzner
- * @date 11.09.2013
- *
- */
-public class SpecimenSearchWizard extends Wizard implements IImportWizard {
- private static final Logger logger = Logger.getLogger(SpecimenSearchWizard.class);
-
- private OccurenceQuery query = null;
- private SpecimenProviderSelectionWizardPage providerSelectionPage;
- private SpecimenSearchWizardPage searchPage;
-
- /**
- * Creates a new SpecimenSearchWizard
- */
- public SpecimenSearchWizard() {
- //default constructor needed for RCP extension points
-
- //check if connected to a data source. If not this will open an error dialog
- CdmStore.getCurrentApplicationConfiguration();
- this.setWindowTitle("Search Specimens");
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#performFinish()
- */
- @Override
- public boolean performFinish() {
- searchPage.getController().saveLastSate();
- providerSelectionPage.getController().saveLastState();
- ServiceWrapperBase serviceWrapper;
- DataImportView<?> dataImportView = null;
- query = searchPage.getQuery();
- Abcd206ImportConfigurator configurator = CdmStore.getImportManager().AbcdConfigurator();
- configurator.setOccurenceQuery(query);
- configurator.setSourceUri(providerSelectionPage.getEndPoint());
- configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
- if(CdmStore.getCurrentSessionManager().isRemoting() ) {
- //Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
- //CdmStore.getImportManager().run(job);
- try {
- serviceWrapper = providerSelectionPage.getQueryServiceWrapper();
- InputStream stream = null;
-
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage activePart = window.getActivePage();
- if (providerSelectionPage.getQueryType().equals(QueryType.BIOCASE)){
- stream =((BioCaseQueryServiceWrapper) serviceWrapper).query(query, configurator.getSourceUri());
- SpecimenImportReport report = new SpecimenImportReport();
- UnitAssociationWrapper unitNodesList = AbcdParseUtility.parseUnitsNodeList(stream, report);
- NodeList nodeList = unitNodesList.getAssociatedUnits();
- String prefix = unitNodesList.getPrefix();
- String associationType = unitNodesList.getAssociationType();
- URI uri =AbcdParseUtility.parseFirstUri(nodeList, report);
- String content = AbcdParseUtility.parseFirstTextContent(nodeList);
- System.out.println(content);
-
-
- SpecimenImportView specimenImportView = new SpecimenImportView();
- try {
- specimenImportView = (SpecimenImportView) activePart.showView(SpecimenImportView.ID);
- specimenImportView.setEndpoint(providerSelectionPage.getEndPoint());
- specimenImportView.setQuery(query);
- dataImportView = specimenImportView;
- } catch (PartInitException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
-
- }
-
- } else{
- try {
-
- dataImportView = (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""), IWorkbenchPage.VIEW_ACTIVATE);
- dataImportView.setQuery(query);
- // (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID);getWorkbench().getActiveWorkbenchWindow().getActivePage()
- // .showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);
-
- } catch (PartInitException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
-
-
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // CdmStore.getImportManager().run(configurator);
- }
-// try {
-// switch (providerSelectionPage.getQueryType()) {
-// case BIOCASE:
-// SpecimenImportView specimenImportView = (SpecimenImportView) TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage()
-// .showView(SpecimenImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);
-// specimenImportView.setEndpoint(providerSelectionPage.getEndPoint());
-// dataImportView = specimenImportView;
-// break;
-// case GBIF:
-// dataImportView = (GbifResponseImportView) TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage()
-// .showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);
-// break;
-// }
-// } catch ( PartInitException e ) {
-// logger.error("Could not open import view for query: " + query.toString(), e);
-// }
-// if(dataImportView!=null){
-// dataImportView.setQuery(query);
-//// dataImportView.query();
-//// Display.getDefault().asyncExec(new Runnable() {
-////
-//// @Override
-//// public void run() {
-//// CdmStore.getContextManager().notifyContextRefresh();
-//// }
-//// });
- Job queryJob = new QueryJob("Query specimen provider", dataImportView);
- queryJob.schedule();
-
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#addPages()
- */
- @Override
- public void addPages() {
- addPage(providerSelectionPage);
- addPage(searchPage);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
- */
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- providerSelectionPage = new SpecimenProviderSelectionWizardPage("Select specimen provider");
- searchPage = new SpecimenSearchWizardPage("Specimen Search");
- }
-
- private class QueryJob extends Job{
-
- private final DataImportView<?> view;
-
- /**
- * @param name
- */
- public QueryJob(String name, DataImportView<?> view) {
- super(name);
- this.view = view;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- view.getConversationHolder().bind();
- view.query();
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- CdmStore.getContextManager().notifyContextRefresh();
- }
- });
- return Status.OK_STATUS;
- }
-
- }
-}
+// $Id$\r
+/**\r
+* Copyright (C) 2013 EDIT\r
+* European Distributed Institute of Taxonomy\r
+* http://www.e-taxonomy.eu\r
+*\r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.view.dataimport;\r
+\r
+import java.io.IOException;\r
+import java.io.InputStream;\r
+import java.net.URI;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Status;\r
+import org.eclipse.core.runtime.jobs.Job;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.wizard.Wizard;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.ui.IImportWizard;\r
+import org.eclipse.ui.IWorkbench;\r
+import org.eclipse.ui.IWorkbenchPage;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.w3c.dom.NodeList;\r
+\r
+import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
+import eu.etaxonomy.cdm.ext.common.ServiceWrapperBase;\r
+import eu.etaxonomy.cdm.ext.occurrence.OccurenceQuery;\r
+import eu.etaxonomy.cdm.ext.occurrence.bioCase.BioCaseQueryServiceWrapper;\r
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;\r
+\r
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.AbcdParseUtility;\r
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.SpecimenImportReport;\r
+import eu.etaxonomy.cdm.io.specimen.abcd206.in.UnitAssociationWrapper;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+/**\r
+ * Wizard for querying specimen provider.\r
+ * @author pplitzner\r
+ * @date 11.09.2013\r
+ *\r
+ */\r
+public class SpecimenSearchWizard extends Wizard implements IImportWizard {\r
+ private static final Logger logger = Logger.getLogger(SpecimenSearchWizard.class);\r
+\r
+ private OccurenceQuery query = null;\r
+ private SpecimenProviderSelectionWizardPage providerSelectionPage;\r
+ private SpecimenSearchWizardPage searchPage;\r
+\r
+ /**\r
+ * Creates a new SpecimenSearchWizard\r
+ */\r
+ public SpecimenSearchWizard() {\r
+ //default constructor needed for RCP extension points\r
+\r
+ //check if connected to a data source. If not this will open an error dialog\r
+ CdmStore.getCurrentApplicationConfiguration();\r
+ this.setWindowTitle("Search Specimens");\r
+ }\r
+\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()\r
+ */\r
+ @Override\r
+ public boolean performFinish() {\r
+ searchPage.getController().saveLastSate();\r
+ providerSelectionPage.getController().saveLastState();\r
+ ServiceWrapperBase serviceWrapper;\r
+ DataImportView<?> dataImportView = null;\r
+ query = searchPage.getQuery();\r
+ Abcd206ImportConfigurator configurator = CdmStore.getImportManager().AbcdConfigurator();\r
+ configurator.setOccurenceQuery(query);\r
+ configurator.setSourceUri(providerSelectionPage.getEndPoint());\r
+ configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);\r
+ if(CdmStore.getCurrentSessionManager().isRemoting() ) {\r
+ //Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);\r
+ //CdmStore.getImportManager().run(job);\r
+ try {\r
+ serviceWrapper = providerSelectionPage.getQueryServiceWrapper();\r
+ InputStream stream = null;\r
+\r
+ final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();\r
+ IWorkbenchPage activePart = window.getActivePage();\r
+ if (providerSelectionPage.getQueryType().equals(QueryType.BIOCASE)){\r
+ stream =((BioCaseQueryServiceWrapper) serviceWrapper).query(query, configurator.getSourceUri());\r
+ SpecimenImportReport report = new SpecimenImportReport();\r
+ UnitAssociationWrapper unitNodesList = AbcdParseUtility.parseUnitsNodeList(stream, report);\r
+ NodeList nodeList = unitNodesList.getAssociatedUnits();\r
+ String prefix = unitNodesList.getPrefix();\r
+ String associationType = unitNodesList.getAssociationType();\r
+ URI uri =AbcdParseUtility.parseFirstUri(nodeList, report);\r
+ String content = AbcdParseUtility.parseFirstTextContent(nodeList);\r
+ System.out.println(content);\r
+\r
+\r
+ SpecimenImportView specimenImportView = new SpecimenImportView();\r
+ try {\r
+ specimenImportView = (SpecimenImportView) activePart.showView(SpecimenImportView.ID);\r
+ specimenImportView.setEndpoint(providerSelectionPage.getEndPoint());\r
+ specimenImportView.setQuery(query);\r
+ dataImportView = specimenImportView;\r
+ } catch (PartInitException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+\r
+ }\r
+\r
+ } else{\r
+ try {\r
+ \r
+ dataImportView = (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""), IWorkbenchPage.VIEW_ACTIVATE);\r
+ dataImportView.setQuery(query); \r
+ // (GbifResponseImportView) activePart.showView(GbifResponseImportView.ID);getWorkbench().getActiveWorkbenchWindow().getActivePage()\r
+ // .showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);\r
+\r
+ } catch (PartInitException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ }\r
+\r
+\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ // CdmStore.getImportManager().run(configurator);\r
+ }\r
+// try {\r
+// switch (providerSelectionPage.getQueryType()) {\r
+// case BIOCASE:\r
+// SpecimenImportView specimenImportView = (SpecimenImportView) TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage()\r
+// .showView(SpecimenImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);\r
+// specimenImportView.setEndpoint(providerSelectionPage.getEndPoint());\r
+// dataImportView = specimenImportView;\r
+// break;\r
+// case GBIF:\r
+// dataImportView = (GbifResponseImportView) TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage()\r
+// .showView(GbifResponseImportView.ID, "query_"+query.toString().replaceAll(",", ""),IWorkbenchPage.VIEW_ACTIVATE);\r
+// break;\r
+// }\r
+// } catch ( PartInitException e ) {\r
+// logger.error("Could not open import view for query: " + query.toString(), e);\r
+// }\r
+// if(dataImportView!=null){\r
+// dataImportView.setQuery(query);\r
+//// dataImportView.query();\r
+//// Display.getDefault().asyncExec(new Runnable() {\r
+////\r
+//// @Override\r
+//// public void run() {\r
+//// CdmStore.getContextManager().notifyContextRefresh();\r
+//// }\r
+//// });\r
+ Job queryJob = new QueryJob("Query specimen provider", dataImportView);\r
+ queryJob.schedule();\r
+\r
+ return true;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.wizard.Wizard#addPages()\r
+ */\r
+ @Override\r
+ public void addPages() {\r
+ addPage(providerSelectionPage);\r
+ addPage(searchPage);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)\r
+ */\r
+ @Override\r
+ public void init(IWorkbench workbench, IStructuredSelection selection) {\r
+ providerSelectionPage = new SpecimenProviderSelectionWizardPage("Select specimen provider");\r
+ searchPage = new SpecimenSearchWizardPage("Specimen Search");\r
+ }\r
+\r
+ private class QueryJob extends Job{\r
+\r
+ private final DataImportView<?> view;\r
+\r
+ /**\r
+ * @param name\r
+ */\r
+ public QueryJob(String name, DataImportView<?> view) {\r
+ super(name);\r
+ this.view = view;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)\r
+ */\r
+ @Override\r
+ protected IStatus run(IProgressMonitor monitor) {\r
+ view.getConversationHolder().bind();\r
+ view.query();\r
+ Display.getDefault().asyncExec(new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ CdmStore.getContextManager().notifyContextRefresh();\r
+ }\r
+ });\r
+ return Status.OK_STATUS;\r
+ }\r
+\r
+ }\r
+}\r