From e9b4859ade592dbbb5bb3ec5ba442797ff499755 Mon Sep 17 00:00:00 2001 From: Sergey Vladimirov Date: Sun, 2 Oct 2011 08:58:11 +0000 Subject: [PATCH] preserve entries order in dictionaries git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1178153 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/poi/hpsf/Property.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/java/org/apache/poi/hpsf/Property.java b/src/java/org/apache/poi/hpsf/Property.java index c06a807ef3..90cc014082 100644 --- a/src/java/org/apache/poi/hpsf/Property.java +++ b/src/java/org/apache/poi/hpsf/Property.java @@ -18,7 +18,7 @@ package org.apache.poi.hpsf; import java.io.UnsupportedEncodingException; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.apache.poi.util.HexDump; @@ -193,7 +193,7 @@ public class Property * @throws UnsupportedEncodingException if the dictionary's codepage is not * (yet) supported. */ - protected Map readDictionary(final byte[] src, final long offset, + protected Map readDictionary(final byte[] src, final long offset, final int length, final int codepage) throws UnsupportedEncodingException { @@ -210,7 +210,8 @@ public class Property final long nrEntries = LittleEndian.getUInt(src, o); o += LittleEndian.INT_SIZE; - final Map m = new HashMap((int) nrEntries, (float) 1.0); + final Map m = new LinkedHashMap( + (int) nrEntries, (float) 1.0 ); try {