Skip to content

Commit e1b6496

Browse files
committed
CAUSEWAY-4035: honors qualified value sem. for title render
1 parent 4badcca commit e1b6496

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

  • core/metamodel/src/main/java/org/apache/causeway/core/metamodel/objectmanager/memento

core/metamodel/src/main/java/org/apache/causeway/core/metamodel/objectmanager/memento/ObjectMemento.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,21 +85,26 @@ static Optional<ObjectMemento> singular(
8585
+ "nor has 'encodable' semantics, nor is (Serializable || Externalizable)"
8686
.formatted(spec));
8787

88-
//FIXME honor qualified value semantics
89-
var title = mo.getTranslationService().translate(TranslationContext.empty(), MmTitleUtils.titleOf(mo));
90-
System.err.println("title: %s".formatted(title));
88+
89+
90+
var prerenderedTitle = spec.isValue()
91+
// if value type, then support translation only for enums
92+
? spec.getCorrespondingClass().isEnum()
93+
? mo.getTranslationService().translate(TranslationContext.empty(), MmValueUtils.titleStringForValueType(feature, mo))
94+
: MmValueUtils.titleStringForValueType(feature, mo)
95+
: mo.getTranslationService().translate(TranslationContext.empty(), MmTitleUtils.titleOf(mo));
9196

9297
var prerenderedHtml = spec.isValue()
9398
? "<span>%s</span>".formatted(
9499
MmValueUtils.htmlStringForValueType(feature, mo))
95100
: "<span>%s %s</span>".formatted(
96101
mo.getObjectRenderService().iconToHtml(mo.getIcon(IconSize.SMALL), IconSize.SMALL),
97-
title);
102+
prerenderedTitle);
98103

99104
return Optional.of(new ObjectMementoSingular(
100105
mo.logicalType(),
101106
MmHintUtils.bookmarkElseFail(mo),
102-
title,
107+
prerenderedTitle,
103108
prerenderedHtml));
104109
}
105110
/**

0 commit comments

Comments
 (0)