Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 43972 Details for
Bug 146215
JDT Core tests should not be dependent on HashMap implementation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix
sorting.txt (text/plain), 29.48 KB, created by
Jerome Lanneluc
on 2006-06-09 06:55:12 EDT
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
Jerome Lanneluc
Created:
2006-06-09 06:55:12 EDT
Size:
29.48 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java,v >retrieving revision 1.165.2.2 >diff -u -r1.165.2.2 AbstractJavaModelTests.java >--- src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java 2 Jun 2006 14:06:51 -0000 1.165.2.2 >+++ src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java 9 Jun 2006 10:57:27 -0000 >@@ -568,6 +568,10 @@ > } > assertEquals("Unepexeted type parameters", expected, actual); > } >+ protected void assertSortedStringsEqual(String message, String expected, String[] strings) { >+ Util.sort(strings); >+ assertStringsEqual(message, expected, strings); >+ } > protected void assertStringsEqual(String message, String expected, String[] strings) { > String actual = toString(strings, true/*add extra new lines*/); > if (!expected.equals(actual)) { >Index: src/org/eclipse/jdt/core/tests/model/ClasspathTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ClasspathTests.java,v >retrieving revision 1.151 >diff -u -r1.151 ClasspathTests.java >--- src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 6 Apr 2006 15:25:04 -0000 1.151 >+++ src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 9 Jun 2006 10:57:30 -0000 >@@ -1976,11 +1976,11 @@ > public void testEncodeDecodeEntry02() { > assertEncodeDecodeEntry( > "P", >- "<classpathentry including=\"**/Y.java\" excluding=\"**/X.java\" output=\"bin\" kind=\"src\" path=\"src\">\n" + >+ "<classpathentry excluding=\"**/X.java\" including=\"**/Y.java\" kind=\"src\" output=\"bin\" path=\"src\">\n" + > " <attributes>\n" + >- " <attribute value=\"some value\" name=\"attrName\"/>\n" + >+ " <attribute name=\"attrName\" value=\"some value\"/>\n" + > " </attributes>\n" + >- "</classpathentry>\n", >+ "</classpathentry>\n", > JavaCore.newSourceEntry( > new Path("/P/src"), > new IPath[] {new Path("**/Y.java")}, >@@ -2005,14 +2005,14 @@ > public void testEncodeDecodeEntry04() { > assertEncodeDecodeEntry( > "P", >- "<classpathentry exported=\"true\" sourcepath=\"src.zip\" kind=\"lib\" rootpath=\"root\" path=\"lib.jar\">\n" + >+ "<classpathentry exported=\"true\" kind=\"lib\" path=\"lib.jar\" rootpath=\"root\" sourcepath=\"src.zip\">\n" + > " <attributes>\n" + >- " <attribute value=\"val1\" name=\"attr1\"/>\n" + >+ " <attribute name=\"attr1\" value=\"val1\"/>\n" + > " </attributes>\n" + > " <accessrules>\n" + > " <accessrule kind=\"accessible\" pattern=\"**/A*.java\"/>\n" + > " </accessrules>\n" + >- "</classpathentry>\n", >+ "</classpathentry>\n", > JavaCore.newLibraryEntry( > new Path("/P/lib.jar"), > new Path("/P/src.zip"), >@@ -2028,12 +2028,12 @@ > public void testEncodeDecodeEntry05() { > assertEncodeDecodeEntry( > "P", >- "<classpathentry exported=\"true\" sourcepath=\"src.zip\" kind=\"lib\" rootpath=\"root\" path=\"lib.jar\">\n" + >+ "<classpathentry exported=\"true\" kind=\"lib\" path=\"lib.jar\" rootpath=\"root\" sourcepath=\"src.zip\">\n" + > " <attributes>\n" + >- " <attribute value=\"val1\" name=\"attr1\"/>\n" + >+ " <attribute name=\"attr1\" value=\"val1\"/>\n" + > " </attributes>\n" + > " <accessrules>\n" + >- " <accessrule kind=\"accessible\" pattern=\"**/A*.java\" ignoreifbetter=\"true\"/>\n" + >+ " <accessrule ignoreifbetter=\"true\" kind=\"accessible\" pattern=\"**/A*.java\"/>\n" + > " </accessrules>\n" + > "</classpathentry>\n", > JavaCore.newLibraryEntry( >@@ -2182,7 +2182,7 @@ > "<classpath>\n" + > " <classpathentry kind=\"src\" path=\"\">\n" + > " <attributes>\n" + >- " <attribute value=\"some value\" name=\"foo\"/>\n" + >+ " <attribute name=\"foo\" value=\"some value\"/>\n" + > " </attributes>\n" + > " </classpathentry>\n" + > " <classpathentry kind=\"output\" path=\"\"/>\n" + >@@ -2209,8 +2209,8 @@ > "<classpath>\n" + > " <classpathentry kind=\"src\" path=\"\">\n" + > " <attributes>\n" + >- " <attribute value=\"some value\" name=\"foo\"/>\n" + >- " <attribute value=\"other value\" name=\"bar\"/>\n" + >+ " <attribute name=\"foo\" value=\"some value\"/>\n" + >+ " <attribute name=\"bar\" value=\"other value\"/>\n" + > " </attributes>\n" + > " </classpathentry>\n" + > " <classpathentry kind=\"output\" path=\"\"/>\n" + >@@ -3653,9 +3653,9 @@ > "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + > "<classpath>\n" + > " <classpathentry kind=\"src\" path=\"src2\"/>\n" + >- " <classpathentry unknown=\"test\" kind=\"src\" path=\"src1\"/>\n" + >+ " <classpathentry kind=\"src\" path=\"src1\" unknown=\"test\"/>\n" + > " <classpathentry kind=\"output\" path=\"bin\"/>\n" + >- "</classpath>\n", >+ "</classpath>\n", > contents); > } finally { > deleteProject("P"); >@@ -3751,17 +3751,17 @@ > "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + > "<classpath>\n" + > " <classpathentry kind=\"src\" path=\"src2\"/>\n" + >- " <classpathentry kind=\"src\" unknownattribute=\"abcde\" path=\"src1\">\n" + >- " <unknown1>\n" + >- " <test kind=\"1\"/>\n" + >- " <test kind=\"2\"/>\n" + >- " </unknown1>\n" + >- " <unknown2 attribute2=\"\">\n" + >- " <test>\n" + >- " <other a=\"b\"/>\n" + >- " </test>\n" + >- " </unknown2>\n" + >- " </classpathentry>\n" + >+ " <classpathentry kind=\"src\" path=\"src1\" unknownattribute=\"abcde\">\n" + >+ " <unknown1>\n" + >+ " <test kind=\"1\"/>\n" + >+ " <test kind=\"2\"/>\n" + >+ " </unknown1>\n" + >+ " <unknown2 attribute2=\"\">\n" + >+ " <test>\n" + >+ " <other a=\"b\"/>\n" + >+ " </test>\n" + >+ " </unknown2>\n" + >+ " </classpathentry>\n" + > " <classpathentry kind=\"output\" path=\"bin\"/>\n" + > "</classpath>\n", > contents); >Index: src/org/eclipse/jdt/core/tests/model/WorkingCopyOwnerTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/WorkingCopyOwnerTests.java,v >retrieving revision 1.56 >diff -u -r1.56 WorkingCopyOwnerTests.java >--- src/org/eclipse/jdt/core/tests/model/WorkingCopyOwnerTests.java 2 May 2006 15:01:45 -0000 1.56 >+++ src/org/eclipse/jdt/core/tests/model/WorkingCopyOwnerTests.java 9 Jun 2006 10:57:33 -0000 >@@ -133,7 +133,7 @@ > this.workingCopy = getCompilationUnit("P/Y.java"); > > this.workingCopy.becomeWorkingCopy(null, null); >- assertElementsEqual( >+ assertSortedElementsEqual( > "Unexpected children of default package", > "X.java [in <default> [in <project root> [in P]]]\n" + > "[Working copy] Y.java [in <default> [in <project root> [in P]]]", >Index: src/org/eclipse/jdt/core/tests/model/JavaLikeExtensionsTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaLikeExtensionsTests.java,v >retrieving revision 1.5 >diff -u -r1.5 JavaLikeExtensionsTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaLikeExtensionsTests.java 29 Mar 2006 04:03:07 -0000 1.5 >+++ src/org/eclipse/jdt/core/tests/model/JavaLikeExtensionsTests.java 9 Jun 2006 10:57:31 -0000 >@@ -47,11 +47,11 @@ > * Ensures that the known Java-like extensions are correct. > */ > public void testGetJavaLikeExtensions01() { >- assertStringsEqual( >+ assertSortedStringsEqual( > "Unexpected file extensions", >- "java\n" + >+ "bar\n" + > "foo\n" + >- "bar\n", >+ "java\n", > JavaCore.getJavaLikeExtensions() > ); > } >@@ -64,12 +64,12 @@ > try { > if (javaContentType != null) > javaContentType.addFileSpec("abc", IContentType.FILE_EXTENSION_SPEC); >- assertStringsEqual( >+ assertSortedStringsEqual( > "Unexpected file extensions", >- "java\n" + >- "foo\n" + >+ "abc\n" + > "bar\n" + >- "abc\n", >+ "foo\n" + >+ "java\n", > JavaCore.getJavaLikeExtensions() > ); > } finally { >Index: src/org/eclipse/jdt/core/tests/model/TypeHierarchyTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/TypeHierarchyTests.java,v >retrieving revision 1.55.2.1 >diff -u -r1.55.2.1 TypeHierarchyTests.java >--- src/org/eclipse/jdt/core/tests/model/TypeHierarchyTests.java 6 Jun 2006 14:41:15 -0000 1.55.2.1 >+++ src/org/eclipse/jdt/core/tests/model/TypeHierarchyTests.java 9 Jun 2006 10:57:33 -0000 >@@ -540,16 +540,16 @@ > "Super types:\n" + > " Object [in Object.class [in java.lang [in "+ getExternalJCLPathString() + " [in TypeHierarchy]]]]\n" + > "Sub types:\n" + >- " Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >+ " <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + > " Y2 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >+ " <anonymous #1> [in field1 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >+ " <anonymous #1> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + > " <anonymous #1> [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >+ " <anonymous #1> [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + > " <anonymous #2> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >- " <anonymous #1> [in field2 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >- " <anonymous #1> [in field1 [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >- " <anonymous #1> [in <initializer #2> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >- " Y1 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >+ " Y1 [in foo() [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + > " Y2 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n" + >- " <anonymous #1> [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n", >+ " Y1 [in <initializer #1> [in A [in A.java [in p7 [in src [in TypeHierarchy]]]]]]\n", > hierarchy); > } > /* >@@ -561,10 +561,10 @@ > assertHierarchyEquals( > "Focus: X [in X.java [in <default> [in src [in TypeHierarchy15]]]]\n" + > "Super types:\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " ArrayList [in ArrayList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + > "Sub types:\n", > hierarchy >@@ -579,8 +579,8 @@ > assertHierarchyEquals( > "Focus: ArrayList [in ArrayList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > "Super types:\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + > "Sub types:\n" + > " X [in X.java [in <default> [in src [in TypeHierarchy15]]]]\n" + >@@ -597,10 +597,10 @@ > assertHierarchyEquals( > "Focus: Y [in Y.java [in <default> [in src [in TypeHierarchy15]]]]\n" + > "Super types:\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " ArrayList [in ArrayList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + > "Sub types:\n", > hierarchy >@@ -616,10 +616,10 @@ > assertHierarchyEquals( > "Focus: X [in X.java [in <default> [in src [in TypeHierarchy15]]]]\n" + > "Super types:\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " ArrayList [in ArrayList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >- " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " AbstractList [in AbstractList.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + >+ " List [in List.class [in util [in lib15.jar [in TypeHierarchy15]]]]\n" + > " Object [in Object.class [in java.lang [in "+ getExternalJCLPathString("1.5") + " [in TypeHierarchy15]]]]\n" + > "Sub types:\n", > hierarchy >@@ -1374,18 +1374,18 @@ > assertHierarchyEquals( > "Focus: <NONE>\n" + > "Sub types of root classes:\n" + >- " X [in X.java [in <default> [in <project root> [in P1]]]]\n" + >- " Z [in Z.java [in <default> [in <project root> [in P3]]]]\n" + >+ " Class [in Class.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + > " Y [in Y.java [in <default> [in <project root> [in P2]]]]\n" + >- " Throwable [in Throwable.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " Exception [in Exception.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " Z [in Z.java [in <default> [in <project root> [in P3]]]]\n" + >+ " String [in String.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " Error [in Error.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " CloneNotSupportedException [in CloneNotSupportedException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + > " IllegalMonitorStateException [in IllegalMonitorStateException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + > " InterruptedException [in InterruptedException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " CloneNotSupportedException [in CloneNotSupportedException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " Error [in Error.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " String [in String.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >- " Class [in Class.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n", >+ " RuntimeException [in RuntimeException.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " Exception [in Exception.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " Throwable [in Throwable.class [in java.lang [in "+ getExternalJCLPathString() + " [in P1]]]]\n" + >+ " X [in X.java [in <default> [in <project root> [in P1]]]]\n", > hierarchy); > } finally { > deleteProjects(new String[] {"P1", "P2", "P3"}); >Index: src/org/eclipse/jdt/core/tests/model/JavaProjectTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaProjectTests.java,v >retrieving revision 1.67 >diff -u -r1.67 JavaProjectTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaProjectTests.java 4 May 2006 09:33:14 -0000 1.67 >+++ src/org/eclipse/jdt/core/tests/model/JavaProjectTests.java 9 Jun 2006 10:57:32 -0000 >@@ -238,7 +238,7 @@ > createFile("/P/pack/X.java", "package pack; public class X {}"); > createFile("/P/pack/Y.bar", "package pack; public class Y {}"); > IPackageFragment pkg = getPackage("/P/pack"); >- assertElementsEqual( >+ assertSortedElementsEqual( > "Unexpected children of package pack", > "X.java [in pack [in <project root> [in P]]]\n" + > "Y.bar [in pack [in <project root> [in P]]]", >@@ -1132,33 +1132,34 @@ > String containerKey = UserLibraryManager.CP_USERLIBRARY_PREFERENCES_PREFIX+"TEST"; > String libraryPreference = instancePreferences.get(containerKey, null); > assertNotNull("Should get a preference for TEST user library", libraryPreference); >- StringBuffer expected = new StringBuffer(); >- expected.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"); >- expected.append("<userlibrary systemlibrary=\"false\" version=\"1\">\r\n"); >- expected.append(" <archive path=\"/tmp/test.jar\">\r\n"); >- expected.append(" <attributes>\r\n"); >- expected.append(" <attribute value=\"http://www.sample-url.org/doc/\" name=\"javadoc_location\"/>\r\n"); >- expected.append(" <attribute value=\"/tmp\" name=\"org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY\"/>\r\n"); >- expected.append(" </attributes>\r\n"); >- expected.append(" <accessrules>\r\n"); >- expected.append(" <accessrule kind=\"nonaccessible\" pattern=\"**/forbidden/**\"/>\r\n"); >- expected.append(" <accessrule kind=\"discouraged\" pattern=\"**/discouraged/**\"/>\r\n"); >- expected.append(" <accessrule kind=\"accessible\" pattern=\"**/accessible/**\"/>\r\n"); >- expected.append(" </accessrules>\r\n"); >- expected.append(" </archive>\r\n"); >- expected.append(" <archive path=\"/tmp/test.jar\">\r\n"); >- expected.append(" <attributes>\r\n"); >- expected.append(" <attribute value=\"http://www.sample-url.org/doc/\" name=\"javadoc_location\"/>\r\n"); >- expected.append(" <attribute value=\"/tmp\" name=\"org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY\"/>\r\n"); >- expected.append(" </attributes>\r\n"); >- expected.append(" <accessrules>\r\n"); >- expected.append(" <accessrule kind=\"nonaccessible\" pattern=\"/org/eclipse/forbidden/**\"/>\r\n"); >- expected.append(" <accessrule kind=\"discouraged\" pattern=\"/org/eclipse/discouraged/**\"/>\r\n"); >- expected.append(" <accessrule kind=\"accessible\" pattern=\"/org/eclipse/accessible/**\"/>\r\n"); >- expected.append(" </accessrules>\r\n"); >- expected.append(" </archive>\r\n"); >- expected.append("</userlibrary>\r\n"); >- String expectedString = org.eclipse.jdt.core.tests.util.Util.convertToIndependantLineDelimiter(expected.toString()); >- assertEquals("Invalid library contents", expectedString, org.eclipse.jdt.core.tests.util.Util.convertToIndependantLineDelimiter(libraryPreference)); >+ >+ assertSourceEquals( >+ "Invalid library contents", >+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + >+ "<userlibrary systemlibrary=\"false\" version=\"1\">\n" + >+ " <archive path=\"/tmp/test.jar\">\n" + >+ " <attributes>\n" + >+ " <attribute name=\"javadoc_location\" value=\"http://www.sample-url.org/doc/\"/>\n" + >+ " <attribute name=\"org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY\" value=\"/tmp\"/>\n" + >+ " </attributes>\n" + >+ " <accessrules>\n" + >+ " <accessrule kind=\"nonaccessible\" pattern=\"**/forbidden/**\"/>\n" + >+ " <accessrule kind=\"discouraged\" pattern=\"**/discouraged/**\"/>\n" + >+ " <accessrule kind=\"accessible\" pattern=\"**/accessible/**\"/>\n" + >+ " </accessrules>\n" + >+ " </archive>\n" + >+ " <archive path=\"/tmp/test.jar\">\n" + >+ " <attributes>\n" + >+ " <attribute name=\"javadoc_location\" value=\"http://www.sample-url.org/doc/\"/>\n" + >+ " <attribute name=\"org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY\" value=\"/tmp\"/>\n" + >+ " </attributes>\n" + >+ " <accessrules>\n" + >+ " <accessrule kind=\"nonaccessible\" pattern=\"/org/eclipse/forbidden/**\"/>\n" + >+ " <accessrule kind=\"discouraged\" pattern=\"/org/eclipse/discouraged/**\"/>\n" + >+ " <accessrule kind=\"accessible\" pattern=\"/org/eclipse/accessible/**\"/>\n" + >+ " </accessrules>\n" + >+ " </archive>\n" + >+ "</userlibrary>\n", >+ libraryPreference); > } > } >#P org.eclipse.jdt.core.tests.compiler >Index: src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java,v >retrieving revision 1.59.2.4 >diff -u -r1.59.2.4 BatchCompilerTest.java >--- src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 30 May 2006 13:34:14 -0000 1.59.2.4 >+++ src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 9 Jun 2006 10:57:36 -0000 >@@ -1078,7 +1078,7 @@ > String expectedLogContents = > "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + > "<!DOCTYPE compiler PUBLIC \"-//Eclipse.org//DTD Eclipse JDT 3.2.002 Compiler//EN\" \"http://www.eclipse.org/jdt/core/compiler_32_002.dtd\">\n" + >- "<compiler name=\"{1}\" copyright=\"{2}\" version=\"{3}\">\n" + >+ "<compiler copyright=\"{2}\" name=\"{1}\" version=\"{3}\">\n" + > " <command_line>\n" + > " <argument value=\"---OUTPUT_DIR_PLACEHOLDER---{0}X.java\"/>\n" + > " <argument value=\"-1.5\"/>\n" + >@@ -1170,10 +1170,10 @@ > " <classpaths>NORMALIZED SECTION</classpaths>\n" + > " <sources>\n" + > " <source path=\"---OUTPUT_DIR_PLACEHOLDER---{0}X.java\">\n" + >- " <problems problems=\"1\" errors=\"1\" warnings=\"0\">\n" + >- " <problem charEnd=\"28\" charStart=\"25\" severity=\"ERROR\" line=\"3\" id=\"UndefinedType\">\n" + >+ " <problems errors=\"1\" problems=\"1\" warnings=\"0\">\n" + >+ " <problem charEnd=\"28\" charStart=\"25\" id=\"UndefinedType\" line=\"3\" severity=\"ERROR\">\n" + > " <message value=\"Zork cannot be resolved to a type\"/>\n" + >- " <source_context value=\"Zork z;\" sourceStart=\"0\" sourceEnd=\"3\"/>\n" + >+ " <source_context sourceEnd=\"3\" sourceStart=\"0\" value=\"Zork z;\"/>\n" + > " <arguments>\n" + > " <argument value=\"Zork\"/>\n" + > " </arguments>\n" + >@@ -1183,7 +1183,7 @@ > " </source>\n" + > " </sources>\n" + > " <stats>\n" + >- " <problem_summary problems=\"1\" errors=\"1\" warnings=\"0\" tasks=\"0\"/>\n" + >+ " <problem_summary errors=\"1\" problems=\"1\" tasks=\"0\" warnings=\"0\"/>\n" + > " </stats>\n" + > "</compiler>\n"; > String normalizedExpectedLogContents = >#P org.eclipse.jdt.core >Index: model/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.java,v >retrieving revision 1.94 >diff -u -r1.94 TypeHierarchy.java >--- model/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.java 4 Apr 2006 13:10:36 -0000 1.94 >+++ model/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.java 9 Jun 2006 10:57:40 -0000 >@@ -1471,17 +1471,16 @@ > toString(buffer, this.focusType, 1, false); > } else { > buffer.append("Sub types of root classes:\n"); //$NON-NLS-1$ >- IType[] roots= getRootClasses(); >+ IJavaElement[] roots = Util.sortCopy(getRootClasses()); > for (int i= 0; i < roots.length; i++) { >- toString(buffer, roots[i], 1, false); >+ toString(buffer, (IType) roots[i], 1, false); > } > } > if (this.rootClasses.size > 1) { > buffer.append("Root classes:\n"); //$NON-NLS-1$ >- IType[] roots = this.getRootClasses(); >+ IJavaElement[] roots = Util.sortCopy(getRootClasses()); > for (int i = 0, length = roots.length; i < length; i++) { >- IType type = roots[i]; >- toString(buffer, type, 1, false); >+ toString(buffer, (IType) roots[i], 1, false); > } > } else if (this.rootClasses.size == 0) { > // see http://bugs.eclipse.org/bugs/show_bug.cgi?id=24691 >@@ -1499,11 +1498,12 @@ > */ > private void toString(StringBuffer buffer, IType type, int indent, boolean ascendant) { > IType[] types= ascendant ? getSupertypes(type) : getSubtypes(type); >- for (int i= 0; i < types.length; i++) { >+ IJavaElement[] sortedTypes = Util.sortCopy(types); >+ for (int i= 0; i < sortedTypes.length; i++) { > for (int j= 0; j < indent; j++) { > buffer.append(" "); //$NON-NLS-1$ > } >- JavaElement element = (JavaElement)types[i]; >+ JavaElement element = (JavaElement)sortedTypes[i]; > buffer.append(element.toStringWithAncestors(false/*don't show key*/)); > buffer.append('\n'); > toString(buffer, types[i], indent + 1, ascendant); >Index: batch/org/eclipse/jdt/internal/compiler/batch/Main.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java,v >retrieving revision 1.254.2.1 >diff -u -r1.254.2.1 Main.java >--- batch/org/eclipse/jdt/internal/compiler/batch/Main.java 30 May 2006 13:34:28 -0000 1.254.2.1 >+++ batch/org/eclipse/jdt/internal/compiler/batch/Main.java 9 Jun 2006 10:57:39 -0000 >@@ -28,9 +28,7 @@ > import java.text.MessageFormat; > import java.util.ArrayList; > import java.util.Arrays; >-import java.util.Collections; > import java.util.Date; >-import java.util.Enumeration; > import java.util.HashMap; > import java.util.Iterator; > import java.util.Locale; >@@ -958,12 +956,15 @@ > buffer.append("<"); //$NON-NLS-1$ > buffer.append(name); > if (params != null) { >- for (Enumeration enumeration = Collections.enumeration(params.keySet()); enumeration.hasMoreElements();) { >+ int length = parameters.size(); >+ String[] keys = new String[length]; >+ parameters.keySet().toArray(keys); >+ Arrays.sort(keys); >+ for (int i = 0; i < length; i++) { > buffer.append(" "); //$NON-NLS-1$ >- String key= (String) enumeration.nextElement(); >- buffer.append(key); >+ buffer.append(keys[i]); > buffer.append("=\""); //$NON-NLS-1$ >- buffer.append(getEscaped(String.valueOf(params.get(key)))); >+ buffer.append(getEscaped(String.valueOf(params.get(keys[i])))); > buffer.append("\""); //$NON-NLS-1$ > } > } >Index: model/org/eclipse/jdt/internal/core/XMLWriter.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/XMLWriter.java,v >retrieving revision 1.8 >diff -u -r1.8 XMLWriter.java >--- model/org/eclipse/jdt/internal/core/XMLWriter.java 5 Sep 2005 11:39:01 -0000 1.8 >+++ model/org/eclipse/jdt/internal/core/XMLWriter.java 9 Jun 2006 10:57:39 -0000 >@@ -11,8 +11,6 @@ > package org.eclipse.jdt.internal.core; > import java.io.PrintWriter; > import java.io.Writer; >-import java.util.Collections; >-import java.util.Enumeration; > import java.util.HashMap; > > import org.eclipse.jdt.core.IJavaProject; >@@ -80,12 +78,15 @@ > sb.append("<"); //$NON-NLS-1$ > sb.append(name); > if (parameters != null) { >- for (Enumeration en = Collections.enumeration(parameters.keySet()); en.hasMoreElements();) { >+ int length = parameters.size(); >+ String[] keys = new String[length]; >+ parameters.keySet().toArray(keys); >+ Util.sort(keys); >+ for (int i = 0; i < length; i++) { > sb.append(" "); //$NON-NLS-1$ >- String key= (String) en.nextElement(); >- sb.append(key); >+ sb.append(keys[i]); > sb.append("=\""); //$NON-NLS-1$ >- sb.append(getEscaped(String.valueOf(parameters.get(key)))); >+ sb.append(getEscaped(String.valueOf(parameters.get(keys[i])))); > sb.append("\""); //$NON-NLS-1$ > } > } >Index: model/org/eclipse/jdt/internal/core/util/Util.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Util.java,v >retrieving revision 1.95 >diff -u -r1.95 Util.java >--- model/org/eclipse/jdt/internal/core/util/Util.java 26 Apr 2006 14:41:03 -0000 1.95 >+++ model/org/eclipse/jdt/internal/core/util/Util.java 9 Jun 2006 10:57:41 -0000 >@@ -45,6 +45,7 @@ > import org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException; > import org.eclipse.jdt.internal.compiler.parser.ScannerHelper; > import org.eclipse.jdt.internal.compiler.util.SuffixConstants; >+import org.eclipse.jdt.internal.core.JavaElement; > import org.eclipse.jdt.internal.core.JavaModelManager; > import org.eclipse.jdt.internal.core.PackageFragmentRoot; > import org.eclipse.jface.text.BadLocationException; >@@ -1950,6 +1951,23 @@ > } > > /** >+ * Sorts an array of Java elements based on their toStringWithAncestors(), >+ * returning a new array with the sorted items. >+ * The original array is left untouched. >+ */ >+ public static IJavaElement[] sortCopy(IJavaElement[] elements) { >+ int len = elements.length; >+ IJavaElement[] copy = new IJavaElement[len]; >+ System.arraycopy(elements, 0, copy, 0, len); >+ sort(copy, new Comparer() { >+ public int compare(Object a, Object b) { >+ return ((JavaElement) a).toStringWithAncestors().compareTo(((JavaElement) b).toStringWithAncestors()); >+ } >+ }); >+ return copy; >+ } >+ >+ /** > * Sorts an array of Strings, returning a new array > * with the sorted items. The original array is left untouched. > */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 146215
: 43972