</menus>
<menus xsi:type="menu:PopupMenu" xmi:id="__10yYLKREeikjKoOnLFm2w" elementId="eu.etaxonomy.taxeditor.editor.popupmenu.charactermatrix">
<children xsi:type="menu:HandledMenuItem" xmi:id="_AyHbgLKSEeikjKoOnLFm2w" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.createdefaultdescription" label="%handledmenuitem.label.19" command="_ZHC3oLKVEeikjKoOnLFm2w"/>
+ <children xsi:type="menu:DynamicMenuContribution" xmi:id="_zHbhUEB_EeySSdtyqU8-Hw" elementId="eu.etaxonomy.taxeditor.editor.dynamicmenucontribution.openInCdmViewer" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.CdmViewerContextMenuE4"/>
+ <children xsi:type="menu:MenuSeparator" xmi:id="_MhHQYLIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.29"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_DYlHcLKSEeikjKoOnLFm2w" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.createliteraturedescription" label="%handledmenuitem.label.20" command="_fkPkkLKVEeikjKoOnLFm2w"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_ARo78KSvEeq8Gc-K2nsNRg" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.adddescription" label="%command.commandname.25" command="_zCGQ8JN1EeqyUKRuXQ8miw"/>
- <children xsi:type="menu:MenuSeparator" xmi:id="_MhHQYLIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.29"/>
+ <children xsi:type="menu:MenuSeparator" xmi:id="_Pu6CELIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.30"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_vBrWQKY-Eeq8Gc-K2nsNRg" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.aggregate" label="%command.commandname.26" command="_K2C_oKZAEeq8Gc-K2nsNRg"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_wkVAMKotEeqBXdGXVmg_xA" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.create_key" label="%command.commandname.27" command="_vWxB4KoiEeqBXdGXVmg_xA"/>
- <children xsi:type="menu:MenuSeparator" xmi:id="_Pu6CELIfEeqvn5lIFwyIRw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.30"/>
+ <children xsi:type="menu:MenuSeparator" xmi:id="__Ff10EB_EeySSdtyqU8-Hw" elementId="eu.etaxonomy.taxeditor.editor.menuseparator.2"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="__SlnwI97EeqyUKRuXQ8miw" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.deletedescription" label="%handledmenuitem.label.27" command="_MYd44I98EeqyUKRuXQ8miw"/>
</menus>
</elements>
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
+import eu.etaxonomy.cdm.api.service.dto.DescriptionBaseDto;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.name.NomenclaturalSource;
+import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.persistence.dto.ReferencingObjectDto;
import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
uuidAndTitleCache = (UuidAndTitleCache<CdmBase>)o;
}else if (o instanceof TermNodeDto){
uuidAndTitleCache = new UuidAndTitleCache<>(DefinedTermBase.class, ((TermNodeDto)o).getTerm().getUuid(), null, ((TermNodeDto)o).getTerm().getTitleCache());
+ }else if (o instanceof DescriptionBaseDto){
+ if ( ((DescriptionBaseDto)o).getSpecimenDto() != null){
+ uuidAndTitleCache = new UuidAndTitleCache<>(SpecimenOrObservationBase.class, ((DescriptionBaseDto)o).getSpecimenDto().getUuid(), null, ((DescriptionBaseDto)o).getTitleCache());
+ }else if (((DescriptionBaseDto)o).getTaxonDto() != null){
+ uuidAndTitleCache = new UuidAndTitleCache<>(TaxonBase.class, ((DescriptionBaseDto)o).getTaxonDto().getUuid(), null, ((DescriptionBaseDto)o).getTitleCache());
+ }else {
+ uuidAndTitleCache = new UuidAndTitleCache<>(TaxonName.class, ((DescriptionBaseDto)o).getNameDto().getUuid(), null, ((DescriptionBaseDto)o).getTitleCache());
+ }
}else{
continue;
}