Skip to content

Commit

Permalink
some localization fixes and column rendering improvements in simulati…
Browse files Browse the repository at this point in the history
…on ui
  • Loading branch information
1azyman committed Feb 1, 2023
1 parent 119c476 commit b38bb47
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1806,8 +1806,8 @@ public static String getShortDateTimeFormattedValue(Date date, PageBase pageBase
if (date == null) {
return "";
}
String shortDateTimeFortam = getShortDateTimeFormat(pageBase);
return getLocalizedDate(date, shortDateTimeFortam);
String dateTimeFormat = getShortDateTimeFormat(pageBase);
return getLocalizedDate(date, dateTimeFormat);
}

public static String getLongDateTimeFormattedValue(XMLGregorianCalendar date, PageBase pageBase) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,17 @@

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

import java.time.Duration;
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import javax.xml.datatype.XMLGregorianCalendar;

import com.evolveum.midpoint.prism.xml.XmlTypeConverter;
import com.evolveum.midpoint.util.MiscUtil;

import org.apache.commons.lang3.time.DurationFormatUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
Expand All @@ -24,14 +31,18 @@
import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.web.component.data.column.ColumnMenuAction;
import com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ExpressionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.GuiObjectColumnType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SimulationResultType;

/**
Expand Down Expand Up @@ -114,16 +125,17 @@ protected List<IColumn<SelectableBean<SimulationResultType>, String>> createDefa

XMLGregorianCalendar start = result.getStartTimestamp();
if (start == null) {
return null; // todo viliam
return getString("SimulationResultsPanel.notStartedYet");
}

XMLGregorianCalendar end = result.getEndTimestamp();
if (end == null) {
// todo viliam
return null;
end = MiscUtil.asXMLGregorianCalendar(new Date());
}

return null;
long duration = end.toGregorianCalendar().getTimeInMillis() - start.toGregorianCalendar().getTimeInMillis();

return DurationFormatUtils.formatDurationWords(duration, true, true);
}));
columns.add(new AbstractColumn<>(createStringResource("ProcessedObjectsPanel.executionState")) {

Expand All @@ -146,4 +158,23 @@ private void listProcessedObjectsPerformed(AjaxRequestTarget target, SimulationR

getPageBase().navigateToNext(PageSimulationResultObjects.class, params);
}

@Override
protected IColumn<SelectableBean<SimulationResultType>, String> createCustomExportableColumn(
IModel<String> displayModel, GuiObjectColumnType customColumn, ExpressionType expression) {

ItemPath path = WebComponentUtil.getPath(customColumn);
if (SimulationResultType.F_START_TIMESTAMP.equivalent(path)) {
return createStartTimestampColumn(displayModel);
}

return super.createCustomExportableColumn(displayModel, customColumn, expression);
}

private IColumn<SelectableBean<SimulationResultType>, String> createStartTimestampColumn(IModel<String> displayModel) {
return new LambdaColumn<>(displayModel, row -> {
XMLGregorianCalendar start = row.getValue().getStartTimestamp();
return start != null ? WebComponentUtil.getLongDateTimeFormattedValue(start, getPageBase()) : null;
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public Object getDisplayValue(QName qname) {

ObjectTypes ot = ObjectTypes.getObjectTypeFromTypeQName(qname);
String key = WebComponentUtil.createEnumResourceKey(ot);
return new StringResourceModel(key).setDefaultValue(key);
return new StringResourceModel(key).setDefaultValue(key).getString();
}

@Override
Expand Down

0 comments on commit b38bb47

Please sign in to comment.