Reviewers: robertvawter_google.com,
Please review this at http://gwt-code-reviews.appspot.com/47819 Affected files: user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java Index: user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java =================================================================== --- user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java (revision 5743) +++ user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java (working copy) @@ -31,7 +31,9 @@ @SuppressWarnings("unchecked") // raw LinkedHashMap public static void deserialize(SerializationStreamReader streamReader, LinkedHashMap instance) throws SerializationException { + boolean accessOrder = streamReader.readBoolean(); Map_CustomFieldSerializerBase.deserialize(streamReader, instance); + setAccessOrder(instance, accessOrder); } @SuppressWarnings("unchecked") // raw LinkedHashMap @@ -66,4 +68,19 @@ throw new SerializationException("Can't get accessOrder field", e); } } + + @SuppressWarnings("unchecked") // raw LinkedHashMap + private static void setAccessOrder(LinkedHashMap instance, boolean accessOrder) + throws SerializationException { + Field accessOrderField; + try { + accessOrderField = LinkedHashMap.class.getDeclaredField("accessOrder"); + accessOrderField.setAccessible(true); + accessOrderField.set(instance, Boolean.valueOf(accessOrder)); + } catch (IllegalAccessException e) { + throw new SerializationException("Can't set accessOrder field", e); + } catch (NoSuchFieldException e) { + throw new SerializationException("Can't set accessOrder field", e); + } + } } --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
