# HG changeset patch # User dmeetry # Date 1340325869 -14400 # Node ID a0550cd753394f7405b19d4fbaba503906ef0174 # Parent 45ea1fdc43764600667c317ad61fc2e2a6b4db5a 7177701: error: Filling jar message during javax/imageio/metadata/IIOMetadataFormatImpl compilation Summary: Recent JDK hash changes affected order in which files are returned from JavacFileManager.list() Reviewed-by: mcimadamore diff -r 45ea1fdc4376 -r a0550cd75339 src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java --- a/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Thu Jun 07 14:53:35 2012 -0700 +++ b/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Fri Jun 22 04:44:29 2012 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.Collections; +import java.util.LinkedHashMap; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -284,7 +285,7 @@ try { checkIndex(); if (allDirs == Collections.EMPTY_SET) { - allDirs = new HashSet(directories.keySet()); + allDirs = new java.util.LinkedHashSet(directories.keySet()); } return allDirs; @@ -572,7 +573,7 @@ // Add each of the files if (entryCount > 0) { - directories = new HashMap(); + directories = new LinkedHashMap(); ArrayList entryList = new ArrayList(); int pos = 2; for (int i = 0; i < entryCount; i++) { @@ -867,7 +868,7 @@ if (zipFile.lastModified() != fileStamp) { ret = false; } else { - directories = new HashMap(); + directories = new LinkedHashMap(); int numDirs = raf.readInt(); for (int nDirs = 0; nDirs < numDirs; nDirs++) { int dirNameBytesLen = raf.readInt();