summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/com/vaadin/data/util/LegacyPropertyHelper.java3
-rw-r--r--server/src/com/vaadin/server/communication/AtmospherePushConnection.java4
-rw-r--r--server/src/com/vaadin/server/communication/PushConnection.java4
-rw-r--r--server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java22
-rw-r--r--shared/src/com/vaadin/shared/ui/calendar/CalendarEventId.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/calendar/DateConstants.java4
-rw-r--r--shared/src/com/vaadin/shared/util/SharedUtil.java4
7 files changed, 38 insertions, 7 deletions
diff --git a/server/src/com/vaadin/data/util/LegacyPropertyHelper.java b/server/src/com/vaadin/data/util/LegacyPropertyHelper.java
index 0276e35dbf..3eb22524f8 100644
--- a/server/src/com/vaadin/data/util/LegacyPropertyHelper.java
+++ b/server/src/com/vaadin/data/util/LegacyPropertyHelper.java
@@ -15,6 +15,7 @@
*/
package com.vaadin.data.util;
+import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -32,7 +33,7 @@ import com.vaadin.server.VaadinService;
* @deprecated This is only used internally for backwards compatibility
*/
@Deprecated
-public class LegacyPropertyHelper {
+public class LegacyPropertyHelper implements Serializable {
/**
* Returns the property value converted to a String.
diff --git a/server/src/com/vaadin/server/communication/AtmospherePushConnection.java b/server/src/com/vaadin/server/communication/AtmospherePushConnection.java
index 96507b55f1..e967dd925a 100644
--- a/server/src/com/vaadin/server/communication/AtmospherePushConnection.java
+++ b/server/src/com/vaadin/server/communication/AtmospherePushConnection.java
@@ -42,12 +42,12 @@ import com.vaadin.ui.UI;
* @author Vaadin Ltd
* @since 7.1
*/
-public class AtmospherePushConnection implements Serializable, PushConnection {
+public class AtmospherePushConnection implements PushConnection {
/**
* Represents a message that can arrive as multiple fragments.
*/
- protected static class FragmentedMessage {
+ protected static class FragmentedMessage implements Serializable {
private final StringBuilder message = new StringBuilder();
private final int messageLength;
diff --git a/server/src/com/vaadin/server/communication/PushConnection.java b/server/src/com/vaadin/server/communication/PushConnection.java
index 4e043f565f..bb88998402 100644
--- a/server/src/com/vaadin/server/communication/PushConnection.java
+++ b/server/src/com/vaadin/server/communication/PushConnection.java
@@ -16,6 +16,8 @@
package com.vaadin.server.communication;
+import java.io.Serializable;
+
import com.vaadin.ui.UI;
/**
@@ -25,7 +27,7 @@ import com.vaadin.ui.UI;
* @author Vaadin Ltd
* @since 7.1
*/
-public interface PushConnection {
+public interface PushConnection extends Serializable {
/**
* Pushes pending state changes and client RPC calls to the client. It is
diff --git a/server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java b/server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java
index 90cb6b9994..af6d9ed732 100644
--- a/server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java
+++ b/server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java
@@ -7,6 +7,7 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
@@ -33,6 +34,7 @@ public class TestClassesSerializable extends TestCase {
"com\\.vaadin\\.launcher\\..*", //
"com\\.vaadin\\.client\\..*", //
"com\\.vaadin\\.server\\.widgetsetutils\\..*", //
+ "com\\.vaadin\\.server\\.themeutils\\..*", //
"com\\.vaadin\\.tests\\..*", // exclude automated tests
"com\\.vaadin\\.tools\\..*", //
"com\\.vaadin\\.ui\\.themes\\..*", //
@@ -41,7 +43,13 @@ public class TestClassesSerializable extends TestCase {
"com\\.vaadin\\.event\\.LayoutEvents", //
"com\\.vaadin\\.event\\.MouseEvents", //
"com\\.vaadin\\.server\\.VaadinPortlet", //
+ "com\\.vaadin\\.server\\.MockServletConfig", //
+ "com\\.vaadin\\.server\\.MockServletContext", //
"com\\.vaadin\\.server\\.Constants", //
+ "com\\.vaadin\\.server\\.communication\\.FileUploadHandler\\$SimpleMultiPartInputStream", //
+ "com\\.vaadin\\.server\\.communication\\.PushRequestHandler.*",
+ "com\\.vaadin\\.server\\.communication\\.PushHandler.*", // PushHandler
+ // and its inner classes do not need to be serializable
"com\\.vaadin\\.util\\.SerializerHelper", // fully static
// class level filtering, also affecting nested classes and
// interfaces
@@ -50,6 +58,7 @@ public class TestClassesSerializable extends TestCase {
"com\\.vaadin\\.util\\.ReflectTools.*", //
"com\\.vaadin\\.data\\.util\\.ReflectTools.*", //
"com\\.vaadin\\.sass.*", //
+ "com\\.vaadin\\.testbench.*", //
"com\\.vaadin\\.util\\.CurrentInstance\\$1", //
};
@@ -88,6 +97,19 @@ public class TestClassesSerializable extends TestCase {
// report non-serializable classes and interfaces
if (!Serializable.class.isAssignableFrom(cls)) {
+ if (cls.getSuperclass() == Object.class
+ && cls.getInterfaces().length == 1) {
+ // Single interface implementors
+ Class<?> iface = cls.getInterfaces()[0];
+
+ if (iface == Runnable.class) {
+ // Ignore Runnables used with access()
+ continue;
+ } else if (iface == Comparator.class) {
+ // Ignore inline comparators
+ continue;
+ }
+ }
nonSerializableClasses.add(cls);
// TODO easier to read when testing
// System.err.println(cls);
diff --git a/shared/src/com/vaadin/shared/ui/calendar/CalendarEventId.java b/shared/src/com/vaadin/shared/ui/calendar/CalendarEventId.java
index 6f52aabf43..27f1cdd341 100644
--- a/shared/src/com/vaadin/shared/ui/calendar/CalendarEventId.java
+++ b/shared/src/com/vaadin/shared/ui/calendar/CalendarEventId.java
@@ -15,6 +15,8 @@
*/
package com.vaadin.shared.ui.calendar;
+import java.io.Serializable;
+
/**
* CalendarEventId contains static String identifiers for all Calendar events.
* These are used both in the client and server side code.
@@ -22,7 +24,7 @@ package com.vaadin.shared.ui.calendar;
* @since 7.1
* @author Vaadin Ltd.
*/
-public class CalendarEventId {
+public class CalendarEventId implements Serializable {
public static final String EVENTMOVE = "eventMove";
public static final String RANGESELECT = "rangeSelect";
diff --git a/shared/src/com/vaadin/shared/ui/calendar/DateConstants.java b/shared/src/com/vaadin/shared/ui/calendar/DateConstants.java
index 8a840274c2..9b1c995642 100644
--- a/shared/src/com/vaadin/shared/ui/calendar/DateConstants.java
+++ b/shared/src/com/vaadin/shared/ui/calendar/DateConstants.java
@@ -15,12 +15,14 @@
*/
package com.vaadin.shared.ui.calendar;
+import java.io.Serializable;
+
/**
*
* @since 7.1
*
*/
-public class DateConstants {
+public class DateConstants implements Serializable {
public static final String ACTION_DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static final String CLIENT_DATE_FORMAT = "yyyy-MM-dd";
diff --git a/shared/src/com/vaadin/shared/util/SharedUtil.java b/shared/src/com/vaadin/shared/util/SharedUtil.java
index 2242fa4363..80efe68d83 100644
--- a/shared/src/com/vaadin/shared/util/SharedUtil.java
+++ b/shared/src/com/vaadin/shared/util/SharedUtil.java
@@ -15,6 +15,8 @@
*/
package com.vaadin.shared.util;
+import java.io.Serializable;
+
/**
* Misc internal utility methods used by both the server and the client package.
*
@@ -22,7 +24,7 @@ package com.vaadin.shared.util;
* @since 7.1
*
*/
-public class SharedUtil {
+public class SharedUtil implements Serializable {
/**
* Checks if a and b are equals using {@link #equals(Object)}. Handles null
* values as well. Does not ensure that objects are of the same type.