From 4e9acda18d8fc1c9e2607ec28d08a543f82d3b02 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Thu, 26 Sep 2002 02:08:47 +0000 Subject: [PATCH] Sort the mappings prior to writing the map file to enhance map file stability wrt diffing. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1756 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../media/tile/tools/MapFileTileSetIDBroker.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/java/com/threerings/media/tile/tools/MapFileTileSetIDBroker.java b/src/java/com/threerings/media/tile/tools/MapFileTileSetIDBroker.java index 88dd6160d..97272fe77 100644 --- a/src/java/com/threerings/media/tile/tools/MapFileTileSetIDBroker.java +++ b/src/java/com/threerings/media/tile/tools/MapFileTileSetIDBroker.java @@ -1,5 +1,5 @@ // -// $Id: MapFileTileSetIDBroker.java,v 1.6 2002/09/23 18:53:01 mdb Exp $ +// $Id: MapFileTileSetIDBroker.java,v 1.7 2002/09/26 02:08:47 mdb Exp $ package com.threerings.media.tile.tools; @@ -15,6 +15,7 @@ import java.util.HashMap; import java.util.Iterator; import com.samskivert.io.PersistenceException; +import com.samskivert.util.QuickSort; import com.threerings.media.tile.TileSetIDBroker; @@ -143,12 +144,16 @@ public class MapFileTileSetIDBroker implements TileSetIDBroker public static void writeMapFile (BufferedWriter bout, HashMap map) throws IOException { + String[] lines = new String[map.size()]; Iterator iter = map.keySet().iterator(); - while (iter.hasNext()) { + for (int ii = 0; iter.hasNext(); ii++) { String key = (String)iter.next(); Integer value = (Integer)map.get(key); - String line = key + SEP_STR + value; - bout.write(line, 0, line.length()); + lines[ii] = key + SEP_STR + value; + } + QuickSort.sort(lines); + for (int ii = 0; ii < lines.length; ii++) { + bout.write(lines[ii], 0, lines[ii].length()); bout.newLine(); } bout.flush();