- adapted taxeditor
- this is EXPERIMENTAL
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.IPageChangedListener;
+import org.eclipse.jface.dialogs.PageChangedEvent;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.widgets.Composite;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchResultsController;
/**
import eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchResultsController;
/**
-public class SpecimenSearchResultWizardPage extends WizardPage {
+public class SpecimenSearchResultWizardPage extends WizardPage implements IPageChangedListener {
+
+ private SpecimenSearchResultsController specimenSearchResultsController;
+ private List<SpecimenOrObservationBase> results;
- protected SpecimenSearchResultWizardPage(String pageName) {
+ protected SpecimenSearchResultWizardPage(String pageName, List<SpecimenOrObservationBase> results) {
+ this.results = results;
*/
@Override
public void createControl(Composite parent) {
*/
@Override
public void createControl(Composite parent) {
- setControl(new SpecimenSearchResultsController(parent).getComposite());
+ specimenSearchResultsController = new SpecimenSearchResultsController(parent);
+ setControl(specimenSearchResultsController.getComposite());
+ }
+
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IPageChangedListener#pageChanged(org.eclipse.jface.dialogs.PageChangedEvent)
+ */
+ @Override
+ public void pageChanged(PageChangedEvent event) {
+ if(isCurrentPage()){
+ if(results!=null && !results.isEmpty()){
+ specimenSearchResultsController.setText(results.get(0).getTitleCache());
+ }
+ }
+ };
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.http.client.ClientProtocolException;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;
+import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
+import eu.etaxonomy.cdm.ext.biocase.BioCaseQueryServiceWrapper;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+
/**
* @author pplitzner
* @date 11.09.2013
/**
* @author pplitzner
* @date 11.09.2013
*/
public class SpecimenSearchWizard extends Wizard implements IImportWizard {
*/
public class SpecimenSearchWizard extends Wizard implements IImportWizard {
+ private BioCaseQueryServiceWrapper bioCaseQueryServiceWrapper;
+ private BioCaseQuery query;
+ private List<SpecimenOrObservationBase> results;
+
+ /**
+ *
+ */
+ public SpecimenSearchWizard() {
+ query = new BioCaseQuery();
+ bioCaseQueryServiceWrapper = new BioCaseQueryServiceWrapper();
+ this.results = new ArrayList<SpecimenOrObservationBase>();
+ }
+
+
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
*/
@Override
public void addPages() {
*/
@Override
public void addPages() {
- addPage(new SpecimenSearchWizardPage("Specimen Search"));
- addPage(new SpecimenSearchResultWizardPage("Search Results"));
+ addPage(new SpecimenSearchWizardPage("Specimen Search", results));
+ addPage(new SpecimenSearchResultWizardPage("Search Results", results));
+ public List<SpecimenOrObservationBase> getResults(){
+ try {
+ return bioCaseQueryServiceWrapper.query(query);
+ } catch (ClientProtocolException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
/* (non-Javadoc)
* @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
/* (non-Javadoc)
* @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
public void init(IWorkbench workbench, IStructuredSelection selection) {
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
}
+ /**
+ * @return the query
+ */
+ public BioCaseQuery getQuery() {
+ return query;
+ }
+
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
*/
package eu.etaxonomy.taxeditor.io.wizard.specimenSearch;
+import java.util.List;
+
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.widgets.Composite;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchController;
/**
import eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchController;
/**
*/
public class SpecimenSearchWizardPage extends WizardPage{
*/
public class SpecimenSearchWizardPage extends WizardPage{
+ private List<SpecimenOrObservationBase> results;
+
- protected SpecimenSearchWizardPage(String pageName) {
+ protected SpecimenSearchWizardPage(String pageName, List<SpecimenOrObservationBase> results) {
+ this.results = results;
setControl(new SpecimenSearchController(parent).getComposite());
}
setControl(new SpecimenSearchController(parent).getComposite());
}
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if(visible==false){
+ ((SpecimenSearchWizard) getWizard()).getResults();
+ }
+ }