diff --git a/infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyString.java b/infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyString.java index 414545cea0f..70b6c9be6dc 100644 --- a/infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyString.java +++ b/infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyString.java @@ -19,6 +19,8 @@ import com.evolveum.midpoint.util.annotation.Experimental; import com.evolveum.prism.xml.ns._public.types_3.PolyStringTranslationType; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; + +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang.StringUtils; import java.io.Serializable; @@ -337,11 +339,15 @@ public String debugDump(int indent) { @Override public void shortDump(StringBuilder sb) { - sb.append("orig=" + orig); + if (MapUtils.isNotEmpty(getLang()) || getTranslation() != null && StringUtils.isNotEmpty(getTranslation().getKey())){ + sb.append("orig=" + orig); + } else { + sb.append(orig); + } if (getTranslation() != null) { sb.append("; translation.key=" + getTranslation().getKey()); } - if (getLang() != null) { + if (MapUtils.isNotEmpty(getLang())) { sb.append("; lang:"); getLang().keySet().forEach(langKey -> { sb.append(" " + langKey + "=" + getLang().get(langKey) + ","); diff --git a/infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java b/infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java index 2631607de1f..154cb24c0d7 100644 --- a/infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java +++ b/infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java @@ -33,6 +33,8 @@ import com.evolveum.prism.xml.ns._public.types_3.ProtectedStringType; import com.evolveum.prism.xml.ns._public.types_3.RawType; import com.evolveum.prism.xml.ns._public.types_3.SchemaDefinitionType; + +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -587,11 +589,15 @@ public String toHumanReadableString() { // (displaying the aux information in user-visible context). But for e.g. deltas we need this information. PolyString ps = (PolyString) this.value; StringBuilder sb = new StringBuilder(); - sb.append("orig=" + ps.getOrig()); + if (MapUtils.isNotEmpty(ps.getLang()) || ps.getTranslation() != null && StringUtils.isNotEmpty(ps.getTranslation().getKey())){ + sb.append("orig=" + ps.getOrig()); + } else { + sb.append(ps.getOrig()); + } if (ps.getTranslation() != null) { sb.append(", translation.key=" + ps.getTranslation().getKey()); } - if (ps.getLang() != null) { + if (MapUtils.isNotEmpty(ps.getLang())) { sb.append("; lang:"); ps.getLang().keySet().forEach(langKey -> { sb.append(" " + langKey + "=" + ps.getLang().get(langKey) + ",");