Skip to content

Commit

Permalink
simulation dashboar widget improvements for "no data" situation, also…
Browse files Browse the repository at this point in the history
… navigation improved
  • Loading branch information
1azyman committed Mar 29, 2023
1 parent fd4f50b commit 18ccae1
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -335,21 +335,11 @@ private void redirectToProcessedObjects(ObjectProcessingStateType state) {
}

private void redirectToProcessedObjects(BuiltInSimulationMetricType identifier) {
ObjectProcessingStateType state = ObjectProcessingStateType.UNMODIFIED;
if (identifier != null) {
switch (identifier) {
case ADDED:
state = ObjectProcessingStateType.ADDED;
break;
case MODIFIED:
state = ObjectProcessingStateType.MODIFIED;
break;
case DELETED:
state = ObjectProcessingStateType.DELETED;
break;
}
if (identifier == null) {
redirectToProcessedObjects(ObjectProcessingStateType.UNMODIFIED);
}

ObjectProcessingStateType state = SimulationsGuiUtil.builtInMetricToProcessingState(identifier);
redirectToProcessedObjects(state);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,6 @@

package com.evolveum.midpoint.gui.impl.page.admin.simulation;

import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import javax.xml.namespace.QName;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.gui.api.component.Badge;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.LocalizationUtil;
Expand Down Expand Up @@ -49,6 +38,17 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.prism.xml.ns._public.types_3.ObjectDeltaType;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.jetbrains.annotations.NotNull;

import javax.xml.namespace.QName;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;

/**
* Created by Viliam Repan (lazyman).
*/
Expand Down Expand Up @@ -280,4 +280,21 @@ public static int getUnmodifiedProcessedObjectCount(SimulationResultType result,

return unmodifiedCount;
}

public static ObjectProcessingStateType builtInMetricToProcessingState(BuiltInSimulationMetricType identifier) {
if (identifier == null) {
return null;
}

switch (identifier) {
case ADDED:
return ObjectProcessingStateType.ADDED;
case MODIFIED:
return ObjectProcessingStateType.MODIFIED;
case DELETED:
return ObjectProcessingStateType.DELETED;
default:
return null;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.component.icon.IconCssStyle;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.PageSimulationResult;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.PageSimulationResultObjects;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.SimulationPage;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.SimulationsGuiUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.ObjectQuery;
Expand Down Expand Up @@ -301,7 +303,10 @@ private void initLayout() {
add(trendBadge);

IModel<String> valueModel = createValueModel();
Label value = new Label(ID_VALUE, valueModel);
Label value = new Label(ID_VALUE, () -> {
String v = valueModel.getObject();
return v != null ? v : LocalizationUtil.translate("MetricWidgetPanel.noValue");
});
value.add(AttributeAppender.append("class", () -> hasZeroValue(valueModel) ? "text-secondary" : "text-bold"));
add(value);

Expand Down Expand Up @@ -387,8 +392,18 @@ protected void onMoreInfoPerformed(AjaxRequestTarget target) {

PageParameters params = new PageParameters();
params.add(SimulationPage.PAGE_PARAMETER_RESULT_OID, ref.getOid());

ObjectProcessingStateType state = SimulationsGuiUtil.builtInMetricToProcessingState(metricRef.getBuiltIn());
if (state != null) {
params.set(PageSimulationResultObjects.PAGE_QUERY_PARAMETER, state.value());
getPageBase().navigateToNext(PageSimulationResultObjects.class, params);
return;
}

if (markRef != null) {
params.add(SimulationPage.PAGE_PARAMETER_MARK_OID, markRef.getOid());
getPageBase().navigateToNext(PageSimulationResultObjects.class, params);
return;
}

getPageBase().navigateToNext(PageSimulationResult.class, params);
Expand Down

0 comments on commit 18ccae1

Please sign in to comment.