taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceTypeSelectionWizardPage.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceWizard.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/AbstractFilteredCdmResourceSelectionDialog.java -text
+taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/AgentFilteredSelectionDialog.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/FilteredNameSelectionDialog.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/FilteredReferenceSelectionDialog.java -text
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/FilteredTaxonNodeSelectionDialog.java -text
import java.text.Collator;
import java.util.Comparator;
+import java.util.List;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
* @created 04.06.2009
* @version 1.0
*/
-public abstract class AbstractFilteredCdmResourceSelectionDialog extends
+public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends CdmBase> extends
FilteredItemsSelectionDialog {
+
+ protected List<UuidAndTitleCache<T>> model;
+ private String settings;
+
/**
* @param shell
*/
- public AbstractFilteredCdmResourceSelectionDialog(Shell shell, String title, boolean multi) {
+ protected AbstractFilteredCdmResourceSelectionDialog(Shell shell, String title, boolean multi, String settings) {
super(shell, multi);
setTitle(title);
setMessage("Use * for wildcard, or ? to see all entries");
+ this.settings = settings;
}
/* (non-Javadoc)
};
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ protected void fillContentProvider(AbstractContentProvider contentProvider,
+ ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
+ throws CoreException {
+ progressMonitor.beginTask("Looking for names", 1000); // Why no progress monitor?
+ for(UuidAndTitleCache<T> element : model){
+ contentProvider.add(element, itemsFilter);
+ }
+ }
/* (non-Javadoc)
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getDialogSettings()
}
- public abstract String getSettings();
+ /**
+ * @return
+ */
+ protected UuidAndTitleCache getSelectedUuidAndTitleCache() {
+ Object[] result = getResult();
+ return result[0] == null ? null : (UuidAndTitleCache) result[0];
+ }
+
+ public String getSettings() {
+ if(settings == null){
+ throw new IllegalStateException("No SETTINGS set.");
+ }
+ return settings;
+ }
public class FilteredCdmResourceLabelProvider extends LabelProvider {
public String getText(Object element) {
return ((UuidAndTitleCache) element).getTitleCache();
}
};
+
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.dialogs;
+
+import java.util.UUID;
+
+import org.apache.log4j.Logger;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Sep 10, 2009
+ * @version 1.0
+ */
+public class AgentFilteredSelectionDialog extends
+ AbstractFilteredCdmResourceSelectionDialog<AgentBase> {
+ private static final Logger logger = Logger
+ .getLogger(AgentFilteredSelectionDialog.class);
+
+ /**
+ * @param taxon
+ * @return
+ */
+ public static AgentBase selectAgent(Shell shell) {
+ FilteredNameSelectionDialog dialog = new FilteredNameSelectionDialog(shell,
+ "Choose a name", false);
+ if (dialog.open() == Window.CANCEL) {
+ return null;
+ }
+
+ UUID agentUuid = dialog.getSelectedUuidAndTitleCache().getUuid();
+
+ if(agentUuid == null){
+ return null;
+ }
+
+ return CdmStore.getAgentService().getAgentByUuid(agentUuid);
+ }
+
+ /**
+ * @param shell
+ * @param title
+ */
+ protected AgentFilteredSelectionDialog(Shell shell, String title, boolean multi) {
+ super(shell, title, multi, AgentFilteredSelectionDialog.class.getCanonicalName());
+
+ ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
+ setListLabelProvider(labelProvider);
+ setDetailsLabelProvider(labelProvider);
+
+ model = CdmStore.getAgentService().getUuidAndTitleCache();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createExtendedContentArea(Composite parent) {
+ return null;
+ }
+}
package eu.etaxonomy.taxeditor.dialogs;
-import java.util.List;
import java.util.UUID;
import org.apache.log4j.Logger;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @created 04.06.2009
* @version 1.0
*/
-public class FilteredNameSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog {
+public class FilteredNameSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog<TaxonNameBase> {
private static final Logger logger = Logger
.getLogger(FilteredNameSelectionDialog.class);
- public static final String SETTINGS = FilteredNameSelectionDialog.class.getCanonicalName();
-
/**
* @param taxon
* @return
return null;
}
- UUID nameUuid = dialog.getNameUuidAndTitleCache().getUuid();
+ UUID nameUuid = dialog.getSelectedUuidAndTitleCache().getUuid();
if(nameUuid == null){
return null;
return CdmStore.getNameService().getTaxonNameByUuid(nameUuid);
}
- private List<UuidAndTitleCache> allTaxonNameBases;
-
/**
* @param shell
* @param title
*/
protected FilteredNameSelectionDialog(Shell shell, String title, boolean multi) {
- super(shell, title, multi);
+ super(shell, title, multi, FilteredNameSelectionDialog.class.getCanonicalName());
- ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
+ ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
setListLabelProvider(labelProvider);
setDetailsLabelProvider(labelProvider);
- allTaxonNameBases = CdmStore.getNameService().getUuidAndTitleCacheOfNames();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- protected void fillContentProvider(AbstractContentProvider contentProvider,
- ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
- throws CoreException {
- progressMonitor.beginTask("Looking for names", 1000); // Why no progress monitor?
- for(UuidAndTitleCache name : allTaxonNameBases){
- contentProvider.add(name, itemsFilter);
- }
- }
-
- /**
- * @return
- */
- private UuidAndTitleCache getNameUuidAndTitleCache() {
- Object[] result = getResult();
- return result[0] == null ? null : (UuidAndTitleCache) result[0];
+ model = CdmStore.getNameService().getUuidAndTitleCache();
}
/* (non-Javadoc)
protected Control createExtendedContentArea(Composite parent) {
return null;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#getSettings()
- */
- @Override
- public String getSettings() {
- if(SETTINGS == null){
- throw new IllegalStateException("No SETTINGS set.");
- }
- return SETTINGS;
- }
}
package eu.etaxonomy.taxeditor.dialogs;
-import java.util.List;
-import java.util.Map;
import java.util.UUID;
import org.apache.log4j.Logger;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @version 1.0
*/
public class FilteredReferenceSelectionDialog extends
- AbstractFilteredCdmResourceSelectionDialog {
+ AbstractFilteredCdmResourceSelectionDialog<ReferenceBase> {
private static final Logger logger = Logger
.getLogger(FilteredReferenceSelectionDialog.class);
- public static final String SETTINGS = FilteredReferenceSelectionDialog.class.getCanonicalName();
/**
* @param taxon
return null;
}
- UUID referenceUuid = dialog.getReferenceUuidAndTitleCache().getUuid();
+ UUID referenceUuid = dialog.getSelectedUuidAndTitleCache().getUuid();
if(referenceUuid == null){
return null;
return CdmStore.getReferenceService().getReferenceByUuid(referenceUuid);
}
-
- private List<UuidAndTitleCache> allReferenceBases;
-
+
/**
* @param shell
* @param title
*/
protected FilteredReferenceSelectionDialog(Shell shell, String title, boolean multi) {
- super(shell, title, multi);
+ super(shell, title, multi, FilteredReferenceSelectionDialog.class.getCanonicalName());
ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
setListLabelProvider(labelProvider);
setDetailsLabelProvider(labelProvider);
- allReferenceBases = CdmStore.getReferenceService().getUuidAndTitleCacheOfReferences();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- protected void fillContentProvider(AbstractContentProvider contentProvider,
- ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
- throws CoreException {
- progressMonitor.beginTask("Looking for references", 1000); // Why no progress monitor?
- for(UuidAndTitleCache reference : allReferenceBases){
- contentProvider.add(reference, itemsFilter);
- }
- }
-
- /**
- * @return
- */
- private UuidAndTitleCache getReferenceUuidAndTitleCache() {
- Object[] result = getResult();
- return result[0] == null ? null : (UuidAndTitleCache) result[0];
+ model = CdmStore.getReferenceService().getUuidAndTitleCache();
}
/* (non-Javadoc)
return null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#getSettings()
- */
- @Override
- public String getSettings() {
- if(SETTINGS == null){
- throw new IllegalStateException("No SETTINGS set.");
- }
- return SETTINGS;
- }
-
}
package eu.etaxonomy.taxeditor.dialogs;\r
\r
import java.util.List;\r
-import java.util.Map;\r
import java.util.UUID;\r
\r
import org.apache.log4j.Logger;\r
private static final Logger logger = Logger\r
.getLogger(FilteredTaxonNodeSelectionDialog.class);\r
\r
- public static final String SETTINGS = FilteredTaxonNodeSelectionDialog.class.getCanonicalName();\r
\r
/**\r
* @param taxon\r
return null;\r
}\r
\r
- UUID taxonNodeUuid = dialog.getTaxonNodeUuidAndTitleCache().getUuid();\r
+ UUID taxonNodeUuid = dialog.getSelectedUuidAndTitleCache().getUuid();\r
\r
if(taxonNodeUuid != null){\r
return CdmStore.getTaxonService().getTaxonNodeByUuid(taxonNodeUuid);\r
* @param title\r
*/\r
protected FilteredTaxonNodeSelectionDialog(Shell shell, String title, List<UUID> excludeTaxa, boolean multi) {\r
- super(shell, title, multi);\r
+ super(shell, title, multi, FilteredTaxonNodeSelectionDialog.class.getCanonicalName());\r
\r
this.excludeTaxa = excludeTaxa;\r
taxonomicTrees = CdmStore.getTaxonService().listTaxonomicTrees(null, null, null, null);\r
}\r
}\r
}\r
- \r
- /**\r
- * @return\r
- */\r
- private UuidAndTitleCache getTaxonNodeUuidAndTitleCache() {\r
- Object[] result = getResult();\r
- return result[0] == null ? null : (UuidAndTitleCache) result[0];\r
- }\r
\r
/* (non-Javadoc)\r
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)\r
\r
return taxonomicTreeSelection;\r
}\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#getSettings()\r
- */\r
- @Override\r
- public String getSettings() {\r
- if(SETTINGS == null){\r
- throw new IllegalStateException("No SETTINGS set.");\r
- }\r
- return SETTINGS;\r
- }\r
}
\ No newline at end of file
import org.apache.log4j.Logger;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbenchPart;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
import eu.etaxonomy.cdm.io.common.IIoConfigurator;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.api.service.ILocationService;
import eu.etaxonomy.cdm.api.service.INameService;
public static ICommonService getCommonService() { return getDefault().getApplicationControllerInternal().getCommonService(); }
+ public static IAgentService getAgentService() { return getDefault().getApplicationControllerInternal().getAgentService(); }
+
public static IEditGeoService getGeoService(){
return (IEditGeoService) getDefault().getApplicationControllerInternal().getBean("editGeoService");