- Write properties sorted by property ID now. This hopefully fixes M$ Word compatibility.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353558 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c2afff5aa3
commit
7b38e0ceb0
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Copyright 2002-2004 Apache Software Foundation
|
Copyright 2002-2004 Apache Software Foundation
|
||||||
|
|
||||||
@ -20,9 +19,12 @@ package org.apache.poi.hpsf;
|
|||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.poi.hpsf.wellknown.PropertyIDMap;
|
import org.apache.poi.hpsf.wellknown.PropertyIDMap;
|
||||||
@ -370,9 +372,25 @@ public class MutableSection extends Section
|
|||||||
("The codepage property (ID = 1) must be set.");
|
("The codepage property (ID = 1) must be set.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Sort the property list by their property IDs: */
|
||||||
|
Collections.sort(preprops, new Comparator()
|
||||||
|
{
|
||||||
|
public int compare(final Object o1, final Object o2)
|
||||||
|
{
|
||||||
|
final Property p1 = (Property) o1;
|
||||||
|
final Property p2 = (Property) o2;
|
||||||
|
if (p1.getID() < p2.getID())
|
||||||
|
return -1;
|
||||||
|
else if (p1.getID() == p2.getID())
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
/* Write the properties and the property list into their respective
|
/* Write the properties and the property list into their respective
|
||||||
* streams: */
|
* streams: */
|
||||||
for (final Iterator i = preprops.iterator(); i.hasNext();)
|
for (final ListIterator i = preprops.listIterator(); i.hasNext();)
|
||||||
{
|
{
|
||||||
final MutableProperty p = (MutableProperty) i.next();
|
final MutableProperty p = (MutableProperty) i.next();
|
||||||
final long id = p.getID();
|
final long id = p.getID();
|
||||||
|
Loading…
Reference in New Issue
Block a user