diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java index 93d1029cf98..bf72a9e87be 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java @@ -49,7 +49,6 @@ import com.evolveum.midpoint.common.refinery.RefinedResourceSchema; import com.evolveum.midpoint.gui.api.SubscriptionType; import com.evolveum.midpoint.gui.api.model.ReadOnlyValueModel; -import com.evolveum.midpoint.model.api.AssignmentCandidatesSpecification; import com.evolveum.midpoint.model.api.ModelExecuteOptions; import com.evolveum.midpoint.model.api.ModelInteractionService; import com.evolveum.midpoint.model.api.RoleSelectionSpecification; @@ -73,7 +72,6 @@ import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction; import com.evolveum.midpoint.web.component.prism.*; -import com.evolveum.midpoint.web.session.UserProfileStorage; import com.evolveum.midpoint.web.util.ObjectTypeGuiDescriptor; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; import com.evolveum.prism.xml.ns._public.types_3.ObjectDeltaType; @@ -1539,35 +1537,45 @@ public static String getLocalizedDate(Date date, String style) { return converter.convertToString(date, WebComponentUtil.getCurrentLocale()); } - public static String getShortDateTimeFormatValue(XMLGregorianCalendar date, PageBase pageBase) { - return getShortDateTimeFormatValue(XmlTypeConverter.toDate(date), pageBase); + public static String getShortDateTimeFormattedValue(XMLGregorianCalendar date, PageBase pageBase) { + return getShortDateTimeFormattedValue(XmlTypeConverter.toDate(date), pageBase); } - public static String getShortDateTimeFormatValue(Date date, PageBase pageBase) { + public static String getShortDateTimeFormattedValue(Date date, PageBase pageBase) { if (date == null) { return ""; } - AdminGuiConfigurationDisplayFormatsType displayFormats = pageBase.getCompiledUserProfile().getDisplayFormats(); - if (displayFormats == null || StringUtils.isEmpty(displayFormats.getShortDateTimeFormat())){ - return getLocalizedDate(date, DateLabelComponent.SHORT_MEDIUM_STYLE); - } else { - return getLocalizedDate(date, displayFormats.getShortDateTimeFormat()); - } + String shortDateTimeFortam = getShortDateTimeFormat(pageBase); + return getLocalizedDate(date, shortDateTimeFortam); } - public static String getLongDateTimeFormatValue(XMLGregorianCalendar date, PageBase pageBase) { - return getLongDateTimeFormatValue(XmlTypeConverter.toDate(date), pageBase); + public static String getLongDateTimeFormattedValue(XMLGregorianCalendar date, PageBase pageBase) { + return getLongDateTimeFormattedValue(XmlTypeConverter.toDate(date), pageBase); } - public static String getLongDateTimeFormatValue(Date date, PageBase pageBase) { + public static String getLongDateTimeFormattedValue(Date date, PageBase pageBase) { if (date == null) { return ""; } + String longDateTimeFormat = getLongDateTimeFormat(pageBase); + return getLocalizedDate(date, longDateTimeFormat); + } + + public static String getShortDateTimeFormat(PageBase pageBase){ + AdminGuiConfigurationDisplayFormatsType displayFormats = pageBase.getCompiledUserProfile().getDisplayFormats(); + if (displayFormats == null || StringUtils.isEmpty(displayFormats.getShortDateTimeFormat())){ + return DateLabelComponent.SHORT_MEDIUM_STYLE; + } else { + return displayFormats.getShortDateTimeFormat(); + } + } + + public static String getLongDateTimeFormat(PageBase pageBase){ AdminGuiConfigurationDisplayFormatsType displayFormats = pageBase.getCompiledUserProfile().getDisplayFormats(); if (displayFormats == null || StringUtils.isEmpty(displayFormats.getLongDateTimeFormat())){ - return getLocalizedDate(date, DateLabelComponent.LONG_MEDIUM_STYLE); + return DateLabelComponent.LONG_MEDIUM_STYLE; } else { - return getLocalizedDate(date, displayFormats.getLongDateTimeFormat()); + return displayFormats.getLongDateTimeFormat(); } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/DateLabelComponent.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/DateLabelComponent.java index a66d3374432..6b58d65c06a 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/DateLabelComponent.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/DateLabelComponent.java @@ -46,7 +46,8 @@ public class DateLabelComponent extends DateLabel { public static final String MEDIUM_FULL_STYLE = "MF"; //medium style for date, full style for time public static final String MEDIUM_NOTIME_STYLE = "M-"; //medium style for date, no time public static final String LONG_SHORT_STYLE = "LS"; //long style for date, short style for time - public static final String LONG_MEDIUM_STYLE = "LM"; //long style for date, medium style for time + public static final String LONG_MEDIUM_STYLE = "LM"; //long style for date, medium style for time TODO ? let it be default style + //if no other is specified public static final String LONG_FULL_STYLE = "LF"; //long style for date, full style for time public static final String LONG_NOTIME_STYLE = "L-"; //long style for date, no time public static final String FULL_SHORT_STYLE = "FS"; //full style for date, short style for time @@ -58,25 +59,11 @@ public class DateLabelComponent extends DateLabel { public static final String NODATE_LONG_STYLE = "-L"; //no date, long style for time public static final String NODATE_FULL_STYLE = "-F"; //no date, full style for time - public DateLabelComponent(String id, IModel model){ - this(id, model, (DateConverter) null); - } - - public DateLabelComponent(String id, IModel model, DateConverter converter){ - this(id, model, converter, null, "", ""); - } - - public DateLabelComponent(String id, IModel model, String style){ - this(id, model, null, style, "", ""); - } + public DateLabelComponent(String id, IModel model, String style){ + super(id, model, new PatternDateConverter(WebComponentUtil.getLocalizedDatePattern(style == null ? LONG_MEDIUM_STYLE : style), true )); - public DateLabelComponent(String id, IModel model, DateConverter converter, String style, - String beforeDateText, String afterDateText){ - super(id, model, converter == null ? - new PatternDateConverter(WebComponentUtil.getLocalizedDatePattern(style == null ? LONG_LONG_STYLE : style), true ) : converter); - - setBefore(beforeDateText); - setAfter(afterDateText); + setBefore(getBeforeDateText()); + setAfter(getAfterDateText()); } public void setBeforeTextOnDateNull(String nullDateText){ @@ -84,5 +71,13 @@ public void setBeforeTextOnDateNull(String nullDateText){ setBefore(nullDateText); } } + + protected String getBeforeDateText(){ + return ""; + } + + protected String getAfterDateText(){ + return ""; + } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MetadataPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MetadataPanel.java index e8de29c8ec7..c3869cbb7ad 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MetadataPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/MetadataPanel.java @@ -18,7 +18,6 @@ import com.evolveum.midpoint.gui.api.component.BasePanel; import com.evolveum.midpoint.gui.api.util.WebComponentUtil; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; import com.evolveum.midpoint.xml.ns._public.common.common_3.MetadataType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType; @@ -103,7 +102,7 @@ public String getObject() { PropertyModel tempModel = new PropertyModel<>(getModel(), qname.getLocalPart()); if (tempModel.getObject() instanceof XMLGregorianCalendar){ - return WebComponentUtil.getLongDateTimeFormatValue((XMLGregorianCalendar)tempModel.getObject(), getPageBase()); + return WebComponentUtil.getLongDateTimeFormattedValue((XMLGregorianCalendar)tempModel.getObject(), getPageBase()); } else if (tempModel.getObject() instanceof ObjectReferenceType){ ObjectReferenceType ref = (ObjectReferenceType) tempModel.getObject(); return WebComponentUtil.getName(ref, getPageBase(), OPERATION_LOAD_USER); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wf/WorkItemsPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wf/WorkItemsPanel.java index f2487da1fc9..381ed4a039e 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wf/WorkItemsPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wf/WorkItemsPanel.java @@ -114,7 +114,7 @@ public void populateItem(Item> cellItem, String comp public Date getObject() { return rowModel.getObject().getStartedDate(); } - }, DateLabelComponent.LONG_MEDIUM_STYLE)); + }, WebComponentUtil.getShortDateTimeFormat(WorkItemsPanel.this.getPageBase()))); } }); } @@ -130,7 +130,7 @@ public void populateItem(Item> cellItem, String comp public Date getObject() { return rowModel.getObject().getCreatedDate(); } - }, DateLabelComponent.LONG_MEDIUM_STYLE)); + }, WebComponentUtil.getShortDateTimeFormat(WorkItemsPanel.this.getPageBase()))); } }); columns.add(new AbstractColumn(createStringResource("WorkItemsPanel.deadline")){ @@ -145,7 +145,7 @@ public void populateItem(Item> cellItem, String comp public Date getObject() { return rowModel.getObject().getDeadlineDate(); } - }, DateLabelComponent.LONG_MEDIUM_STYLE)); + }, WebComponentUtil.getShortDateTimeFormat(WorkItemsPanel.this.getPageBase()))); } }); columns.add(new PropertyColumn<>(createStringResource("WorkItemsPanel.escalationLevel"), diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItems.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItems.java index cc9c6d17bf9..96bc5896279 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItems.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItems.java @@ -24,7 +24,6 @@ import javax.xml.datatype.XMLGregorianCalendar; -import com.evolveum.midpoint.web.page.admin.workflow.PageWorkItems; import org.apache.wicket.AttributeModifier; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; @@ -62,7 +61,6 @@ import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.web.component.AjaxButton; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.data.BoxedTablePanel; import com.evolveum.midpoint.web.component.data.Table; import com.evolveum.midpoint.web.component.data.column.IsolatedCheckBoxPanel; @@ -251,7 +249,7 @@ public void populateItem(Item> item, String comp final Date created; if (createdCal != null) { created = createdCal.toGregorianCalendar().getTime(); - item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormatValue(created, PageCaseWorkItems.this))); + item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormattedValue(created, PageCaseWorkItems.this))); item.add(new TooltipBehavior()); } else { created = null; @@ -259,7 +257,7 @@ public void populateItem(Item> item, String comp item.add(new Label(componentId, new IModel() { @Override public String getObject() { - return WebComponentUtil.getShortDateTimeFormatValue(created, PageCaseWorkItems.this); + return WebComponentUtil.getShortDateTimeFormattedValue(created, PageCaseWorkItems.this); } })); } @@ -276,7 +274,7 @@ public void populateItem(Item> item, String comp final Date deadline; if (deadlineCal != null) { deadline = deadlineCal.toGregorianCalendar().getTime(); - item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormatValue(deadline, PageCaseWorkItems.this))); + item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormattedValue(deadline, PageCaseWorkItems.this))); item.add(new TooltipBehavior()); } else { deadline = null; @@ -284,7 +282,7 @@ public void populateItem(Item> item, String comp item.add(new Label(componentId, new IModel() { @Override public String getObject() { - return WebComponentUtil.getShortDateTimeFormatValue(deadline, PageCaseWorkItems.this); + return WebComponentUtil.getShortDateTimeFormattedValue(deadline, PageCaseWorkItems.this); } })); } @@ -301,7 +299,7 @@ public void populateItem(Item> item, String comp final Date closed; if (closedCal != null) { closed = closedCal.toGregorianCalendar().getTime(); - item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormatValue(closed, PageCaseWorkItems.this))); + item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormattedValue(closed, PageCaseWorkItems.this))); item.add(new TooltipBehavior()); } else { closed = null; @@ -309,7 +307,7 @@ public void populateItem(Item> item, String comp item.add(new Label(componentId, new IModel() { @Override public String getObject() { - return WebComponentUtil.getShortDateTimeFormatValue(closed, PageCaseWorkItems.this); + return WebComponentUtil.getShortDateTimeFormattedValue(closed, PageCaseWorkItems.this); } })); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCases.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCases.java index 92809cc097a..05d165d4302 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCases.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCases.java @@ -5,7 +5,6 @@ import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.form.Form; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; import com.evolveum.midpoint.web.component.util.SelectableBean; @@ -27,7 +26,6 @@ import org.apache.wicket.request.mapper.parameter.PageParameters; import javax.xml.datatype.XMLGregorianCalendar; -import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -177,7 +175,7 @@ public void populateItem(Item>> cellItem cellItem.add(new Label(componentId, new IModel() { @Override public String getObject() { - return WebComponentUtil.getShortDateTimeFormatValue(created, PageCases.this); + return WebComponentUtil.getShortDateTimeFormattedValue(created, PageCases.this); } })); } @@ -201,7 +199,7 @@ public void populateItem(Item>> cellItem cellItem.add(new Label(componentId, new IModel() { @Override public String getObject() { - return WebComponentUtil.getShortDateTimeFormatValue(closed, PageCases.this); + return WebComponentUtil.getShortDateTimeFormattedValue(closed, PageCases.this); } })); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/PageCertDecisions.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/PageCertDecisions.java index ab6dac8f34e..8f93d029c73 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/PageCertDecisions.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/PageCertDecisions.java @@ -28,7 +28,6 @@ import com.evolveum.midpoint.web.application.AuthorizationAction; import com.evolveum.midpoint.web.application.PageDescriptor; import com.evolveum.midpoint.web.component.AjaxIconButton; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.data.BoxedTablePanel; import com.evolveum.midpoint.web.component.data.MultiButtonPanel; import com.evolveum.midpoint.web.component.data.Table; @@ -321,7 +320,7 @@ public void populateItem(Item> item, String comp CertWorkItemDto dto = rowModel.getObject(); Date started = dto.getStageStarted(); if (started != null) { - item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormatValue(started, PageCertDecisions.this))); + item.add(AttributeModifier.replace("title", WebComponentUtil.getShortDateTimeFormattedValue(started, PageCertDecisions.this))); item.add(new TooltipBehavior()); } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/PersonalInfoPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/PersonalInfoPanel.java index 2e4a77dc60f..4ad6317d5ec 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/PersonalInfoPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/PersonalInfoPanel.java @@ -95,7 +95,7 @@ public Date getObject() { PersonalInfoDto dto = getModel().getObject(); return dto == null ? null : dto.getLastLoginDate(); } - }, DateLabelComponent.LONG_MEDIUM_STYLE); + }, WebComponentUtil.getLongDateTimeFormat(parentPage)); lastLoginDate.setBeforeTextOnDateNull(parentPage.getString("PersonalInfoPanel.never")); add(lastLoginDate); @@ -118,7 +118,7 @@ public Date getObject() { PersonalInfoDto dto = getModel().getObject(); return dto == null ? null : dto.getLastFailDate(); } - }, DateLabelComponent.LONG_MEDIUM_STYLE); + }, WebComponentUtil.getLongDateTimeFormat(parentPage)); lastFailDate.setBeforeTextOnDateNull(parentPage.getString("PersonalInfoPanel.never")); add(lastFailDate); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/SystemInfoPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/SystemInfoPanel.java index 39c849f1ac4..7e6dafeec72 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/SystemInfoPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/component/SystemInfoPanel.java @@ -16,6 +16,7 @@ package com.evolveum.midpoint.web.page.admin.home.component; +import com.evolveum.midpoint.gui.api.component.BasePanel; import com.evolveum.midpoint.gui.api.model.LoadableModel; import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.util.logging.Trace; @@ -44,7 +45,7 @@ /** * @author Viliam Repan (lazyman) */ -public class SystemInfoPanel extends SimplePanel { +public class SystemInfoPanel extends BasePanel { private static final Trace LOGGER = TraceManager.getTrace(SystemInfoPanel.class); @@ -60,6 +61,12 @@ public SystemInfoPanel(String id) { super(id); } + @Override + protected void onInitialize(){ + super.onInitialize(); + initLayout(); + } + @Override public IModel createModel() { return new LoadableModel() { @@ -135,8 +142,7 @@ private void fillThreads(SystemInfoDto dto) throws Exception { dto.threads[2] = (Number) mbs.getAttribute(name, "TotalStartedThreadCount"); } - @Override - protected void initLayout() { + private void initLayout() { final WebMarkupContainer table = new WebMarkupContainer(ID_TABLE); table.setOutputMarkupId(true); add(table); @@ -154,7 +160,8 @@ protected void initLayout() { Label threads = new Label(ID_THREADS, createThreadModel()); table.add(threads); - DateLabelComponent startTime = new DateLabelComponent(ID_START_TIME, createStartTimeModel(), DateLabelComponent.MEDIUM_MEDIUM_STYLE); + DateLabelComponent startTime = new DateLabelComponent(ID_START_TIME, createStartTimeModel(), + WebComponentUtil.getLongDateTimeFormat(SystemInfoPanel.this.getPageBase())); table.add(startTime); Label uptime = new Label(ID_UPTIME, createUptimeModel()); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageAuditLogDetails.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageAuditLogDetails.java index f191d5e37fe..f8b576d615b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageAuditLogDetails.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageAuditLogDetails.java @@ -19,7 +19,6 @@ import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.web.component.AjaxButton; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.data.BoxedTablePanel; import com.evolveum.midpoint.web.component.util.VisibleBehaviour; import com.evolveum.midpoint.web.page.admin.reports.dto.AuditEventRecordItemValueDto; @@ -226,7 +225,7 @@ private List> initColumns() { public void populateItem(Item> item, String componentId, IModel rowModel) { XMLGregorianCalendar time = rowModel.getObject().getTimestamp(); - item.add(new Label(componentId, WebComponentUtil.getShortDateTimeFormatValue(time, PageAuditLogDetails.this))); + item.add(new Label(componentId, WebComponentUtil.getShortDateTimeFormattedValue(time, PageAuditLogDetails.this))); } }; columns.add(timeColumn); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageCreatedReports.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageCreatedReports.java index eeb086fe583..39a3b8f638c 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageCreatedReports.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageCreatedReports.java @@ -285,7 +285,7 @@ public Date getObject() { } return XmlTypeConverter.toDate(metadata.getCreateTimestamp()); } - }, DateLabelComponent.LONG_MEDIUM_STYLE)); + }, WebComponentUtil.getShortDateTimeFormat(PageCreatedReports.this))); } }; columns.add(column); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java index 3cb3b7ca244..79c72077b7b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTasks.java @@ -618,7 +618,7 @@ public Date getObject() { } return date; } - }, DateLabelComponent.MEDIUM_MEDIUM_STYLE); + }, WebComponentUtil.getShortDateTimeFormat(PageTasks.this)); item.add(dateLabel); } @@ -631,7 +631,7 @@ public IModel getDataModel(IModel rowModel) { if (task.getRawExecutionStatus() == TaskExecutionStatus.CLOSED) { displayValue = createStringResource("pageTasks.task.closedAt").getString() + - WebComponentUtil.getShortDateTimeFormatValue(date, PageTasks.this); + WebComponentUtil.getShortDateTimeFormattedValue(date, PageTasks.this); } else { displayValue = WebComponentUtil.formatDurationWordsForLocal(date.getTime(), true, true, PageTasks.this); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskBasicTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskBasicTabPanel.java index 1ee35d7a2f5..3a1ce0f6df9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskBasicTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskBasicTabPanel.java @@ -19,7 +19,6 @@ import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.data.column.LinkPanel; import com.evolveum.midpoint.web.component.form.Form; import com.evolveum.midpoint.web.component.objectdetails.AbstractObjectTabPanel; @@ -194,7 +193,7 @@ public String getObject() { @Override public String getObject() { if (taskDtoModel.getObject().getCompletionTimestamp() != null) { - return WebComponentUtil.getLongDateTimeFormatValue(new Date(taskDtoModel.getObject().getCompletionTimestamp()), parentPage); + return WebComponentUtil.getLongDateTimeFormattedValue(new Date(taskDtoModel.getObject().getCompletionTimestamp()), parentPage); } else { return "?"; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSchedulingTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSchedulingTabPanel.java index ec5f638c767..b07007608ba 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSchedulingTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSchedulingTabPanel.java @@ -21,7 +21,6 @@ import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.web.component.DateInput; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.form.Form; import com.evolveum.midpoint.web.component.objectdetails.AbstractObjectTabPanel; import com.evolveum.midpoint.web.component.prism.ObjectWrapper; @@ -134,7 +133,7 @@ public String getObject() { if (dto.getLastRunStartTimestampLong() == null) { return "-"; } else { - return WebComponentUtil.getLongDateTimeFormatValue(new Date(dto.getLastRunStartTimestampLong()), parentPage); + return WebComponentUtil.getLongDateTimeFormattedValue(new Date(dto.getLastRunStartTimestampLong()), parentPage); } } }); @@ -165,7 +164,7 @@ public String getObject() { if (dto.getLastRunFinishTimestampLong() == null) { return "-"; } else { - return WebComponentUtil.getLongDateTimeFormatValue(new Date(dto.getLastRunFinishTimestampLong()), parentPage); + return WebComponentUtil.getLongDateTimeFormattedValue(new Date(dto.getLastRunFinishTimestampLong()), parentPage); } } }); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSummaryPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSummaryPanel.java index 9bdc573011a..65149c2bbc7 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSummaryPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskSummaryPanel.java @@ -174,7 +174,7 @@ private String getStageInfo() { } public String getRequestedOn() { - return WebComponentUtil.getLongDateTimeFormatValue(parentPage.getTaskDto().getRequestedOn(), parentPage); + return WebComponentUtil.getLongDateTimeFormattedValue(parentPage.getTaskDto().getRequestedOn(), parentPage); } @Override @@ -272,19 +272,13 @@ public String getObject() { if (taskType.getExecutionStatus() == TaskExecutionStatusType.RUNNABLE && taskType.getNodeAsObserved() != null || finished == 0 || finished < started) { - PatternDateConverter pdc = new PatternDateConverter - (WebComponentUtil.getLocalizedDatePattern(DateLabelComponent.SHORT_MEDIUM_STYLE), true ); - String date = pdc.convertToString(new Date(started), WebComponentUtil.getCurrentLocale()); - return getString("TaskStatePanel.message.executionTime.notFinished", date, + return getString("TaskStatePanel.message.executionTime.notFinished", + WebComponentUtil.getShortDateTimeFormattedValue(new Date(started), parentPage), DurationFormatUtils.formatDurationHMS(System.currentTimeMillis() - started)); } else { - PatternDateConverter pdc = new PatternDateConverter - (WebComponentUtil.getLocalizedDatePattern(DateLabelComponent.SHORT_MEDIUM_STYLE), true ); - String startedDate = pdc.convertToString(new Date(started), WebComponentUtil.getCurrentLocale()); - String finishedDate = pdc.convertToString(new Date(finished), WebComponentUtil.getCurrentLocale()); - - return getString("TaskStatePanel.message.executionTime.finished", - startedDate, finishedDate, + return getString("TaskStatePanel.message.executionTime.finished", + WebComponentUtil.getShortDateTimeFormattedValue(new Date(started), parentPage), + WebComponentUtil.getShortDateTimeFormattedValue(new Date(finished), parentPage), DurationFormatUtils.formatDurationHMS(finished - started)); } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/currentState/IterativeInformationPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/currentState/IterativeInformationPanel.java index a4f4de7bdc4..37fd1c4622b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/currentState/IterativeInformationPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/currentState/IterativeInformationPanel.java @@ -22,7 +22,6 @@ import com.evolveum.midpoint.task.api.TaskCategory; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.progress.StatisticsDtoModel; import com.evolveum.midpoint.web.page.admin.server.dto.TaskCurrentStateDto; import com.evolveum.midpoint.web.page.admin.server.dto.TaskDto; @@ -373,7 +372,7 @@ private String formatDate(Date date, PageBase pageBase) { if (date == null) { return null; } - return WebComponentUtil.getLongDateTimeFormatValue(date, pageBase); + return WebComponentUtil.getLongDateTimeFormattedValue(date, pageBase); } protected boolean showAgo(TaskCurrentStateDto dto) { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/dto/TaskDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/dto/TaskDto.java index 5e22acf1691..66bb5ebc794 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/dto/TaskDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/dto/TaskDto.java @@ -167,6 +167,7 @@ public class TaskDto extends Selectable implements InlineMenuable { private HandlerDto handlerDto; private List triggers; // initialized on demand + private PageBase pageBase; //region Construction // parentTaskBean can be filled-in for optimization purposes (MID-4238); but take care to provide it in a suitable form @@ -181,6 +182,7 @@ public TaskDto(@NotNull TaskType taskType, TaskType parentTaskBean, ModelService Validate.notNull(parentResult); Validate.notNull(pageBase); + this.pageBase = pageBase; this.taskType = taskType; this.currentEditableState.name = taskType.getName() != null ? taskType.getName().getOrig() : null; this.currentEditableState.description = taskType.getDescription(); @@ -399,7 +401,7 @@ private void fillInWorkflowAttributes(TaskType taskType, ModelInteractionService final WfContextType subWfc = wfSubtask.getWorkflowContext(); if (subWfc != null && subWfc.getProcessInstanceId() != null) { if (this.getOid() == null || !this.getOid().equals(wfSubtask.getOid())) { - workflowRequests.add(new ProcessInstanceDto(wfSubtask)); + workflowRequests.add(new ProcessInstanceDto(wfSubtask, WebComponentUtil.getShortDateTimeFormat(pageBase))); } } } @@ -969,7 +971,7 @@ public List getWorkItems() { List rv = new ArrayList<>(); if (taskType.getWorkflowContext() != null) { for (WorkItemType workItemType : taskType.getWorkflowContext().getWorkItem()) { - rv.add(new WorkItemDto(workItemType)); + rv.add(new WorkItemDto(workItemType, pageBase)); } } return rv; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java index e6c1b24a484..22b17c528b4 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java @@ -180,7 +180,7 @@ private WorkItemDto loadWorkItemDtoIfNecessary() { relatedTasks.add(relatedObject.asObjectable()); } } - workItemDto = new WorkItemDto(workItem, taskType, relatedTasks); + workItemDto = new WorkItemDto(workItem, taskType, relatedTasks, PageWorkItem.this); workItemDto.prepareDeltaVisualization("pageWorkItem.delta", getPrismContext(), getModelInteractionService(), task, result); result.recordSuccessIfUnknown(); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/WorkItemSummaryPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/WorkItemSummaryPanel.java index d241a0bfa6f..144e93bb256 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/WorkItemSummaryPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/WorkItemSummaryPanel.java @@ -21,7 +21,6 @@ import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.schema.util.WfContextUtil; import com.evolveum.midpoint.web.component.AbstractSummaryPanel; -import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.util.SummaryTagSimple; import com.evolveum.midpoint.web.component.wf.WfGuiUtil; import com.evolveum.midpoint.web.page.admin.workflow.dto.WorkItemDto; @@ -127,7 +126,7 @@ protected IModel getTitle2Model() { public String getObject() { WorkItemType workItem = getModelObject(); return getString("TaskSummaryPanel.requestedOn", - WebComponentUtil.getLongDateTimeFormatValue(WfContextUtil.getWorkflowContext(workItem).getStartTimestamp(), + WebComponentUtil.getLongDateTimeFormattedValue(WfContextUtil.getWorkflowContext(workItem).getStartTimestamp(), WorkItemSummaryPanel.this.getPageBase())); } }; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDto.java index 49b76128322..750b3e7a31e 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDto.java @@ -48,11 +48,12 @@ public class ProcessInstanceDto extends Selectable { @NotNull private final TaskType task; @NotNull private final WfContextType workflowContext; - private final PatternDateConverter converter = new PatternDateConverter - (WebComponentUtil.getLocalizedDatePattern(DateLabelComponent.LONG_MEDIUM_STYLE), true ); + private PatternDateConverter converter; - public ProcessInstanceDto(@NotNull TaskType task) { + public ProcessInstanceDto(@NotNull TaskType task, String dateTimeStyle) { this.task = task; + converter = new PatternDateConverter + (WebComponentUtil.getLocalizedDatePattern(dateTimeStyle), true ); this.workflowContext = task.getWorkflowContext(); Validate.notNull(this.workflowContext, "Task has no workflow context"); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDtoProvider.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDtoProvider.java index 4383b0672c8..079bf12b6a2 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDtoProvider.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/ProcessInstanceDtoProvider.java @@ -16,6 +16,7 @@ package com.evolveum.midpoint.web.page.admin.workflow.dto; +import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.prism.PrismObject; import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.prism.query.builder.S_FilterEntry; @@ -37,6 +38,7 @@ import java.util.Iterator; import java.util.List; +import static com.evolveum.midpoint.gui.api.util.WebComponentUtil.getPageBase; import static com.evolveum.midpoint.gui.api.util.WebComponentUtil.safeLongToInteger; import static com.evolveum.midpoint.schema.GetOperationOptions.*; import static com.evolveum.midpoint.schema.SelectorOptions.createCollection; @@ -103,7 +105,7 @@ public Iterator internalIterator(long first, long List> tasks = getModel().searchObjects(TaskType.class, query, options, opTask, result); for (PrismObject task : tasks) { try { - getAvailableData().add(new ProcessInstanceDto(task.asObjectable())); + getAvailableData().add(new ProcessInstanceDto(task.asObjectable(), WebComponentUtil.getShortDateTimeFormat(getPage()))); } catch (Exception e) { LoggingUtils.logUnexpectedException(LOGGER, "Unhandled exception when listing workflow task {}", e, task); result.recordPartialError("Couldn't list process instance.", e); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDto.java index 356e15cbba1..bfeb5132d8b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDto.java @@ -114,16 +114,18 @@ public class WorkItemDto extends Selectable { private String approverComment; private List triggers; // initialized on demand + private PageBase pageBase; private ObjectType focus; - public WorkItemDto(WorkItemType workItem) { - this(workItem, null, null); + public WorkItemDto(WorkItemType workItem, PageBase pageBase) { + this(workItem, null, null, pageBase); } - public WorkItemDto(WorkItemType workItem, TaskType taskType, List relatedTasks) { + public WorkItemDto(WorkItemType workItem, TaskType taskType, List relatedTasks, PageBase pageBase) { this.workItem = workItem; this.taskType = taskType; this.relatedTasks = relatedTasks; + this.pageBase = pageBase; } public void prepareDeltaVisualization(String sceneNameKey, PrismContext prismContext, @@ -305,7 +307,7 @@ public List getOtherWorkItems() { if (workItemType.getExternalId() == null || workItemType.getExternalId().equals(getWorkItemId())) { continue; } - rv.add(new WorkItemDto(workItemType)); + rv.add(new WorkItemDto(workItemType, pageBase)); } return rv; } @@ -323,7 +325,7 @@ public List getRelatedWorkflowRequests() { if (StringUtils.equals(getProcessInstanceId(), task.getWorkflowContext().getProcessInstanceId())) { continue; } - rv.add(new ProcessInstanceDto(task)); + rv.add(new ProcessInstanceDto(task, WebComponentUtil.getShortDateTimeFormat(pageBase))); } return rv; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDtoProvider.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDtoProvider.java index d1694844924..d6f4a137b24 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDtoProvider.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/dto/WorkItemDtoProvider.java @@ -138,7 +138,7 @@ public Iterator internalIterator(long first, long count) for (WorkItemType item : items) { try { - getAvailableData().add(new WorkItemDto(item)); + getAvailableData().add(new WorkItemDto(item, getPage())); } catch (Exception e) { LoggingUtils.logUnexpectedException(LOGGER, "Unhandled exception when listing work item {}", e, item); result.recordFatalError("Couldn't list work item.", e); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/PageSelfDashboard.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/PageSelfDashboard.java index 67477266a7a..bccc87d7d8a 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/PageSelfDashboard.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/PageSelfDashboard.java @@ -309,7 +309,7 @@ OtherPrivilegesLimitationType.F_APPROVAL_WORK_ITEMS, getRelationRegistry()) .build(); List workItems = getModelService().searchContainers(WorkItemType.class, query, options, task, result); for (WorkItemType workItem : workItems) { - list.add(new WorkItemDto(workItem)); + list.add(new WorkItemDto(workItem, PageSelfDashboard.this)); } } catch (Exception e) { result.recordFatalError("Couldn't get list of work items.", e);