eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties -text
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties -text
+eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_en.properties -text
eu.etaxonomy.taxeditor.editor/build.properties -text
eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text
eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteAllEmptyNamesHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteTaxonBaseHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/GroupBasionymContributionItem.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/MoveSynonymToAnotherAcceptedTaxonHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/RemoveBasionymHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SetBasionymHandler.java -text
command.name.43 = Create Field Unit\r
command.name.44 = Deep Delete\r
command.name.46 = Move Synonym (Homotypical Group) to another Accepted Taxon\r
-command.label.56 = Move Synonym (Homotypical Group) to another Accepted Taxon
\ No newline at end of file
+command.label.56 = Move Synonym (Homotypical Group) to another Accepted Taxon\r
+markerContentGenerator.name = Validation Problems Marker Generator\r
+command.name.45 = Delete\r
+command.name.47 = Delete\r
+commandParameter.name = taxonUUID\r
+Bundle-Name = Editor Bundle\r
+command.name.48 = delete\r
+command.name.49 = delete\r
+command.name.50 = delete
\ No newline at end of file
--- /dev/null
+#Properties file for taxeditor-editor\r
+Bundle-Vendor.0 = EDIT\r
+Bundle-Name.0 = EDIT Taxonomic Editor - Editor Bundle\r
+command.name.17 = Set Basionym\r
+command.name.18 = Remove Basionym\r
+editor.name = Multipage Taxon Editor\r
+editor.name.0 = Taxon Name Editor\r
+editor.name.1 = Key\r
+editor.name.2 = Polytomous Key Graph Editor\r
+editor.name.3 = Polytomous Key List Editor\r
+editor.name.4 = Cdm Authority Editor\r
+editor.name.5 = Derivate View\r
+view.name = Factual Data\r
+view.name.0 = Uses\r
+view.name.1 = Media\r
+view.name.2 = Concept Relations\r
+view.name.3 = Concept Graph\r
+category.name = Taxonomic Editor\r
+command.label = Reference\r
+command.label.0 = Name\r
+command.label.1 = Team\r
+command.label.2 = Person\r
+command.label.3 = Specimen\r
+command.label.4 = Factual Data\r
+command.label.5 = Media\r
+command.label.6 = Concept\r
+command.label.7 = Concept Graph\r
+command.label.8 = Open Parent\r
+menu.label = New\r
+command.label.9 = Heterotypic Synonym\r
+command.label.10 = Homotypic Synonym\r
+command.label.11 = Synonym In Homotypical Group\r
+menu.label.0 = Change To\r
+command.label.12 = Accepted Taxon\r
+command.label.13 = Synonym\r
+command.label.14 = Misapplication\r
+command.label.15 = Delete\r
+command.label.16 = Delete All Empty Names\r
+command.label.17 = Swap Synonym With Accepted\r
+command.label.18 = Show Details\r
+command.label.19 = Save\r
+command.label.20 = New Node\r
+command.label.21 = Delete\r
+command.label.22 = Apply Layout\r
+command.label.23 = New Key Number\r
+command.label.24 = New Alternative\r
+command.label.25 = Refresh Nodes\r
+command.label.26 = Delete\r
+command.label.27 = New Factual Data\r
+menu.label.1 = New\r
+command.label.28 = Move Description to Taxon\r
+command.label.29 = Move Elements to Taxon\r
+command.label.30 = Delete\r
+command.label.31 = Save\r
+menu.label.2 = New Derivate\r
+command.label.32 = New Use\r
+command.label.33 = New Use Summary\r
+command.label.34 = New Use Record\r
+command.label.35 = Delete\r
+command.label.36 = Save\r
+command.label.37 = New Image Gallery\r
+command.label.38 = New Image\r
+command.label.39 = Move Image Up In List\r
+command.label.40 = Move Image Down In List\r
+command.label.41 = Delete\r
+command.label.42 = Save\r
+menu.label.3 = New\r
+command.label.43 = Open Related Concept\r
+command.label.44 = Delete\r
+command.label.45 = Edit Authorities\r
+extension.name = Name Commands\r
+category.name.0 = -- Name Editor\r
+command.name = Open Parent\r
+command.name.0 = Create Homotypic Synonym\r
+command.name.1 = Create Heterotypic Synonym\r
+command.name.2 = Create Synonym In Homotypical Group\r
+command.name.3 = Change To Synonym\r
+command.name.4 = Change To Accepted Taxon\r
+command.name.5 = Change To Misapplication\r
+command.name.6 = Swap Synonym With Accepted\r
+command.name.7 = Set Basionym / Original Combination\r
+command.name.8 = Remove Basionym / Original Combination\r
+command.name.9 = Delete All Empty Names\r
+category.name.1 = -- Factual\r
+command.name.10 = Create Description Element\r
+command.name.11 = New Description\r
+command.name.12 = Move Description Elements to Taxon\r
+command.name.13 = Move Description to Taxon\r
+category.name.2 = -- New Uses\r
+command.name.14 = New Use\r
+command.name.15 = New Use Summary\r
+command.name.16 = New Use Record\r
+category.name.3 = -- Media\r
+command.name.19 = Move Image Down In List\r
+command.name.20 = New Image Gallery\r
+command.name.21 = New Image\r
+command.name.22 = Move Image Up In List\r
+category.name.4 = -- New Entity\r
+command.name.23 = New Reference\r
+command.name.24 = New Name\r
+command.name.25 = New Team\r
+command.name.26 = New Person\r
+command.name.27 = New Specimen\r
+category.name.5 = -- Polytomous Keys\r
+command.name.28 = New Child Node\r
+command.name.29 = New Sibling Node\r
+command.name.30 = Refresh Node Numbering\r
+command.name.31 = Apply Layout\r
+category.name.6 = -- Concept Relations\r
+command.name.32 = Create Concept Relation\r
+command.name.33 = Open Related Concept\r
+category.name.7 = -- Group\r
+command.name.34 = Edit CDM Authorities\r
+command.name.35 = Open Derivate View\r
+scheme.description = The default key binding scheme for the Taxonomic Editor\r
+scheme.name = Taxonomic Editor Default Key Bindingseditor.name.6 = Specimen Import Editor\r
+editor.name.7 = Gbif Import Editor\r
+editor.name.8 = Checklist Editor\r
+view.name.4 = Specimen Import\r
+view.name.5 = GBIF Specimen Import\r
+command.label.46 = Name\r
+command.label.47 = Reference\r
+command.label.48 = Datasource\r
+command.label.49 = Misapplication\r
+command.label.50 = Use Existing Image\r
+command.name.36 = Create Misapplication\r
+command.name.37 = Use Existing Image\r
+command.name.38 = Open Checklist Editor\r
+command.name.39 = New Datasource\r
+wizard.name = Specimen Search/Import\r
+wizard.description = Queries data provider for specimens with specified parameters.\nNote: Query results are currently limited to 100.\r
+command.name.40 = Validation\r
+view.name.6 = Validation\r
+marker.field.0 = Object Type\r
+marker.field.1 = Object\r
+marker.field.2 = Attribute\r
+marker.field.3 = Problematic Value\r
+marker.field.4 = Problem description\r
+marker.field.5 = Validator\r
+marker.field.6 = Entity Class\r
+marker.field.7 = Entity Id
\ No newline at end of file
<extension point="org.eclipse.ui.ide.markerSupport">
<markerContentGenerator
id="eu.etaxonomy.taxeditor.editor.validation.ValidationProblemsMarkerGenerator"
- name="Validation Problems Marker Generator">
+ name="%markerContentGenerator.name">
<markerTypeReference id="eu.etaxonomy.taxeditor.markers.validationerror" />
<markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyTypeName" visible="true" />
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.name.delete"
label="%command.label.15"
style="push">
<visibleWhen>
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.key.polytomous.delete"
label="%command.label.21"
style="push">
</command>
style="push">
</command>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
label="%command.label.26"
style="push">
</command>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.descriptive">
<command
- commandId="eu.etaxonomy.taxeditor.description.commands.adddescription"
+ commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
label="%command.label.27"
style="push">
</command>
</visibleWhen>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
+ commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
label="%command.label.28"
style="push">
<visibleWhen
</visibleWhen>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
+ commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionElements"
label="%command.label.29"
style="push">
<visibleWhen
name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterNew"
visible="true">
</separator>
- <command
- commandId="org.eclipse.ui.edit.delete"
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
label="%command.label.30"
style="push">
</command>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.derivate.delete"
label="%command.label.52"
style="push">
</command>
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.use.command.delete"
label="%command.label.35"
style="push">
</command>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">
<command
- commandId="taxeditor-editor.command.newimagegallery"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
label="%command.label.37"
style="push">
<visibleWhen>
visible="true">
</separator>
<command
- commandId="taxeditor-editor.newimage"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.newimage"
label="%command.label.38"
style="push">
<visibleWhen>
</visibleWhen>
</command>
<command
- commandId="taxeditor-editor.useExistingImage"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
label="%command.label.50"
style="push">
<visibleWhen>
</visibleWhen>
</command>
<command
- commandId="taxeditor-editor.command.moveimgdown"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
label="%command.label.39"
style="push">
<visibleWhen>
</visibleWhen>
</command>
<command
- commandId="taxeditor-editor.command.moveimgup"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
label="%command.label.40"
style="push">
<visibleWhen>
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.media.command.delete"
label="%command.label.41"
style="push">
</command>
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete"
label="%command.label.44"
style="push">
</command>
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.name.command.delete">
<activeWhen>
<and>
<reference
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete">
<activeWhen>
<with
variable="activePartId">
<equals
value="eu.etaxonomy.taxeditor.editor.view.media">
</equals>
+ <equals
+ value="eu.etaxonomy.taxeditor.editor.view.uses">
+ </equals>
</or>
- </with>
- </activeWhen>
+ </with>
+ </activeWhen>
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.key.polytomous.command.delete">
<activeWhen>
<with
variable="activePartId">
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete">
<activeWhen>
<with
variable="activePartId">
</with>
</activeWhen>
</handler>
- <handler
- class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
- commandId="org.eclipse.ui.edit.delete">
- <activeWhen>
- <with
- variable="activePartId">
- <equals
- value="eu.etaxonomy.taxeditor.editor.view.uses">
- </equals>
- </with>
- </activeWhen>
- </handler>
<handler
class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.view.derivate.command.delete">
<activeWhen>
<with
variable="activePartId">
id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
name="%command.name.6">
</command>
- <command
+ <command
categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.MoveSynonymToAnotherAcceptedTaxonHandler"
id="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
id="eu.etaxonomy.taxeditor.editor.name.changeAcceptedToSynonym"
name="Change Accepted Taxon to Synonym">
</command>-->
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
+ id="eu.etaxonomy.taxeditor.editor.name.delete"
+ name="%command.name.45">
+ </command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteAllEmptyNamesHandler"
<command
categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler"
- id="eu.etaxonomy.taxeditor.editor.description.createDescriptionElement"
+ id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.createDescriptionElement"
name="%command.name.10">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionHandler"
- id="eu.etaxonomy.taxeditor.description.commands.adddescription"
+ id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
name="%command.name.11">
</command>
- <command
- categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
- defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionElementsHandler"
- id="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
- name="%command.name.12">
- </command>
- <command
- categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
- defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
- id="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
- name="%command.name.13">
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
+ id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
+ name="%command.name.48">
</command>
<category
id="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
id="eu.etaxonomy.taxeditor.use.commands.adduse"
name="%command.name.14">
</command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseRecordHandler"
+ id="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
+ name="%command.name.16">
+ </command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseSummaryHandler"
name="%command.name.15">
</command>
<command
- categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
- defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseRecordHandler"
- id="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
- name="%command.name.16">
+ id="eu.etaxonomy.taxeditor.editor.use.command.delete"
+ name="%command.name.47">
</command>
<category
id="eu.etaxonomy.taxeditor.editor.media.category"
<command
categoryId="eu.etaxonomy.taxeditor.editor.media.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageDownInListHandler"
- id="taxeditor-editor.command.moveimgdown"
+ id="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
name="%command.name.19">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.media.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddImageGalleryHandler"
- id="taxeditor-editor.command.newimagegallery"
+ id="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
name="%command.name.20">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.media.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.CreateMediaHandler"
- id="taxeditor-editor.newimage"
+ id="eu.etaxonomy.taxeditor.editor.media.command.newimage"
name="%command.name.21">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.media.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddExistingMediaHandler"
- id="taxeditor-editor.useExistingImage"
+ id="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
name="%command.name.37">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.media.category"
defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageUpInListHandler"
- id="taxeditor-editor.command.moveimgup"
+ id="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
name="%command.name.22">
+ </command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.media.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
+ id="eu.etaxonomy.taxeditor.editor.media.command.delete"
+ name="%command.name.49">
</command>
<category
id="eu.etaxonomy.taxeditor.editor.new.category"
id="eu.etaxonomy.taxeditor.key.command.applyLayout"
name="%command.name.31">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
+ id="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
+ name="%command.name.50">
+ </command>
<category
id="eu.etaxonomy.taxeditor.editor.view.concept.category"
name="%category.name.6">
name="%command.name.42">
<commandParameter
id="eu.etaxonomy.taxeditor.editor.taxonParameter"
- name="taxonUUID"
+ name="%commandParameter.name"
optional="false"
typeId="eu.etaxonomy.taxeditor.editor.taxonParameterType">
</commandParameter>
id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
name="%command.name.44">
</command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
+ id="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
+ name="%command.name.13">
+ </command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionElementsHandler"
+ id="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
+ name="%command.name.12">
+ </command>
+
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.name.handler;\r
+\r
+import java.util.UUID;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.StructuredSelection;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
+\r
+import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.taxeditor.editor.EditorUtil;\r
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
+import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;\r
+import eu.etaxonomy.taxeditor.editor.name.operation.MoveSynonymToAnotherAcceptedTaxonOperation;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog;\r
+\r
+public class MoveSynonymToAnotherAcceptedTaxonHandler extends AbstractHandler implements IPostOperationEnabled {\r
+ private static final Logger logger = Logger\r
+ .getLogger(MoveSynonymToAnotherAcceptedTaxonHandler.class);\r
+ private MultiPageTaxonEditor editor;\r
+ \r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ editor = (MultiPageTaxonEditor) HandlerUtil.getActiveEditor(event);\r
+ Shell shell = HandlerUtil.getActiveShell(event);\r
+ IEditorInput input = editor.getEditorInput();\r
+ if (!EditorUtil.forceUserSave(editor, shell)) {\r
+ return null;\r
+ }\r
+ \r
+ if (!(input instanceof TaxonEditorInput)) {\r
+ logger.error("Editor input is not TaxonEditorInput");\r
+ return null;\r
+ }\r
+\r
+ // Get synonym from selection\r
+ StructuredSelection selection = (StructuredSelection) HandlerUtil.getCurrentSelection(event);\r
+ if (!(selection.getFirstElement() instanceof Synonym)) {\r
+ logger.error("Selection does not contain a Synonym");\r
+ return null;\r
+ }\r
+\r
+ Synonym synonym = (Synonym) selection.getFirstElement();\r
+ TaxonNode newParentNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), "Select new accepted taxon", null, null, null);\r
+ Taxon oldParent = ((TaxonEditorInput)input).getTaxon();\r
+ \r
+ MoveSynonymToAnotherAcceptedTaxonOperation operation = new MoveSynonymToAnotherAcceptedTaxonOperation("Change accepted Taxon of Synonym", EditorUtil.getUndoContext(),\r
+ oldParent.getUuid(), synonym.getUuid(), newParentNode.getTaxon(), editor);\r
+ \r
+ EditorUtil.executeOperation(operation);\r
+ \r
+\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public boolean postOperation(CdmBase objectAffectedByOperation) {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override\r
+ public boolean onComplete() {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+ \r
+ \r
+\r
+}\r
public class CreateDescriptionElementOperation extends AbstractPostTaxonOperation {
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.descripti"{trunked}</code> */
- public static final String ID = "eu.etaxonomy.taxeditor.editor.description.createDescriptionElement";
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive.command.createDescriptionElement";
private final DescriptionBase<?> description;
private final Feature feature;
package eu.etaxonomy.taxeditor.editor.view.descriptive.operation;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.runtime.IAdaptable;
monitor.worked(20);
if (description != null){
- CdmStore.getService(IDescriptionService.class).deleteDescription(description);
+ List<String> propertyPaths = new ArrayList<String>();
+ propertyPaths.add("taxon");
+ TaxonDescription loadedDescription = (TaxonDescription) CdmStore.getService(IDescriptionService.class).load(description.getUuid(), propertyPaths);
+ CdmStore.getService(IDescriptionService.class).deleteDescription(loadedDescription);
return postExecute(description);
}
return null;
}
else if (parentElement instanceof DescriptionBase) {
if (((DescriptionBase) parentElement).isImageGallery()) {
- return getImages((DescriptionBase) parentElement).toArray();
+ List<Media> images = getImages((DescriptionBase) parentElement);
+ if (images != null){
+ return images.toArray();
+ }
+ return null;
+
}
}
else if (parentElement instanceof DerivedUnit){
/** {@inheritDoc} */
@Override
public boolean hasChildren(Object element) {
+ if (getChildren(element)== null) {
+ return false;
+ }
return (getChildren(element).length > 0);
}
if(elements.size() > 1){
MessagingUtils.error(this.getClass(), "There should be one and only one description element to hold the images. Found: " + elements.size() + " InDescription ID: " + description.getUuid(), null);
}
+ if (!elements.isEmpty()){
+ DescriptionElementBase element = elements.iterator().next();
+ return element.getMedia();
+ }
- DescriptionElementBase element = elements.iterator().next();
-
- return element.getMedia();
+
}
return null;
}