From a2e68e751317e4d5ee294913c1ab6e5ecd4ec0ad Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Wed, 1 Jun 2016 14:16:17 +0200 Subject: [PATCH] Implement "Open in " bulk editor for taxon navigator #5609 --- .../taxeditor/bulkeditor/BulkEditor.java | 14 +++++--- .../OpenBulkEditorForTaxonNodeHandler.java | 32 ++++++++++++++----- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java index 5b7b601e7..3d07bf1f4 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java @@ -48,6 +48,7 @@ import eu.etaxonomy.taxeditor.model.IDirtyMarkable; import eu.etaxonomy.taxeditor.model.IPartContentHasDetails; import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData; import eu.etaxonomy.taxeditor.model.IPartContentHasMedia; +import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -110,7 +111,12 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe if (!(input instanceof AbstractBulkEditorInput)) { throw new PartInitException("Invalid Input: Must be BulkEditorInput"); } - + else{ + AbstractBulkEditorInput bulkEditorInput = (AbstractBulkEditorInput)input; + if(bulkEditorInput.getEntityUuid()!=null){ + bulkEditorInput.performSearch(new BulkEditorQuery(bulkEditorInput.getEntityUuid().toString(), null)); + } + } super.init(site, input); } @@ -176,15 +182,15 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe private void displayWarningDialog() { IPreferenceStore prefs = PreferencesUtil.getPreferenceStore(); - if (!prefs.getBoolean(PreferencesUtil.HIDE_BULKEDITOR_INFO)) { + if (!prefs.getBoolean(IPreferenceKeys.HIDE_BULKEDITOR_INFO)) { String msg = "The Bulk Editor allows you to edit objects used to reference other objects, such as names, references, and authors.\n\n" + "Any changes you make to an object in the Bulk Editor will be displayed wherever the object is used.\n\n" + "For instance, a reference may be displayed with both a name and a descriptive element. If the reference name is changed here, the display of both the name and the descriptive element will be affected."; MessageDialogWithToggle dialog = MessageDialogWithToggle.openOkCancelConfirm (getSite().getShell(), "Bulk Editor", msg, "Do not show this message again", - false, null, PreferencesUtil.HIDE_BULKEDITOR_INFO); + false, null, IPreferenceKeys.HIDE_BULKEDITOR_INFO); if (dialog.getReturnCode() == Window.OK) { - prefs.setValue(PreferencesUtil.HIDE_BULKEDITOR_INFO, dialog.getToggleState()); + prefs.setValue(IPreferenceKeys.HIDE_BULKEDITOR_INFO, dialog.getToggleState()); } } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/defaultHandler/OpenBulkEditorForTaxonNodeHandler.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/defaultHandler/OpenBulkEditorForTaxonNodeHandler.java index 22292b0a3..8307781b1 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/defaultHandler/OpenBulkEditorForTaxonNodeHandler.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/defaultHandler/OpenBulkEditorForTaxonNodeHandler.java @@ -1,15 +1,31 @@ package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler; -import org.eclipse.core.commands.AbstractHandler; +import java.util.UUID; + import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; +import org.eclipse.ui.PartInitException; + +import eu.etaxonomy.cdm.api.service.ITaxonNodeService; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil; +import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase; +import eu.etaxonomy.taxeditor.model.MessagingUtils; +import eu.etaxonomy.taxeditor.store.CdmStore; + +public class OpenBulkEditorForTaxonNodeHandler extends DefaultOpenHandlerBase { -public class OpenBulkEditorForTaxonNodeHandler extends AbstractHandler { + @Override + protected TaxonNode getEntity(UUID uuid) { + return CdmStore.getService(ITaxonNodeService.class).load(uuid); + } - @Override - public Object execute(ExecutionEvent event) throws ExecutionException { - System.out.println("event"); - return null; - } + @Override + protected void open(ExecutionEvent event, TaxonNode entity) { + try { + BulkEditorUtil.openEditor(entity.getTaxon()); + } catch (PartInitException e) { + MessagingUtils.error(this.getClass(), "Bulk Editor could not be opened for "+entity, e); + } + } } -- 2.34.1