From abba82de33766e486bfbe8019465140861af50e3 Mon Sep 17 00:00:00 2001 From: lskublik Date: Fri, 13 Nov 2020 12:05:48 +0100 Subject: [PATCH] fix for translating of relation in generated buttons tooltip (MID-6710) --- .../evolveum/midpoint/gui/api/util/WebComponentUtil.java | 9 +++++---- .../midpoint/schema/constants/RelationTypes.java | 2 +- .../midpoint/schema/relation/RelationRegistryImpl.java | 8 +++++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java index 098c15d07c0..9fd9195e6a4 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java @@ -3717,13 +3717,14 @@ public static DisplayType getAssignmentObjectRelationDisplayType(PageBase pageBa displayType.getIcon().setCssClass(def.getDisplay().getIcon().getCssClass()); displayType.getIcon().setColor(def.getDisplay().getIcon().getColor()); } + displayType.setLabel(def.getDisplay().getLabel()); } - if (displayType.getLabel() != null && StringUtils.isNotEmpty(displayType.getLabel().getOrig())){ - relationValue = pageBase.createStringResource(displayType.getLabel().getOrig()).getString(); + if (displayType.getLabel() != null) { + relationValue = getTranslatedPolyString(displayType.getLabel()); } else { String relationKey = "RelationTypes." + RelationTypes.getRelationTypeByRelationValue(relation); - relationValue = pageBase.createStringResource(relationValue).getString(); - if (StringUtils.isEmpty(relationValue) || relationKey.equals(relationValue)){ + relationValue = pageBase.createStringResource(relationKey).getString(); + if (StringUtils.isEmpty(relationValue) || relationKey.equals(relationValue)) { relationValue = relation.getLocalPart(); } } diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/RelationTypes.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/RelationTypes.java index 31c2906c206..eacb434040c 100755 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/RelationTypes.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/RelationTypes.java @@ -93,7 +93,7 @@ public String getDefaultIconColor() { public static RelationTypes getRelationTypeByRelationValue(QName relation){ for (RelationTypes relationType : values()) { - if (relationType.getRelation().equals(relation)) { + if (QNameUtil.match(relationType.getRelation(), relation)) { return relationType; } } diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/relation/RelationRegistryImpl.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/relation/RelationRegistryImpl.java index ed86b0f5934..483fd29b830 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/relation/RelationRegistryImpl.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/relation/RelationRegistryImpl.java @@ -11,9 +11,11 @@ import com.evolveum.midpoint.schema.RelationRegistry; import com.evolveum.midpoint.schema.constants.RelationTypes; import com.evolveum.midpoint.schema.util.ObjectTypeUtil; +import com.evolveum.midpoint.util.QNameUtil; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; +import com.evolveum.prism.xml.ns._public.types_3.PolyStringTranslationType; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; import org.apache.commons.lang.BooleanUtils; @@ -96,7 +98,11 @@ static RelationDefinitionType createRelationDefinitionFromStaticDefinition(Relat RelationDefinitionType relationDef = new RelationDefinitionType(); relationDef.setRef(defaultRelationDefinition.getRelation()); DisplayType display = new DisplayType(); - display.setLabel(new PolyStringType(defaultRelationDefinition.getLabelKey())); + PolyStringType label = new PolyStringType(QNameUtil.getLocalPart(defaultRelationDefinition.getRelation())); + PolyStringTranslationType translation = new PolyStringTranslationType(); + translation.setKey(defaultRelationDefinition.getLabelKey()); + label.setTranslation(translation); + display.setLabel(label); if (StringUtils.isNotEmpty(defaultRelationDefinition.getDefaultIconStyle())){ IconType icon = new IconType(); icon.setCssClass(defaultRelationDefinition.getDefaultIconStyle());