Skip to content

Commit

Permalink
simulations - metric widgets, better metric title handling when defin…
Browse files Browse the repository at this point in the history
…ition or mark is not available
  • Loading branch information
1azyman committed Mar 21, 2023
1 parent fdff1ed commit 7dd0a67
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -202,31 +202,43 @@ protected List<DashboardWidgetType> load() {
.end();

SimulationMetricReferenceType metricRef = m.getRef();
if (metricRef.getEventMarkRef() != null) {
ObjectReferenceType eventMarkRef = metricRef.getEventMarkRef();
String metricIdentifier = metricRef.getIdentifier();
if (eventMarkRef != null) {
PrismObject<MarkType> markObject =
WebModelServiceUtils.loadObject(metricRef.getEventMarkRef(), PageSimulationResult.this);
WebModelServiceUtils.loadObject(eventMarkRef, PageSimulationResult.this);
DisplayType display;
if (markObject != null) {
MarkType mark = markObject.asObjectable();
DisplayType display = mark.getDisplay();
display = mark.getDisplay();
if (display == null) {
display = new DisplayType();
display.setLabel(mark.getName());
}
dw.setDisplay(display);
dw.setDisplayOrder(mark.getDisplayOrder());
} else {
display = new DisplayType();
display.setLabel(new PolyStringType(WebComponentUtil.getName(eventMarkRef)));
}
} else if (metricRef.getIdentifier() != null) {

dw.setDisplay(display);
} else if (metricIdentifier != null) {
SimulationMetricDefinitionType def =
getSimulationResultManager().getMetricDefinition(metricRef.getIdentifier());
getSimulationResultManager().getMetricDefinition(metricIdentifier);
DisplayType display;
if (def != null) {
DisplayType display = def.getDisplay();
display = def.getDisplay();
if (display == null) {
display = new DisplayType();
display.setLabel(new PolyStringType(def.getIdentifier()));
}
dw.setDisplay(display);
dw.setDisplayOrder(def.getDisplayOrder());
} else {
display = new DisplayType();
display.setLabel(new PolyStringType(metricIdentifier));
}

dw.setDisplay(display);
} else {
// built-in -> ignored
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,10 +224,13 @@ private ObjectFilter createObjectFilter(CollectionRefSpecificationType collectio
private void initLayout() {
add(AttributeModifier.prepend("class", "d-flex flex-column border rounded bg-white"));

Label title = new Label(ID_TITLE, () -> {
IModel<String> titleModel = () -> {
DisplayType display = getModelObject().getDisplay();
return display != null ? WebComponentUtil.getTranslatedPolyString(display.getLabel()) : null;
});
};

Label title = new Label(ID_TITLE, titleModel);
title.add(AttributeAppender.append("title", titleModel));
add(title);

BadgePanel trendBadge = new BadgePanel(ID_TREND_BADGE, () -> {
Expand Down

0 comments on commit 7dd0a67

Please sign in to comment.