From: Katja Luther Date: Wed, 29 Jun 2016 09:39:24 +0000 (+0200) Subject: #4018: fix title of defined term details if global language is not the cdm default... X-Git-Tag: 4.2.0^2~22 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/0ab85ea9762bc0d2a129b7d796fdc940401984e7 #4018: fix title of defined term details if global language is not the cdm default language --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java index cf2a786c8..317549711 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java @@ -21,8 +21,12 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import org.eclipse.ui.forms.widgets.TableWrapLayout; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; @@ -127,8 +131,24 @@ public abstract class AbstractCdmDetailSection extends AbstractFormSecti protected void setSectionTitle() { String title = ""; + String label = ""; if (getEntity() != null && (getEntity() instanceof IdentifiableEntity) && !(getEntity() instanceof SpecimenOrObservationBase)) { - title = ": " + ((IdentifiableEntity) getEntity()).getTitleCache(); + if (getEntity() instanceof DefinedTermBase ){ + label = ((DefinedTermBase)getEntity()).getLabel(PreferencesUtil.getGlobalLanguage()); + if (label == null){ + label = ((DefinedTermBase)getEntity()).getLabel(); + } + + } else if (getEntity() instanceof TextData){ + label = ((TextData)getEntity()).getLanguageText(PreferencesUtil.getGlobalLanguage()).getText(); + if (label == null){ + label = ((TextData)getEntity()).getLanguageText(Language.DEFAULT()).getText(); + } + } else{ + label =((IdentifiableEntity) getEntity()).getTitleCache(); + } + title = ": " + label; + // we have to duplicate ampersands otherwise they are treated as // mnenomic (see Label.setText() documentation) // see also #4302