Fixes SerializationPolicy to be backwards compatible.
Review by: jlabanca, rjrjr (desk check)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6010 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/server/rpc/SerializationPolicy.java b/user/src/com/google/gwt/user/server/rpc/SerializationPolicy.java
index 4eda6b5..ba33620 100644
--- a/user/src/com/google/gwt/user/server/rpc/SerializationPolicy.java
+++ b/user/src/com/google/gwt/user/server/rpc/SerializationPolicy.java
@@ -36,7 +36,10 @@
* @param clazz the class to test
* @return a set containing client field names, or null
*/
- public abstract Set<String> getClientFieldNamesForEnhancedClass(Class<?> clazz);
+ public Set<String> getClientFieldNamesForEnhancedClass(Class<?> clazz) {
+ // Ignore the possibility of server-side enhancement for legacy classes.
+ return null;
+ }
/**
* Returns <code>true</code> if the class' fields should be deserialized.
diff --git a/user/src/com/google/gwt/user/server/rpc/impl/LegacySerializationPolicy.java b/user/src/com/google/gwt/user/server/rpc/impl/LegacySerializationPolicy.java
index bcb1777..62413b6 100644
--- a/user/src/com/google/gwt/user/server/rpc/impl/LegacySerializationPolicy.java
+++ b/user/src/com/google/gwt/user/server/rpc/impl/LegacySerializationPolicy.java
@@ -104,14 +104,6 @@
}
/**
- * Ignore the possibility of server-side enhancement for legacy classes.
- */
- @Override
- public Set<String> getClientFieldNamesForEnhancedClass(Class<?> clazz) {
- return null;
- }
-
- /**
* Implemented to fail with a useful error message.
*/
public final String getTypeIdForClass(Class<?> clazz)
diff --git a/user/src/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicy.java b/user/src/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicy.java
index 4c29b03..f89e6a3 100644
--- a/user/src/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicy.java
+++ b/user/src/com/google/gwt/user/server/rpc/impl/StandardSerializationPolicy.java
@@ -65,6 +65,17 @@
public StandardSerializationPolicy(
Map<Class<?>, Boolean> serializationWhitelist,
Map<Class<?>, Boolean> deserializationWhitelist,
+ Map<Class<?>, String> obfuscatedTypeIds) {
+ this(serializationWhitelist, deserializationWhitelist, obfuscatedTypeIds,
+ null);
+ }
+
+ /**
+ * Constructs a {@link SerializationPolicy} from several {@link Map}s.
+ */
+ public StandardSerializationPolicy(
+ Map<Class<?>, Boolean> serializationWhitelist,
+ Map<Class<?>, Boolean> deserializationWhitelist,
Map<Class<?>, String> obfuscatedTypeIds,
Map<Class<?>, Set<String>> clientFields) {
if (serializationWhitelist == null || deserializationWhitelist == null) {