summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2013-07-23 13:18:19 +0300
committerLeif Åstrand <leif@vaadin.com>2013-07-23 13:18:19 +0300
commit3bbb824c7f1dd9ed23fd65283332db31a24a1935 (patch)
tree163ce11cbeefb1c0f9ae3302e36c025c3d45fe22
parent2a94befa3537937d099544a2d307bb177175eb15 (diff)
parent62c63a6a6dcf97c5a8f7b02e0115fdab096226db (diff)
downloadvaadin-framework-3bbb824c7f1dd9ed23fd65283332db31a24a1935.tar.gz
vaadin-framework-3bbb824c7f1dd9ed23fd65283332db31a24a1935.zip
Merge changes from origin/7.1
36aebc8 Update to Atmosphere 1.0.14.vaadin4 (#12242) 62c63a6 Only add DateRangeValidator to DateField if start or end of range is set (#12193) Change-Id: Ie2ba84e2d598313158007e521508c756abef6c2e
-rw-r--r--WebContent/VAADIN/jquery.atmosphere.js3
-rw-r--r--push/build.xml4
-rw-r--r--push/ivy.xml4
-rw-r--r--server/src/com/vaadin/server/Constants.java4
-rw-r--r--server/src/com/vaadin/ui/DateField.java13
-rw-r--r--server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldConverterTest.java77
6 files changed, 93 insertions, 12 deletions
diff --git a/WebContent/VAADIN/jquery.atmosphere.js b/WebContent/VAADIN/jquery.atmosphere.js
index bb597f01b5..28a7d033bd 100644
--- a/WebContent/VAADIN/jquery.atmosphere.js
+++ b/WebContent/VAADIN/jquery.atmosphere.js
@@ -49,7 +49,8 @@ jQuery.atmosphere = function() {
};
return {
- version : "1.0.13",
+ // Keep the version number in sync with push/build.xml and other locations listed in that file
+ version : "1.0.14.vaadin4",
requests : [],
callbacks : [],
diff --git a/push/build.xml b/push/build.xml
index 2dc05f62fd..ead3a0226e 100644
--- a/push/build.xml
+++ b/push/build.xml
@@ -12,8 +12,8 @@
<property name="result.dir" location="result" />
<property name="vaadinPush.js" location="${result.dir}/js/VAADIN/vaadinPush.js" />
- <!-- Keep the version number in sync with ivy.xml and server/src/com/vaadin/server/Constants.java-->
- <property name="atmosphere.version" value="1.0.14.vaadin3" />
+ <!-- Keep the version number in sync with ivy.xml, server/src/com/vaadin/server/Constants.java and jquery.atmosphere.js -->
+ <property name="atmosphere.version" value="1.0.14.vaadin4" />
<property name="jquery.version" value="1.7.2" />
<path id="classpath.compile.custom" />
diff --git a/push/ivy.xml b/push/ivy.xml
index 615e404db3..5a2a24fb1f 100644
--- a/push/ivy.xml
+++ b/push/ivy.xml
@@ -26,9 +26,9 @@
rev="2.4" conf="build-provided,ide,test -> default" />
<!-- Atmosphere -->
- <!-- Keep the version number in sync with build.xml -->
+ <!-- Keep the version number in sync with build.xml and other locations listed in that file -->
<dependency org="com.vaadin.external.atmosphere" name="atmosphere-runtime"
- rev="1.0.14.vaadin3" conf="build,ide,test -> default">
+ rev="1.0.14.vaadin4" conf="build,ide,test -> default">
</dependency>
</dependencies>
diff --git a/server/src/com/vaadin/server/Constants.java b/server/src/com/vaadin/server/Constants.java
index ed65b53183..ab91ee021c 100644
--- a/server/src/com/vaadin/server/Constants.java
+++ b/server/src/com/vaadin/server/Constants.java
@@ -65,7 +65,9 @@ public interface Constants {
+ " Widgetset version: %s\n"
+ "=================================================================";
- static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14.vaadin3";
+ // Keep the version number in sync with push/build.xml and other locations
+ // listed in that file
+ static final String REQUIRED_ATMOSPHERE_VERSION = "1.0.14.vaadin4";
static final String INVALID_ATMOSPHERE_VERSION_WARNING = "\n"
+ "=================================================================\n"
diff --git a/server/src/com/vaadin/ui/DateField.java b/server/src/com/vaadin/ui/DateField.java
index 5017fac993..17dda73b95 100644
--- a/server/src/com/vaadin/ui/DateField.java
+++ b/server/src/com/vaadin/ui/DateField.java
@@ -402,13 +402,14 @@ public class DateField extends AbstractField<Date> implements
private void updateRangeValidator() {
if (currentRangeValidator != null) {
removeValidator(currentRangeValidator);
+ currentRangeValidator = null;
+ }
+ if (getRangeStart() != null || getRangeEnd() != null) {
+ currentRangeValidator = new DateRangeValidator(
+ dateOutOfRangeMessage, getRangeStart(resolution),
+ getRangeEnd(resolution), null);
+ addValidator(currentRangeValidator);
}
-
- currentRangeValidator = new DateRangeValidator(dateOutOfRangeMessage,
- getRangeStart(resolution), getRangeEnd(resolution), null);
-
- addValidator(currentRangeValidator);
-
}
/**
diff --git a/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldConverterTest.java b/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldConverterTest.java
new file mode 100644
index 0000000000..25ee0a38a9
--- /dev/null
+++ b/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldConverterTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.tests.server.component.datefield;
+
+import java.util.Date;
+import java.util.Locale;
+
+import junit.framework.TestCase;
+
+import com.vaadin.data.Property;
+import com.vaadin.data.util.ObjectProperty;
+import com.vaadin.data.util.converter.Converter;
+import com.vaadin.shared.ui.datefield.Resolution;
+import com.vaadin.ui.DateField;
+
+public class DateFieldConverterTest extends TestCase {
+
+ private Property<Long> date;
+ private DateField datefield;
+
+ @Override
+ public void setUp() {
+ date = new ObjectProperty<Long>(0L);
+ datefield = new DateField();
+ datefield.setBuffered(false);
+ datefield.setConverter(new Converter<Date, Long>() {
+
+ @Override
+ public Long convertToModel(Date value,
+ Class<? extends Long> targetType, Locale locale)
+ throws ConversionException {
+ return value.getTime();
+ }
+
+ @Override
+ public Date convertToPresentation(Long value,
+ Class<? extends Date> targetType, Locale locale)
+ throws ConversionException {
+ return new Date(value);
+ }
+
+ @Override
+ public Class<Long> getModelType() {
+ return Long.class;
+ }
+
+ @Override
+ public Class<Date> getPresentationType() {
+ return Date.class;
+ }
+ });
+ datefield.setPropertyDataSource(date);
+ }
+
+ /*
+ * See #12193.
+ */
+ public void testResolution() {
+ datefield.setValue(new Date(110, 0, 1));
+ datefield.setResolution(Resolution.MINUTE);
+ datefield.validate();
+ }
+}