[SYNCOPE-1604] short date years represented by 4 digits (#228)
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.java
index cb1ddec..3b962e5 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.java
@@ -19,8 +19,11 @@
package org.apache.syncope.client.ui.commons.markup.html.form;
import com.googlecode.wicket.kendo.ui.form.datetime.AjaxDateTimePicker;
+import java.text.DateFormat;
import java.util.Date;
+import java.util.Locale;
import org.apache.commons.lang3.time.FastDateFormat;
+import org.apache.wicket.Session;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
@@ -39,7 +42,13 @@
// dateTimePattern should be spit into separate date and time pattern strings in order to be passed to the
// AjaxDateTimePicker constructor, but there is no safe way to do that - ignoring
- field = new AjaxDateTimePicker("field", model, getLocale());
+ Locale locale = Session.get().getLocale();
+ field = new AjaxDateTimePicker(
+ "field",
+ model,
+ locale,
+ FastDateFormat.getDateInstance(DateFormat.SHORT, locale).getPattern().replace("yy", "yyyy"),
+ FastDateFormat.getTimeInstance(DateFormat.SHORT, locale).getPattern());
add(field.setLabel(new ResourceModel(name, name)).setOutputMarkupId(true));
}
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
index 3595494..d8e85b9 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
@@ -24,7 +24,6 @@
import java.util.Date;
import java.util.List;
import java.util.Optional;
-
import org.apache.commons.lang3.time.FastDateFormat;
import org.apache.syncope.common.lib.Attributable;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -54,7 +53,6 @@
@Override
public Date getObject() {
Date date = null;
-
if (list != null && !list.isEmpty() && StringUtils.hasText(list.get(0).toString())) {
try {
// Parse string using datePattern
@@ -123,18 +121,17 @@
return this;
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
@Override
- public FieldPanel<Date> setNewModel(final Attributable attributableTO, final String schema) {
- field.setModel(new Model() {
+ public FieldPanel<Date> setNewModel(final Attributable attributable, final String schema) {
+ field.setModel(new Model<Date>() {
private static final long serialVersionUID = -4214654722524358000L;
@Override
- public Serializable getObject() {
- if (!attributableTO.getPlainAttr(schema).get().getValues().isEmpty()) {
+ public Date getObject() {
+ if (!attributable.getPlainAttr(schema).get().getValues().isEmpty()) {
try {
- return fmt.parse(attributableTO.getPlainAttr(schema).get().getValues().get(0));
+ return fmt.parse(attributable.getPlainAttr(schema).get().getValues().get(0));
} catch (ParseException ex) {
LOG.error("While parsing date", ex);
}
@@ -143,10 +140,10 @@
}
@Override
- public void setObject(final Serializable object) {
- attributableTO.getPlainAttr(schema).get().getValues().clear();
+ public void setObject(final Date object) {
+ attributable.getPlainAttr(schema).get().getValues().clear();
if (object != null) {
- attributableTO.getPlainAttr(schema).get().getValues().add(fmt.format(object));
+ attributable.getPlainAttr(schema).get().getValues().add(fmt.format(object));
}
}
});
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
index 2bb92c2..7a922b8 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
@@ -664,11 +664,6 @@
cal.set(2017, Calendar.JANUARY, 19, 0, 0, 0);
cal.set(Calendar.MILLISECOND, 0);
- TESTER.assertModelValue("body:content:body:container:content:"
- + "tabbedPanel:panel:searchResult:outerObjectsRepeater:"
- + "0:outer:form:content:form:view:plainSchemas:tabs:0:"
- + "body:content:schemas:1:panel:field:datepicker", cal.getTime());
-
assertEquals(TESTER.getComponentFromLastRenderedPage("body:content:body:"
+ "container:content:tabbedPanel:panel:searchResult:"
+ "outerObjectsRepeater:0:outer:form:content:form:view:plainSchemas:"