From 496d004953355ffd8d68d93e5a2979200fc74038 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Tue, 3 Sep 2013 10:30:01 +0000 Subject: [PATCH] - fixed the link in CollectionSelectionDialog and InstitutionSelectionDialog to create a new entity - found strange bug in org.eclipse.swt.widgets.Link described in Ticket #3691 --- .../menu/AbstractMenuPreferences.java | 4 - ...actFilteredCdmResourceSelectionDialog.java | 161 +++++++++--------- .../selection/CollectionSelectionDialog.java | 12 +- .../selection/InstitutionSelectionDialog.java | 10 +- 4 files changed, 95 insertions(+), 92 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java index f78483bd6..8eb85ef25 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java @@ -12,7 +12,6 @@ package eu.etaxonomy.taxeditor.preference.menu; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import org.eclipse.core.commands.Command; @@ -25,7 +24,6 @@ import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTableViewer; import org.eclipse.jface.viewers.ICheckStateListener; -import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -39,11 +37,9 @@ import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; -import org.eclipse.ui.internal.commands.Parameter; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; -import eu.etaxonomy.cdm.api.service.ITermService; import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java index 242af0320..95a87cf52 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* 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. */ @@ -47,8 +47,8 @@ import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.common.IIdentifiableEntity; import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard; -import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; /** @@ -61,19 +61,19 @@ import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; public abstract class AbstractFilteredCdmResourceSelectionDialog extends FilteredItemsSelectionDialog implements IConversationEnabled { - private ConversationHolder conversation; + private final ConversationHolder conversation; protected List> model; - private Set transientCdmObjects = new HashSet(); - private String settings; - + private final Set transientCdmObjects = new HashSet(); + private final String settings; + protected T cdmBaseToBeFiltered; - + /** *

Constructor for AbstractFilteredCdmResourceSelectionDialog.

* * @param shell a {@link org.eclipse.swt.widgets.Shell} object. - * @param conversation + * @param conversation * @param title a {@link java.lang.String} object. * @param multi a boolean. * @param settings a {@link java.lang.String} object. @@ -85,29 +85,29 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetSelectionFromDialog

* @@ -140,18 +140,18 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog dialog) { //dialog.setInitialPattern(""); int result = dialog.open(); - + if (result == Window.CANCEL) { return null; } - + UUID uuid = dialog.getSelectedUuidAndTitleCache().getUuid(); if(uuid == null){ return null; - } + } return dialog.getCdmObjectByUuid(uuid); } - + /** * Check if object was created during the life of this dialog. If not, * retrieve it from the CdmStore. @@ -167,7 +167,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetPersistentObject

* @@ -204,16 +204,16 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoginitModel

*/ @@ -243,7 +243,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog element : model){ contentProvider.add(element, itemsFilter); @@ -316,7 +316,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog() { - public int compare(UuidAndTitleCache entity1, + @Override + public int compare(UuidAndTitleCache entity1, UuidAndTitleCache entity2) { Collator collator = Collator.getInstance(); return collator.compare(entity1.getTitleCache(), entity2.getTitleCache()); @@ -370,7 +371,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetSelectedUuidAndTitleCache

* @@ -380,7 +381,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialogGetter for the field settings.

* @@ -392,9 +393,9 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetNewWizardLinkText

* * @return a {@link java.lang.String} object. */ protected abstract String getNewWizardLinkText(); - + /** *

getNewEntityWizard

- * @param parameter + * @param parameter * @return a {@link eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard} object. */ protected abstract AbstractNewEntityWizard getNewEntityWizard(String parameter); - + public class FilteredCdmResourceLabelProvider extends LabelProvider { - public String getText(Object element) { + @Override + public String getText(Object element) { if (element == null) { return null; } return ((UuidAndTitleCache) element).getTitleCache(); - } + } }; /* (non-Javadoc) @@ -444,33 +448,34 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetConversationHolder

* * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. */ - public ConversationHolder getConversationHolder() { + @Override + public ConversationHolder getConversationHolder() { return conversation; } - + /** {@inheritDoc} */ - public void update(CdmDataChangeMap changeEvents) {} + @Override + public void update(CdmDataChangeMap changeEvents) {} /** - * Don't want to add for example a taxon or synonym to itself - * so filter the list to remove the taxon in question + * Don't want to add for example a taxon or synonym to itself + * so filter the list to remove the taxon in question * (cdmBaseToBeFiltered) * so it is not available in the filtered list. */ private void filterExcludedObjects() { if (model != null && cdmBaseToBeFiltered != null) { - + UuidAndTitleCache uuidAndTitleCacheToRemove = null; - + for (UuidAndTitleCache uuidAndTitleCache : model){ if ((cdmBaseToBeFiltered.getUuid()).equals(uuidAndTitleCache.getUuid())) { uuidAndTitleCacheToRemove = uuidAndTitleCache; - } + } } model.remove(uuidAndTitleCacheToRemove); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CollectionSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CollectionSelectionDialog.java index 02ef93583..15f0798b2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CollectionSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CollectionSelectionDialog.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* 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. */ @@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; */ public class CollectionSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog { - + /** *

select

* @@ -44,7 +44,7 @@ public class CollectionSelectionDialog extends "Choose Collection", false, CollectionSelectionDialog.class.getCanonicalName(), collection); return getSelectionFromDialog(dialog); } - + /** *

Constructor for FilteredCollectionSelectionDialog.

* @@ -85,7 +85,7 @@ public class CollectionSelectionDialog extends /** {@inheritDoc} */ @Override protected String getNewWizardLinkText() { - return "Click link to create a new Collection."; + return String.format("Click link to create a new %1s", "Collection "); } /* (non-Javadoc) @@ -97,5 +97,5 @@ public class CollectionSelectionDialog extends return new NewCollectionWizard(); } - + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java index a76039c7e..9312db0b6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* 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. */ @@ -35,7 +35,7 @@ public class InstitutionSelectionDialog extends "Choose Institution", false, TeamSelectionDialog.class.getCanonicalName(), institution); return getSelectionFromDialog(dialog); } - + /** * @param shell * @param conversation @@ -56,7 +56,7 @@ public class InstitutionSelectionDialog extends @Override protected Institution getPersistentObject(UUID uuid) { AgentBase agentBase = CdmStore.getService(IAgentService.class).load(uuid); - + if(agentBase instanceof Institution){ return (Institution) agentBase; } @@ -76,7 +76,7 @@ public class InstitutionSelectionDialog extends */ @Override protected String getNewWizardLinkText() { - return "Create a new Institution."; + return "Create a new Institution."; } /* (non-Javadoc) -- 2.34.1