X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/e202da54049d35da3013699c8832de9739b74b69..7509c9f33939429d74ef835f26791e57020bbc9a:/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java index 5a76457d7..7e48f97fc 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -29,18 +29,18 @@ import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.navigator.CommonViewer; import eu.etaxonomy.cdm.model.common.ICdmBase; -import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; import eu.etaxonomy.taxeditor.editor.EditorUtil; -import eu.etaxonomy.taxeditor.editor.OpenEditorConfiguration; import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin; import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin; import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator; @@ -53,55 +53,55 @@ import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator; */ public class NavigationUtil extends AbstractUtility{ private static IUndoContext defaultUndoContext; - + /** *

executeEditHandler

*/ public static void executeEditHandler(){ - String commandId = "eu.etaxonomy.taxeditor.navigation.command.editSelection"; - - IHandlerService handlerService = (IHandlerService) NavigationUtil.getService(IHandlerService.class); + String commandId = "eu.etaxonomy.taxeditor.navigation.command.update.editSelection"; + + IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class); try { handlerService.executeCommand(commandId, null); } catch (ExecutionException e) { - NavigationUtil.error(NavigationUtil.class, e); + MessagingUtils.error(NavigationUtil.class, e); } catch (NotDefinedException e) { - NavigationUtil.error(NavigationUtil.class, e); + MessagingUtils.error(NavigationUtil.class, e); } catch (NotEnabledException e) { - NavigationUtil.error(NavigationUtil.class, e); + MessagingUtils.error(NavigationUtil.class, e); } catch (NotHandledException e) { - NavigationUtil.error(NavigationUtil.class, e); + MessagingUtils.error(NavigationUtil.class, e); } } - + /** *

openEditor

* * @param selectedObject a {@link eu.etaxonomy.cdm.model.common.CdmBase} object. */ public static void openEditor(ICdmBase selectedObject){ - UUID entityUuid = selectedObject.getUuid(); - try { + UUID entityUuid = selectedObject.getUuid(); + try { if(selectedObject instanceof TaxonNode){ EditorUtil.openTaxonNode(entityUuid); }else if(selectedObject instanceof TaxonBase){ EditorUtil.openTaxonBase(entityUuid); }else if(selectedObject instanceof TaxonNameBase){ // TODO open bulk editor - warningDialog("Not implemented yet", NavigationUtil.class, "You tried to open a name. This is not handled by the software yet."); + MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "You tried to open a name. This is not handled by the software yet."); }else if(selectedObject instanceof PolytomousKey){ EditorUtil.openPolytomousKey(entityUuid); }else{ - warningDialog("Unsupported Type", NavigationUtil.class, "No editor exists for the current selection: " + selectedObject); + MessagingUtils.warningDialog("Unsupported Type", NavigationUtil.class, "No editor exists for the current selection: " + selectedObject); } } catch (PartInitException e) { - NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e); + MessagingUtils.error(NavigationUtil.class, "Error opening the editor", e); } catch (Exception e) { - EditorUtil.warningDialog("Could not create Taxon", NavigationUtil.class, e.getMessage()); + MessagingUtils.warningDialog("Could not create Taxon", NavigationUtil.class, e.getMessage()); } } - + public static void openEditor(Object selectedObject){ if (selectedObject instanceof UuidAndTitleCache){ Class type = ((UuidAndTitleCache) selectedObject).getType(); @@ -109,16 +109,16 @@ public class NavigationUtil extends AbstractUtility{ try { EditorUtil.openTaxonBase(((UuidAndTitleCache) selectedObject).getUuid()); } catch (PartInitException e) { - NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e); + MessagingUtils.error(NavigationUtil.class, "Error opening the editor", e); } } }else if(selectedObject instanceof ICdmBase){ - openEditor((ICdmBase) selectedObject); + openEditor((ICdmBase) selectedObject); }else{ - NavigationUtil.error(NavigationUtil.class, new IllegalArgumentException("Selected object is not supported: " + selectedObject)); + MessagingUtils.error(NavigationUtil.class, new IllegalArgumentException("Selected object is not supported: " + selectedObject)); } } - + /** *

openEmpty

* @@ -128,10 +128,10 @@ public class NavigationUtil extends AbstractUtility{ try { EditorUtil.openEmpty(parentNodeUuid); } catch (PartInitException e) { - NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e); + MessagingUtils.error(NavigationUtil.class, "Error opening the editor", e); } } - + /** *

getShell

* @@ -150,7 +150,7 @@ public class NavigationUtil extends AbstractUtility{ return TaxeditorNavigationPlugin.getDefault().getWorkbench(). getActiveWorkbenchWindow(); } - + /** *

getWorkbenchUndoContext

* @@ -169,10 +169,10 @@ public class NavigationUtil extends AbstractUtility{ public static IUndoContext getUndoContext() { // FIXME this has to be more specific. Every widget has to have its own undo context // return IOperationHistory.GLOBAL_UNDO_CONTEXT; - - // Plug-ins that wish their operations to be undoable from workbench views - // such as the Navigator or Package Explorer should assign the workbench - // undo context to their operations. + + // Plug-ins that wish their operations to be undoable from workbench views + // such as the Navigator or Package Explorer should assign the workbench + // undo context to their operations. if (defaultUndoContext == null) { defaultUndoContext = new UndoContext(); } @@ -186,9 +186,9 @@ public class NavigationUtil extends AbstractUtility{ * @return a boolean. */ public static boolean isDirty(TaxonNode taxonNode){ - + for (IEditorReference reference : getActivePage().getEditorReferences()) { - + try { if (reference.getEditorInput() instanceof TaxonEditorInput) { TaxonEditorInput editorInput = (TaxonEditorInput) reference.getEditorInput(); @@ -197,10 +197,10 @@ public class NavigationUtil extends AbstractUtility{ } } } catch (PartInitException e) { - NavigationUtil.error(NavigationUtil.class, e.getMessage(), e); + MessagingUtils.error(NavigationUtil.class, e.getMessage(), e); throw new RuntimeException(e); } - + } return false; } @@ -214,7 +214,8 @@ public class NavigationUtil extends AbstractUtility{ public static void selectInNavigator(final Object element, final Object parentElement) { Display.getDefault().asyncExec(new Runnable(){ - public void run() { + @Override + public void run() { TaxonNavigator navigator = showNavigator(); if (navigator != null) { @@ -223,11 +224,11 @@ public class NavigationUtil extends AbstractUtility{ if (parentElement != null) { viewer.setExpandedState(parentElement, true); } - viewer.setSelection(new StructuredSelection((TaxonNode) element)); + viewer.setSelection(new StructuredSelection(element)); } } } - + }); } @@ -239,18 +240,18 @@ public class NavigationUtil extends AbstractUtility{ public static void openSearch(Object selection) { if(selection instanceof Taxon){ Taxon taxon = (Taxon) selection; - + handleOpeningOfMultipleTaxonNodes(taxon.getTaxonNodes()); - + }else if(selection instanceof Synonym){ Synonym synonym = (Synonym) selection; - + handleOpeningOfMultipleTaxa(synonym.getAcceptedTaxa()); - + }else{ - warningDialog("Not implemented yet", NavigationUtil.class, "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment."); + MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment."); } - + } private static void handleOpeningOfMultipleTaxa(Set acceptedTaxa) { @@ -258,11 +259,11 @@ public class NavigationUtil extends AbstractUtility{ openEditor(acceptedTaxa.iterator().next()); }else if(acceptedTaxa.size() > 1){ // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open. - warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." + + MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." + " This case is not handled yet by the software."); }else if(acceptedTaxa.size() == 0){ // this is an undesired state - warningDialog("Not implemented yet", NavigationUtil.class, "This taxon is not connected to a classification. Currently editing of such taxa is not supported yet."); + MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "This taxon is not connected to a classification. Currently editing of such taxa is not supported yet."); } } @@ -271,16 +272,16 @@ public class NavigationUtil extends AbstractUtility{ */ private static void handleOpeningOfMultipleTaxonNodes( Set taxonNodes) { - + if(taxonNodes.size() == 1){ openEditor(taxonNodes.iterator().next()); }else if(taxonNodes.size() > 1){ // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open. - warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." + + MessagingUtils.warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." + " This case is not handled yet by the software."); }else if(taxonNodes.size() == 0){ // this is an undesired state - warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened."); + MessagingUtils.warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened."); } } @@ -317,7 +318,7 @@ public class NavigationUtil extends AbstractUtility{ * * @return a {@link java.lang.String} object. */ - protected static String getPluginId(){ + public static String getPluginId(){ return TaxeditorNavigationPlugin.PLUGIN_ID; }