Index: frontend/engine/src/main/java/org/hippoecm/frontend/model/PropertyValueProvider.java =================================================================== --- frontend/engine/src/main/java/org/hippoecm/frontend/model/PropertyValueProvider.java (revision 23081) +++ frontend/engine/src/main/java/org/hippoecm/frontend/model/PropertyValueProvider.java (revision ) @@ -15,7 +15,6 @@ */ package org.hippoecm.frontend.model; -import java.util.Calendar; import java.util.Iterator; import java.util.LinkedList; import java.util.Set; @@ -247,8 +246,6 @@ switch (propertyType) { case PropertyType.BOOLEAN: return factory.createValue(false); - case PropertyType.DATE: - return factory.createValue(Calendar.getInstance()); case PropertyType.DOUBLE: return factory.createValue(0.0); case PropertyType.LONG: Index: frontend/engine/src/main/java/org/hippoecm/frontend/model/properties/JcrPropertyValueModel.java =================================================================== --- frontend/engine/src/main/java/org/hippoecm/frontend/model/properties/JcrPropertyValueModel.java (revision 21509) +++ frontend/engine/src/main/java/org/hippoecm/frontend/model/properties/JcrPropertyValueModel.java (revision ) @@ -57,7 +57,7 @@ public static final int NO_INDEX = -1; - private static final int NO_TYPE = -1; + private static final int NO_TYPE = 0; // dynamically reload value private transient boolean loaded = false; @@ -205,7 +205,7 @@ } } } catch (RepositoryException e) { - log.error(e.getMessage()); + log.error("An exception occured while trying to set value: {}", e.getMessage()); } } else { log.error("unable to set property, no definition found"); Index: frontend/test/src/test/resources/frontendtest.cnd =================================================================== --- frontend/test/src/test/resources/frontendtest.cnd (revision 23273) +++ frontend/test/src/test/resources/frontendtest.cnd (revision ) @@ -36,6 +36,7 @@ - frontendtest:string (string) - frontendtest:strings (string) multiple - frontendtest:mandatory (string) = 'test' mandatory +- frontendtest:date (date) [frontendtest:ordered] orderable - frontendtest:property (string) multiple Index: addon/yui/src/main/java/org/hippoecm/frontend/plugins/yui/datetime/YuiDateTimeField.java =================================================================== --- addon/yui/src/main/java/org/hippoecm/frontend/plugins/yui/datetime/YuiDateTimeField.java (revision 23098) +++ addon/yui/src/main/java/org/hippoecm/frontend/plugins/yui/datetime/YuiDateTimeField.java (revision ) @@ -148,26 +148,28 @@ } private void updateDateTime(Date date, Integer hours, Integer minutes) { + if(date!=null) { - MutableDateTime datetime = new MutableDateTime(date); - try { - TimeZone zone = getClientTimeZone(); - if (zone != null) { - datetime.setZone(DateTimeZone.forTimeZone(zone)); - } + MutableDateTime datetime = new MutableDateTime(date); + try { + TimeZone zone = getClientTimeZone(); + if (zone != null) { + datetime.setZone(DateTimeZone.forTimeZone(zone)); + } - if (hours != null) { - datetime.set(DateTimeFieldType.hourOfDay(), hours % 24); - datetime.setMinuteOfHour(minutes != null ? minutes : 0); - } + if (hours != null) { + datetime.set(DateTimeFieldType.hourOfDay(), hours % 24); + datetime.setMinuteOfHour(minutes != null ? minutes : 0); + } - // the date will be in the server's timezone - setDate(datetime.toDate()); - //setModelObject(datetime.toDate()); - } catch (RuntimeException e) { - error(e.getMessage()); - invalid(); - } - } + // the date will be in the server's timezone + setDate(datetime.toDate()); + //setModelObject(datetime.toDate()); + } catch (RuntimeException e) { + error(e.getMessage()); + invalid(); + } + } + } @Override protected boolean use12HourFormat() { Index: frontend/test/src/test/java/org/hippoecm/frontend/model/PropertyValueProviderTest.java =================================================================== --- frontend/test/src/test/java/org/hippoecm/frontend/model/PropertyValueProviderTest.java (revision 23081) +++ frontend/test/src/test/java/org/hippoecm/frontend/model/PropertyValueProviderTest.java (revision ) @@ -68,4 +68,25 @@ pvm = provider.iterator(0, 1).next(); assertEquals(null, pvm.getObject()); } + + @Test + public void testAddNewAddsNoDefaultPropertyForDateField() throws RepositoryException { + Node testNode = this.root.addNode("datetest","frontendtest:model"); + JcrPropertyModel propertyModel = new JcrPropertyModel(testNode.getPath() + "/frontendtest:date"); + IFieldDescriptor field = new JavaFieldDescriptor("frontendtest:date", new JavaTypeDescriptor("date", + "Date", null)); + PropertyValueProvider provider = new PropertyValueProvider(field, field.getTypeDescriptor(), propertyModel + .getItemModel()); + provider.addNew(); + + assertFalse("No date property expected, but a date property was found.",session.itemExists(testNode.getPath() + "/frontendtest:date")); + assertEquals(1, provider.size()); + JcrPropertyValueModel pvm = provider.iterator(0, 1).next(); + assertEquals(null, pvm.getObject()); + + provider.detach(); + assertEquals(1, provider.size()); + pvm = provider.iterator(0, 1).next(); + assertEquals(null, pvm.getObject()); -} \ No newline at end of file + } +} \ No newline at end of file