From michael.mcmahon at sun.com Thu Oct 1 10:27:45 2009 From: michael.mcmahon at sun.com (michael.mcmahon at sun.com) Date: Thu, 01 Oct 2009 10:27:45 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091001102823.8CDE6416F4@hg.openjdk.java.net> Changeset: dd724911c90a Author: michaelm Date: 2009-09-29 10:00 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dd724911c90a 6886108: Test case B4933582 binding to fixed port number Reviewed-by: chegar ! test/java/net/Authenticator/B4933582.java ! test/sun/net/www/httptest/HttpTransaction.java ! test/sun/security/ssl/sun/net/www/httpstest/HttpTransaction.java Changeset: 896cbd9c91f4 Author: michaelm Date: 2009-10-01 11:25 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/896cbd9c91f4 Merge From pravin at zensoftech.co.in Thu Oct 1 13:14:54 2009 From: pravin at zensoftech.co.in (Pravin Jain) Date: Thu, 1 Oct 2009 18:44:54 +0530 Subject: Increaed support for Unicode in Java API Message-ID: Hello all, Currently, the JDK API has a very limited support for the Unicode properties. Mostly what is available is from the Character class's methods like isDigit, getNumericValue, getCategory, etc. These properties are supported by building the CharacterData classes from the UnicodeData.txt files. There are around 89 properties mentioned in the Unicode database. The UCD contains information about all the properties. I wish to start working to build support for these properties, starting with giving priority to Normative properties. I have already built a class from the information available from the UCD.html file to contain the meta-information related to the various Properties. I feel we could start by creating a separate package may be something like java.lang.unicode which would have the required classes for supporting information about the unicode properties. I have also tested a code which could generate enums for the Properties having values of Enumeration type as mentioned in the UCD.html. Any one may please let me know as to how I can start contributing for this. Thanks and regards. Pravin Jain -------------- next part -------------- An HTML attachment was scrubbed... URL: From Ulf.Zibis at gmx.de Thu Oct 1 13:37:21 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 01 Oct 2009 15:37:21 +0200 Subject: Increaed support for Unicode in Java API In-Reply-To: References: Message-ID: <4AC4B091.2020705@gmx.de> I would suggest to start a new project under java.net for this. If it would become widely used and accepted, there is maybe a way to integrate it in JDK. For package I suggest something like java.util.text.unicode. -Ulf Am 01.10.2009 15:14, Pravin Jain schrieb: > Hello all, > Currently, the JDK API has a very limited support for the Unicode > properties. > Mostly what is available is from the Character class's methods like > isDigit, > getNumericValue, getCategory, etc. > These properties are supported by building the CharacterData classes > from the UnicodeData.txt files. There are around 89 properties > mentioned in the Unicode database. The UCD contains > information about all the properties. > I wish to start working to build support for these properties, > starting with giving priority to Normative properties. > I have already built a class from the information available from the > UCD.html file to contain > the meta-information related to the various Properties. > I feel we could start by creating a separate package may be something > like java.lang.unicode > which would have the required classes for supporting information about > the unicode properties. > I have also tested a code which could generate enums for the > Properties having values of Enumeration type as mentioned in the UCD.html. > Any one may please let me know as to how I can start contributing for > this. > Thanks and regards. > Pravin Jain > From Ulf.Zibis at gmx.de Thu Oct 1 13:41:28 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 01 Oct 2009 15:41:28 +0200 Subject: Increaed support for Unicode in Java API In-Reply-To: References: Message-ID: <4AC4B188.8070305@gmx.de> ... did you rekognize the icu4j project? http://icu-project.org/download/4.2.html#ICU4J -Ulf Am 01.10.2009 15:14, Pravin Jain schrieb: > Hello all, > Currently, the JDK API has a very limited support for the Unicode > properties. > Mostly what is available is from the Character class's methods like > isDigit, > getNumericValue, getCategory, etc. > These properties are supported by building the CharacterData classes > from the UnicodeData.txt files. There are around 89 properties > mentioned in the Unicode database. The UCD contains > information about all the properties. > I wish to start working to build support for these properties, > starting with giving priority to Normative properties. > I have already built a class from the information available from the > UCD.html file to contain > the meta-information related to the various Properties. > I feel we could start by creating a separate package may be something > like java.lang.unicode > which would have the required classes for supporting information about > the unicode properties. > I have also tested a code which could generate enums for the > Properties having values of Enumeration type as mentioned in the UCD.html. > Any one may please let me know as to how I can start contributing for > this. > Thanks and regards. > Pravin Jain > From Joe.Darcy at Sun.COM Fri Oct 2 04:23:55 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Thu, 01 Oct 2009 21:23:55 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AB989B7.5030101@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: <4AC5805B.3090902@sun.com> Joe Darcy wrote: > Joe Darcy wrote: >> Stephen Colebourne wrote: >>> Joe Darcy wrote: >>>> What other utility methods would have broad enough use and >>>> applicability to go into a common java.util class? >>> >>> Joe, >>> You've asked for a call for ideas, but not given any indication of >>> process. Are you going to evaluate everything that comes in and pick >>> the best a la Coin? Or allow anyone to send in patches? >> >> Those options are not mutually exclusive; patches are welcome subject >> to the usual terms and conditions. >> >>> Who decides what is in and what is out? >> >> This is a little side project of mine and I wanted to get some >> feedback before preparing a formal change for review, possibly >> including patches from others. >> >> -Joe > > I'm getting caught up after the JVM Languages Summit and will post > some java.util.Objects code for review in the near future. > > -Joe Below is a patch implementing the methods I think should go into java.util.Objects as a first cut: * null safe two-argument equals method * null safe hashCode(Object) returning 0 for null * null safe toString(Object), returning "null" for a null argument * null tolerating compare method; tests if both arguments are == and if not calls compare The need for the last of these in Objects isn't quite as clear. Var-arg-ifying some of the existing methods in Arrays, (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), is probably worthwhile but can be done separately. I wouldn't oppose a toDebugString(Object) method going into the platform somewhere, but I don't think it necessarily belongs in Objects. Further below is the code for an annotation processor which finds candidate equals methods to be replaced with Objects.equals. It found over half a dozen good candidates in the jdk repository. To run the annotation processor, first compile the class and then run it with javac similar to this: javac -proc:only -processor EqualsFinder -processorpath sources -Joe --- old/make/java/java/FILES_java.gmk 2009-10-01 21:04:12.000000000 -0700 +++ new/make/java/java/FILES_java.gmk 2009-10-01 21:04:12.000000000 -0700 @@ -258,6 +258,7 @@ java/util/ServiceConfigurationError.java \ java/util/Timer.java \ java/util/TimerTask.java \ + java/util/Objects.java \ java/util/UUID.java \ java/util/concurrent/AbstractExecutorService.java \ java/util/concurrent/ArrayBlockingQueue.java \ --- /dev/null 2009-08-12 17:12:33.000000000 -0700 +++ new/src/share/classes/java/util/Objects.java 2009-10-01 21:04:13.000000000 -0700 @@ -0,0 +1,96 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.util; + +/** + * This class consists of {@code static} utility methods for operating + * on objects. + */ +public class Objects { + private Objects() { + throw new AssertionError("No java.util.Objects instances for you!"); + } + + /** + * Returns {@code true} if the arguments are equal to each other + * and {@code false} otherwise. + * Consequently, if both arguments are {@code null} {@code true} + * is returned and if exactly one argument is {@code null} {@code + * false} is returned. Otherwise, equality is determined by using + * the {@link Object#equals equals} method of the first + * argument. + * + * @return {@code true} if the arguments are equal to each other + * and {@code false} otherwise + * @see Object#equals(Object) + * @since 1.7 + */ + public static boolean equals(Object a, Object b) { + return (a == b) || (a != null && a.equals(b)); + } + + /** + * Returns the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument. + * + * @return the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument + * @see Object#hashCode + * @since 1.7 + */ + public static int hashCode(Object o) { + return o != null ? o.hashCode() : 0; + } + + /** + * Returns the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument. + * + * @return the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument + * @see Object#toString + * @since 1.7 + */ + public static String toString(Object o) { + return (o != null) ? o.toString() : "null" ; + } + + /** + * Returns 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * Consequently, if both arguments are {@code null} 0 + * is returned. + * + * @return 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * @see Comparable + * @see Comparator + * @since 1.7 + */ + public static int compare(T a, T b, Comparator c) { + return (a == b) ? 0 : c.compare(a, b); + } +} --- /dev/null 2009-08-12 17:12:33.000000000 -0700 +++ new/test/java/util/Objects/BasicObjectsTest.java 2009-10-01 21:04:14.000000000 -0700 @@ -0,0 +1,110 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + + +/* + * @test + * @bug 6797535 + * @summary Basic tests for methods in java.util.Objects + * @author Joseph D. Darcy + */ + +import java.util.*; + +public class BasicObjectsTest { + public static void main(String... args) { + int errors = 0; + errors += testEquals(); + errors += testHashCode(); + errors += testToString(); + errors += testCompare(); + if (errors > 0 ) + throw new RuntimeException(); + } + + private static int testEquals() { + int errors = 0; + Object[] values = {null, "42", 42}; + + for(int i = 0; i < values.length; i++) + for(int j = 0; j < values.length; j++) { + boolean expected = (i == j); + Object a = values[i]; + Object b = values[j]; + boolean result = Objects.equals(a, b); + if (result != expected) { + errors++; + System.err.printf("When equating %s to %s, got %b intead of %b%n.", + a, b, result, expected); + } + } + return errors; + } + + private static int testHashCode() { + int errors = 0; + errors += (Objects.hashCode(null) == 0 ) ? 0 : 1; + String s = "42"; + errors += (Objects.hashCode(s) == s.hashCode() ) ? 0 : 1; + return errors; + } + + private static int testToString() { + int errors = 0; + errors += ("null".equals(Objects.toString(null)) ) ? 0 : 1; + String s = "Some string"; + errors += (s.equals(Objects.toString(s)) ) ? 0 : 1; + return errors; + } + + private static int testCompare() { + int errors = 0; + String[] values = {"e. e. cummings", "zzz"}; + String[] VALUES = {"E. E. Cummings", "ZZZ"}; + + errors += compareTest(null, null, 0); + + for(int i = 0; i < values.length; i++) { + String a = values[i]; + errors += compareTest(a, a, 0); + for(int j = 0; j < VALUES.length; j++) { + int expected = Integer.compare(i, j); + String b = VALUES[j]; + errors += compareTest(a, b, expected); + } + } + return errors; + } + + private static int compareTest(String a, String b, int expected) { + int errors = 0; + int result = Objects.compare(a, b, String.CASE_INSENSITIVE_ORDER); + if (Integer.signum(result) != Integer.signum(expected)) { + errors++; + System.err.printf("When comaping %s to %s, got %d intead of %d%n.", + a, b, result, expected); + + } + return errors; + } +} /* * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * - Neither the name of Sun Microsystems nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ import java.util.Set; import java.util.EnumSet; import javax.annotation.processing.*; import javax.lang.model.SourceVersion; import javax.lang.model.element.*; import javax.lang.model.type.*; import javax.lang.model.util.*; import static javax.lang.model.SourceVersion.*; import static javax.lang.model.element.Modifier.*; import static javax.lang.model.element.ElementKind.*; import static javax.lang.model.type.TypeKind.*; import static javax.lang.model.util.ElementFilter.*; import static javax.tools.Diagnostic.Kind.*; @SupportedAnnotationTypes("*") // Process (check) everything @SupportedSourceVersion(SourceVersion.RELEASE_6) public class EqualsFinder extends AbstractProcessor { private EqualsFinder0 equalsFinder; public EqualsFinder() {super();} @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { if (!roundEnv.processingOver()) { for (Element element : roundEnv.getRootElements() ) equalsFinder.find(element); } return false; // Allow other processors to examine files too. } @Override public void init(ProcessingEnvironment processingEnv) { super.init(processingEnv); equalsFinder = new EqualsFinder0(processingEnv); } private static class EqualsFinder0 { private final Messager messager; private final Elements eltUtils; EqualsScanner equalsScanner = new EqualsScanner(); EqualsFinder0(ProcessingEnvironment processsingEnv) { this.messager = processsingEnv.getMessager(); this.eltUtils = processsingEnv.getElementUtils(); } public void find(Element e) { equalsScanner.scan(e); } /** * Visitor to implement name checks. */ private class EqualsScanner extends ElementScanner6 { /** * Check the name of an executable (method, constructor, * etc.) and its type parameters. */ @Override public Void visitExecutable(ExecutableElement e, Void p) { // Check the name of the executable if (e.getKind() == METHOD) { Name name = e.getSimpleName(); if (name.contentEquals("equals") && e.getModifiers().contains(Modifier.STATIC) && e.getParameters().size() == 2) { messager.printMessage(NOTE, "Possible Objects.equals replacement.", e); eltUtils.printElements(new java.io.OutputStreamWriter(System.out) , e); } } return null; } } } } From weijun.wang at sun.com Fri Oct 2 10:54:24 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Fri, 02 Oct 2009 10:54:24 +0000 Subject: hg: jdk7/tl/jdk: 4 new changesets Message-ID: <20091002105543.1DD344188C@hg.openjdk.java.net> Changeset: 527ad9cbc9cf Author: weijun Date: 2009-10-02 18:44 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/527ad9cbc9cf 6324292: keytool -help is unhelpful Reviewed-by: xuelei, mullan ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/keytool/newhelp.sh Changeset: 56bad48e2810 Author: weijun Date: 2009-10-02 18:47 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/56bad48e2810 6862679: ESC: AD Authentication with user with umlauts fails Reviewed-by: valeriep, mullan ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/KrbAsReq.java ! src/share/classes/sun/security/krb5/PrincipalName.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/krb5/internal/ETypeInfo.java ! src/share/classes/sun/security/krb5/internal/ETypeInfo2.java ! src/share/classes/sun/security/krb5/internal/KRBError.java ! src/share/classes/sun/security/krb5/internal/crypto/Des.java + src/share/classes/sun/security/krb5/internal/util/KerberosString.java ! src/windows/classes/sun/security/krb5/internal/tools/Kinit.java + test/sun/security/krb5/RFC396xTest.java Changeset: a2d24418be6c Author: weijun Date: 2009-10-02 18:49 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a2d24418be6c 6874472: display address lists for tickets in klist tool Reviewed-by: valeriep ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java Changeset: a6046f6e720e Author: weijun Date: 2009-10-02 18:49 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a6046f6e720e 6868579: RFE: jarsigner to support reading password from environment variable Reviewed-by: xuelei, wetmore ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/jarsigner/passtype.sh From Ulf.Zibis at gmx.de Fri Oct 2 11:31:10 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 02 Oct 2009 13:31:10 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC5805B.3090902@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> Message-ID: <4AC5E47E.3010406@gmx.de> Am 02.10.2009 06:23, Joe Darcy schrieb: > > I wouldn't oppose a toDebugString(Object) method going into the > platform somewhere, but I don't think it necessarily belongs in Objects. I suggest new class java.util.Debug to contain this and many other thinkable helper methods useful for developers. > > Further below is the code for an annotation processor which finds > candidate equals methods to be replaced with Objects.equals. It found > over half a dozen good candidates in the jdk repository. To run the > annotation processor, first compile the class and then run it with > javac similar to this: > > javac -proc:only -processor EqualsFinder -processorpath processor> sources > That's very cool. -Ulf From michael.mcmahon at sun.com Fri Oct 2 13:02:10 2009 From: michael.mcmahon at sun.com (michael.mcmahon at sun.com) Date: Fri, 02 Oct 2009 13:02:10 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091002130249.1920A418AE@hg.openjdk.java.net> Changeset: f0fdc4dd97d5 Author: michaelm Date: 2009-10-02 13:57 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f0fdc4dd97d5 6870935: DIGEST proxy authentication fails to connect to URLs with no trailing slash Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java + test/java/net/Authenticator/B6870935.java Changeset: e782a9564eae Author: michaelm Date: 2009-10-02 13:59 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e782a9564eae Merge From jason_mehrens at hotmail.com Fri Oct 2 14:41:28 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Fri, 2 Oct 2009 09:41:28 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC5805B.3090902@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: Joe, > * null safe toString(Object), returning "null" for a null argument Doesn't String.valueOf do the same thing? http://java.sun.com/javase/6/docs/api/java/lang/String.html#valueOf(java.lang.Object) What about a toIdentityString(Object) instead? Some of the nice properties of an identity string is that it is safe to call from multiple threads even on objects that are not thread safe (JComponent), won't deadlock if toString is synchronized (observed in logging), and won't build run away strings (nCopies(Integer.MAX_VALUE, "lookout").toString()). Jason _________________________________________________________________ Hotmail? has ever-growing storage! Don?t worry about storage limits. http://windowslive.com/Tutorial/Hotmail/Storage?ocid=TXT_TAGLM_WL_HM_Tutorial_Storage_062009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From schulz at e-spirit.de Fri Oct 2 08:31:38 2009 From: schulz at e-spirit.de (Schulz, Stefan) Date: Fri, 2 Oct 2009 10:31:38 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC5805B.3090902@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org><4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> Message-ID: <7D2077BFF677D2429DDDEE095D9A48AC1375AA4B@osiris2.e-spirit.de> > Joe Darcy wrote: > * null safe two-argument equals method > > + public static boolean equals(Object a, Object b) { > + return (a == b) || (a != null && a.equals(b)); > + } While I agree this being helpful, as I earlier stated, it would be nice to have a (additional?) method that takes arrays into account as well, as equals() only does an identity check on arrays. In the current situation, one has to check for arrays before using either equals() or Arrays.deepEquals(), which makes Object.equals() pointless as identity and null-check are already done. Thanks, Stefan From tim.bell at sun.com Fri Oct 2 15:53:10 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 02 Oct 2009 15:53:10 +0000 Subject: hg: jdk7/tl/jdk: 6787605: OpenSolaris doesn't have /usr/ucb/ps so ShellScaffold fails Message-ID: <20091002155331.1EB39418DD@hg.openjdk.java.net> Changeset: 9fcca0aae3da Author: tbell Date: 2009-10-02 08:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9fcca0aae3da 6787605: OpenSolaris doesn't have /usr/ucb/ps so ShellScaffold fails Reviewed-by: dcubed ! test/com/sun/jdi/ShellScaffold.sh From Joe.Darcy at Sun.COM Fri Oct 2 17:49:36 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 02 Oct 2009 10:49:36 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: <4AC63D30.90700@sun.com> Jason Mehrens wrote: > Joe, > > > * null safe toString(Object), returning "null" for a null argument > > Doesn't String.valueOf do the same thing? > http://java.sun.com/javase/6/docs/api/java/lang/String.html#valueOf(java.lang.Object > ) Indeed it does! I'll replace the implementation with a call to String.valueOf and update the javadoc accordingly. Thanks for spotting this. > > What about a toIdentityString(Object) instead? Some of the nice > properties of an identity string is that it is safe to By toIdentityString, do you mean the String that would be returned by toString if toString is not overridden? -Joe > call from multiple threads even on objects that are not thread safe > (JComponent), won't deadlock if toString is synchronized (observed in > logging), and won't build run away strings (nCopies(Integer.MAX_VALUE, > "lookout").toString()). > > Jason > > ------------------------------------------------------------------------ > Hotmail? has ever-growing storage! Don?t worry about storage limits. > Check it out. > From jason_mehrens at hotmail.com Fri Oct 2 18:26:08 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Fri, 2 Oct 2009 13:26:08 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC63D30.90700@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: > By toIdentityString, do you mean the String that would be returned by > toString if toString is not overridden? > > -Joe Yep. As in: return o != null ? o.getClass().getName() +'@'+ Integer.toHexString(System.identityHashCode(o)) : "null"; I suppose the name should be identityToString to match System.identityHashCode??? Jason _________________________________________________________________ Insert movie times and more without leaving Hotmail?. http://windowslive.com/Tutorial/Hotmail/QuickAdd?ocid=TXT_TAGLM_WL_HM_Tutorial_QuickAdd_062009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Fri Oct 2 20:26:09 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Fri, 02 Oct 2009 13:26:09 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: <4AC661E1.7010304@sun.com> Jason Mehrens wrote: > > By toIdentityString, do you mean the String that would be returned by > > toString if toString is not overridden? > > > > -Joe > > Yep. As in: > > return o != null ? o.getClass().getName() +'@' + > Integer.toHexString(System.identityHashCode(o)) : "null"; > > I suppose the name should be identityToString to match > System.identityHashCode??? > > Jason I think a better name would be "defaultToString" since it is the default toString from Object. However, I haven't ever heard anyone else request easier access to the default toString before so I'm not convinced this should go into Objects. -Joe From jason_mehrens at hotmail.com Fri Oct 2 22:14:35 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Fri, 2 Oct 2009 17:14:35 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC661E1.7010304@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> Message-ID: > I think a better name would be "defaultToString" since it is the default > toString from Object. However, I haven't ever heard anyone else request > easier access to the default toString before so I'm not convinced this > should go into Objects. > > -Joe One use case is implementing toString for identity maps and collections. The current IdentityHashMap is immune to poison objects except for its toString implementation. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6579224 Another point of confusion is that the toString does not match what is going on in equals. Take the following code: public static void main(String[] args) { Map dis = new IdentityHashMap(one()); Map dat = new IdentityHashMap(one()); System.out.println(dis.equals(dat)); System.out.println(dis.toString().equals(dat.toString())); } private static Map one() { Integer kv = new Integer(256); return Collections.singletonMap(kv, kv); } It prints false and then true. If defaultToString was used on the key/value pairs it would print false and then false making it clear why the two maps are not equal. Something to consider if a new reference map or identity map is added to the JDK (jsr166/extra166y). Jason _________________________________________________________________ Hotmail: Free, trusted and rich email service. http://clk.atdmt.com/GBL/go/171222984/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbenedict at apache.org Sun Oct 4 04:43:58 2009 From: pbenedict at apache.org (Paul Benedict) Date: Sat, 3 Oct 2009 23:43:58 -0500 Subject: JSR-292: Why not java.lang.dyn? Message-ID: I've always found it a bit perplexing that java.lang was never chosen for the parent package of the Dynamic API. Why is that? Dynamic types are now "part of the language" as proven by spec itself and exotic identifiers. Will this be reconsidered? Paul From Mandy.Chung at Sun.COM Sun Oct 4 06:03:51 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Sat, 03 Oct 2009 23:03:51 -0700 Subject: Review request for 6612680 (Remove classloader dependency on jkernel) Message-ID: <4AC83AC7.60402@sun.com> Alan, Karen, Can you review the fix for: 6612680: Remove classloader dependency on jkernel Webrev at: http://cr.openjdk.java.net/~mchung/6612680/ java.lang.ClassLoader and sun.misc.Launcher have explicit dependencies on the jkernel code. While the performance impact of this is minimal (the calls basically amount to nops when the JRE is complete), it's still undesirable. To eliminate the static dependency on jkernel, this adds a boot classloader hook interface that is invoked in the ClassLoader findClass, getSystemResource, and other methods. The hook is null by default. The jkernel VM will call the static DownloadManager.setBootClassLoaderHook() method and only the jkernel environment will have a non-null boot class loader hook. Since jkernel is a separate build including the bundles and VM, as we discussed, the jkernel VM is a reasonable place to inject the DownloadManager as the boot class loader hook. I'm hoping to make TL b74 which is code freeze by 10 pm PT Monday. Thanks Mandy From Christian.Thalinger at Sun.COM Sun Oct 4 09:39:14 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Sun, 04 Oct 2009 11:39:14 +0200 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: References: Message-ID: <1254649154.1535.13.camel@macbook> On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: > I've always found it a bit perplexing that java.lang was never chosen > for the parent package of the Dynamic API. Why is that? Dynamic types > are now "part of the language" as proven by spec itself and exotic > identifiers. Will this be reconsidered? [I'm forwarding this question to mlvm-dev.] I think John Rose or another member of the EG should have an answer to this. -- Christian From forax at univ-mlv.fr Sun Oct 4 11:34:18 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sun, 04 Oct 2009 13:34:18 +0200 Subject: Review request for 6612680 (Remove classloader dependency on jkernel) In-Reply-To: <4AC83AC7.60402@sun.com> References: <4AC83AC7.60402@sun.com> Message-ID: <4AC8883A.5030409@univ-mlv.fr> Le 04/10/2009 08:03, Mandy Chung a ?crit : > Alan, Karen, > > Can you review the fix for: > 6612680: Remove classloader dependency on jkernel > > Webrev at: > http://cr.openjdk.java.net/~mchung/6612680/ > > java.lang.ClassLoader and sun.misc.Launcher have explicit dependencies > on the jkernel code. While the performance impact of this is minimal > (the calls basically amount to nops when the JRE is complete), it's > still undesirable. > > To eliminate the static dependency on jkernel, this adds a boot > classloader hook interface that is invoked in the ClassLoader > findClass, getSystemResource, and other methods. The hook is null by > default. The jkernel VM will call the static > DownloadManager.setBootClassLoaderHook() method and only the jkernel > environment will have a non-null boot class loader hook. Since > jkernel is a separate build including the bundles and VM, as we > discussed, the jkernel VM is a reasonable place to inject the > DownloadManager as the boot class loader hook. > > I'm hoping to make TL b74 which is code freeze by 10 pm PT Monday. > > Thanks > Mandy > A small comment, it seems that DownloadManager.instance is never read. cheers, R?mi From forax at univ-mlv.fr Sun Oct 4 11:40:56 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sun, 04 Oct 2009 13:40:56 +0200 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <1254649154.1535.13.camel@macbook> References: <1254649154.1535.13.camel@macbook> Message-ID: <4AC889C8.5070208@univ-mlv.fr> Le 04/10/2009 11:39, Christian Thalinger a ?crit : > On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: > >> I've always found it a bit perplexing that java.lang was never chosen >> for the parent package of the Dynamic API. Why is that? Dynamic types >> are now "part of the language" as proven by spec itself and exotic >> identifiers. Will this be reconsidered? >> > [I'm forwarding this question to mlvm-dev.] > > I think John Rose or another member of the EG should have an answer to > this. > > -- Christian > > java.lang => Java the language (not the platform) Exotic identifiers and MethodHandle.invoke calling rules in Java (the language) are not part of the JSR292 spec. JSR 292 => method handle API for any (dynamic?) language So why java.dyn API should be a 'part' of java.lang ? R?mi From pbenedict at apache.org Sun Oct 4 17:11:25 2009 From: pbenedict at apache.org (Paul Benedict) Date: Sun, 4 Oct 2009 12:11:25 -0500 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <4AC889C8.5070208@univ-mlv.fr> References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> Message-ID: I thought the language was being modified to make Dynamic<> exempt from type-checking rules. The way I look at it, grammar is the underpinnings of language. To "read the grammar" is analogous to "compiling the source" -- both are about making sense of tokens. With the introduction of Dynamic<>, I have to amend my understanding of the grammar to no longer perform type-checking rules. Hence, this is a language issue. Did I misunderstand? Paul On Sun, Oct 4, 2009 at 6:40 AM, R?mi Forax wrote: > Le 04/10/2009 11:39, Christian Thalinger a ?crit : >> >> On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: >> >>> >>> I've always found it a bit perplexing that java.lang was never chosen >>> for the parent package of the Dynamic API. Why is that? Dynamic types >>> are now "part of the language" as proven by spec itself and exotic >>> identifiers. Will this be reconsidered? >>> >> >> [I'm forwarding this question to mlvm-dev.] >> >> I think John Rose or another member of the EG should have an answer to >> this. >> >> -- Christian >> >> > > java.lang => Java the language (not the platform) > > Exotic identifiers and MethodHandle.invoke calling rules in Java (the > language) > are not part of the JSR292 spec. > JSR 292 => method handle API for any (dynamic?) language > > So why java.dyn API should be a 'part' of java.lang ? > > R?mi > From forax at univ-mlv.fr Sun Oct 4 18:48:28 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sun, 04 Oct 2009 20:48:28 +0200 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> Message-ID: <4AC8EDFC.6060801@univ-mlv.fr> Le 04/10/2009 19:11, Paul Benedict a ?crit : > I thought the language was being modified to make Dynamic<> exempt > from type-checking rules. In fact, this is InvokeDynamic.invoke() and MethodHandle.invoke() that allow you to escape the type-checking rules. > The way I look at it, grammar is the > underpinnings of language. To "read the grammar" is analogous to > "compiling the source" -- both are about making sense of tokens. I think you forget 'infer the semantics' somewhere. > With > the introduction of Dynamic<>, I have to amend my understanding of the > grammar to no longer perform type-checking rules. Hence, this is a > language issue. > > Did I misunderstand? > > Paul > There is two specifications : One is about bringing invokedynamic to the VM, the JSR292 spec. This spec doesn't require any change to the JLS, only change to the JVMS. The other spec is how to allow Java (the language) to use the invokedynamic/method handle stuff. Clearly this requires changes of the JLS. see http://wikis.sun.com/display/mlvm/ProjectCoinProposal R?mi From pbenedict at apache.org Mon Oct 5 00:27:58 2009 From: pbenedict at apache.org (Paul Benedict) Date: Sun, 4 Oct 2009 19:27:58 -0500 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> Message-ID: Stepan, That is a very good observation. I wonder what others have to say about it? As you pointed out, there are other java.lang.* sub-packages that have no impact on the Java language. I am in agreement that java.dyn is closer to the language than not -- hence I think java.lang.dyn is natural. Paul On Sun, Oct 4, 2009 at 6:34 PM, Stepan Koltsov wrote: > On Sun, Oct 4, 2009 at 15:40, R?mi Forax wrote: >> Le 04/10/2009 11:39, Christian Thalinger a ?crit : >>> On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: >>> >>>> I've always found it a bit perplexing that java.lang was never chosen >>>> for the parent package of the Dynamic API. Why is that? Dynamic types >>>> are now "part of the language" as proven by spec itself and exotic >>>> identifiers. Will this be reconsidered? >>>> >>> [I'm forwarding this question to mlvm-dev.] >>> >>> I think John Rose or another member of the EG should have an answer to >>> this. >>> >>> -- Christian >>> >>> >> >> java.lang => Java the language (not the platform) >> >> Exotic identifiers and MethodHandle.invoke calling rules in Java (the >> language) >> are not part of the JSR292 spec. >> JSR 292 => method handle API for any (dynamic?) language >> >> So why java.dyn API should be a 'part' of java.lang ? > > java.lang.reflect also deals with JVM objects, not Java language. But > it still java.lang.reflect, not java.reflect. > > java.lang.Class is also closer to JVM then to the java language. > > java.lang has lots of JVM stuff. > > I also think, that package name should be java.lang.dyc, although it > is not absolutely correct. > > "java" root package has lots of libraries (java.io, java.sql), and > these libraries should not be mixed with JVM interface. > > If you think java.lang.dyn is inappropriate, then java.vm.dyn is > better, because next JVM interface (what ever it will be) can be > placed into java.vm package too and won't be lost among all java.* > stuff. > > S. > From yozh at mx1.ru Sun Oct 4 23:34:31 2009 From: yozh at mx1.ru (Stepan Koltsov) Date: Mon, 5 Oct 2009 03:34:31 +0400 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <4AC889C8.5070208@univ-mlv.fr> References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> Message-ID: <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> On Sun, Oct 4, 2009 at 15:40, R?mi Forax wrote: > Le 04/10/2009 11:39, Christian Thalinger a ?crit : >> On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: >> >>> I've always found it a bit perplexing that java.lang was never chosen >>> for the parent package of the Dynamic API. Why is that? Dynamic types >>> are now "part of the language" as proven by spec itself and exotic >>> identifiers. Will this be reconsidered? >>> >> [I'm forwarding this question to mlvm-dev.] >> >> I think John Rose or another member of the EG should have an answer to >> this. >> >> -- Christian >> >> > > java.lang => Java the language (not the platform) > > Exotic identifiers and MethodHandle.invoke calling rules in Java (the > language) > are not part of the JSR292 spec. > JSR 292 => method handle API for any (dynamic?) language > > So why java.dyn API should be a 'part' of java.lang ? java.lang.reflect also deals with JVM objects, not Java language. But it still java.lang.reflect, not java.reflect. java.lang.Class is also closer to JVM then to the java language. java.lang has lots of JVM stuff. I also think, that package name should be java.lang.dyc, although it is not absolutely correct. "java" root package has lots of libraries (java.io, java.sql), and these libraries should not be mixed with JVM interface. If you think java.lang.dyn is inappropriate, then java.vm.dyn is better, because next JVM interface (what ever it will be) can be placed into java.vm package too and won't be lost among all java.* stuff. S. From pravin at zensoftech.co.in Mon Oct 5 08:37:45 2009 From: pravin at zensoftech.co.in (Pravin Jain) Date: Mon, 5 Oct 2009 14:07:45 +0530 Subject: 6609441 : Ch] Enumerated types for general category and directionality in Character class Message-ID: Hello All, I would like to work on this RFE. This change is quite simple and gives greater value to the Character class. The change can be done without breaking any existing code by adding the following enums in the Character class. /** * An enum for all the GeneralCategory values. The ordinal values for these enums are compatible with the * corresponding byte values as returned by the getType method. * @since 1.7 */ public enum GeneralCategory { /** * General category "Cn" in the Unicode specification. * @since 1.7 */ UNASSIGNED("Cn"),// = 0; /** * General category "Lu" in the Unicode specification. * @since 1.7 */ UPPERCASE_LETTER("Lu"),// = 1; /** * General category "Ll" in the Unicode specification. * @since 1.7 */ LOWERCASE_LETTER("Ll"),// = 2; /** * General category "Lt" in the Unicode specification. * @since 1.7 */ TITLECASE_LETTER("Lt"),// = 3; /** * General category "Lm" in the Unicode specification. * @since 1.7 */ MODIFIER_LETTER("Lm"),// = 4; /** * General category "Lo" in the Unicode specification. * @since 1.7 */ OTHER_LETTER("Lo"),// = 5; /** * General category "Mn" in the Unicode specification. * @since 1.7 */ NON_SPACING_MARK("Mn"),// = 6; /** * General category "Me" in the Unicode specification. * @since 1.7 */ ENCLOSING_MARK("Me"),// = 7; /** * General category "Mc" in the Unicode specification. * @since 1.7 */ COMBINING_SPACING_MARK("Mc"),// = 8; /** * General category "Nd" in the Unicode specification. * @since 1.7 */ DECIMAL_DIGIT_NUMBER("Nd"),// = 9; /** * General category "Nl" in the Unicode specification. * @since 1.7 */ LETTER_NUMBER("Nl"),// = 10; /** * General category "No" in the Unicode specification. * @since 1.7 */ OTHER_NUMBER("No"),// = 11; /** * General category "Zs" in the Unicode specification. * @since 1.7 */ SPACE_SEPARATOR("Zs"),// = 12; /** * General category "Zl" in the Unicode specification. * @since 1.7 */ LINE_SEPARATOR("Zl"),// = 13; /** * General category "Zp" in the Unicode specification. * @since 1.7 */ PARAGRAPH_SEPARATOR("Zp"),// = 14; /** * General category "Cc" in the Unicode specification. * @since 1.7 */ CONTROL("Cc"),// = 15; /** * General category "Cf" in the Unicode specification. * @since 1.7 */ FORMAT("Cf"),// = 16; /** * Filler * @since 1.7 */ UNKNOWN(null),// = 17; /** * General category "Co" in the Unicode specification. * @since 1.7 */ PRIVATE_USE("Co"),// = 18; /** * General category "Cs" in the Unicode specification. * @since 1.7 */ SURROGATE("Cs"),// = 19; /** * General category "Pd" in the Unicode specification. * @since 1.7 */ DASH_PUNCTUATION("Pd"),// = 20; /** * General category "Ps" in the Unicode specification. * @since 1.7 */ START_PUNCTUATION("Ps"),// = 21; /** * General category "Pe" in the Unicode specification. * @since 1.7 */ END_PUNCTUATION("Pe"),// = 22; /** * General category "Pc" in the Unicode specification. * @since 1.7 */ CONNECTOR_PUNCTUATION("Pc"),// = 23; /** * General category "Po" in the Unicode specification. * @since 1.7 */ OTHER_PUNCTUATION("Po"),// = 24; /** * General category "Sm" in the Unicode specification. * @since 1.7 */ MATH_SYMBOL("Sm"),// = 25; /** * General category "Sc" in the Unicode specification. * @since 1.7 */ CURRENCY_SYMBOL("Sc"),// = 26; /** * General category "Sk" in the Unicode specification. * @since 1.7 */ MODIFIER_SYMBOL("Sk"),// = 27; /** * General category "So" in the Unicode specification. * @since 1.7 */ OTHER_SYMBOL("So"),// = 28; /** * General category "Pi" in the Unicode specification. * @since 1.7 */ INITIAL_QUOTE_PUNCTUATION("Pi"),// = 29; /** * General category "Pf" in the Unicode specification. * @since 1.7 */ FINAL_QUOTE_PUNCTUATION("Pf"),// = 30; ; /** * The abbreviated name of the general category as available from the UCD. * */ private String abbreviatedName; /** * The constructor requires the abbreviated name as parameter * @param abbrName - abreviated Name for the general category * */ private GeneralCategory(String abbrName) { this.abbreviatedName = abbrName; } /** * This method returns the abbreviated name for the general category represented by this instance. * @return - abbreviated name for the general category. */ public String getAbbreviatedName() { return abbreviatedName; } } /** * An enum for all the Directionality values. The ordinal values for these enums are compatible with the * corresponding byte values as returned by the getDirectionality method. */ public enum Directionality { /** * Strong bidirectional character type "L" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_LEFT_TO_RIGHT("L"),// = 0; /** * Strong bidirectional character type "R" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_RIGHT_TO_LEFT("R"),// = 1; /** * Strong bidirectional character type "AL" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC("AL"),// = 2; /** * Weak bidirectional character type "EN" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_EUROPEAN_NUMBER("EN"),// = 3; /** * Weak bidirectional character type "ES" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR("ES"),// = 4; /** * Weak bidirectional character type "ET" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR("ET"),// = 5; /** * Weak bidirectional character type "AN" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_ARABIC_NUMBER("AN"),// = 6; /** * Weak bidirectional character type "CS" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_COMMON_NUMBER_SEPARATOR("CS"),// = 7; /** * Weak bidirectional character type "NSM" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_NONSPACING_MARK("NSM"),// = 8; /** * Weak bidirectional character type "BN" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_BOUNDARY_NEUTRAL("BN"),// = 9; /** * Neutral bidirectional character type "B" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_PARAGRAPH_SEPARATOR("B"),// = 10; /** * Neutral bidirectional character type "S" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_SEGMENT_SEPARATOR("S"),// = 11; /** * Neutral bidirectional character type "WS" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_WHITESPACE("WS"),// = 12; /** * Neutral bidirectional character type "ON" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_OTHER_NEUTRALS("ON"),// = 13; /** * Strong bidirectional character type "LRE" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING("LRE"),// = 14; /** * Strong bidirectional character type "LRO" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE("LRO"),// = 15; /** * Strong bidirectional character type "RLE" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING("RLE"),// = 16; /** * Strong bidirectional character type "RLO" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE("RLO"),// = 17; /** * Weak bidirectional character type "PDF" in the Unicode specification. * @since 1.4 */ DIRECTIONALITY_POP_DIRECTIONAL_FORMAT("PDF"),// = 18; ; /** * The abbreviated name of the general category as available from the UCD. * */ private String abbreviatedName; /** * The constructor requires the abbreviated name as parameter * @param abbrName - abreviated Name for the directionality * */ private Directionality(String abbrName) { this.abbreviatedName = abbrName; } /** * This method returns the abbreviated name for the directionality represented by this instance. * @return - abbreviated name for the directionality. */ public String getAbbreviatedName() { return abbreviatedName; } } Also the following methods can be added /** * * @ returns - The general category for the unicode code point */ public static GeneralCategory getGeneralCategory(int codePoint) { return GeneralCategory.values()[getType(codePoint)]; } /** * * @ returns - The directionality for the unicode code point */ public static Directionality getDirectionalityOf(int codePoint) { return Directionality.values()[getDirectionality(codePoint)]; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From i30817 at gmail.com Mon Oct 5 13:49:34 2009 From: i30817 at gmail.com (Paulo Levi) Date: Mon, 5 Oct 2009 14:49:34 +0100 Subject: New methods in jdk7 Message-ID: <212322090910050649x2c696a47v83346908cc0ce564@mail.gmail.com> Since i heard you were looking for suggestions, i think i might have a useful one that i think is impossible nowadays without native code. public void restart(); At first i thought it could be simulated just by calling the main class again in a shutdown hook, but i don't think all the static state is destroyed then. ProcessBuilder shenanigans wouldn't work, because when the parent jvm dies the child must too right? From Alan.Bateman at Sun.COM Mon Oct 5 14:24:41 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 05 Oct 2009 15:24:41 +0100 Subject: Review request for 6612680 (Remove classloader dependency on jkernel) In-Reply-To: <4AC83AC7.60402@sun.com> References: <4AC83AC7.60402@sun.com> Message-ID: <4ACA01A9.6000707@sun.com> Mandy Chung wrote: > Alan, Karen, > > Can you review the fix for: > 6612680: Remove classloader dependency on jkernel > > Webrev at: > http://cr.openjdk.java.net/~mchung/6612680/ > > java.lang.ClassLoader and sun.misc.Launcher have explicit dependencies > on the jkernel code. While the performance impact of this is minimal > (the calls basically amount to nops when the JRE is complete), it's > still undesirable. > > To eliminate the static dependency on jkernel, this adds a boot > classloader hook interface that is invoked in the ClassLoader > findClass, getSystemResource, and other methods. The hook is null by > default. The jkernel VM will call the static > DownloadManager.setBootClassLoaderHook() method and only the jkernel > environment will have a non-null boot class loader hook. Since > jkernel is a separate build including the bundles and VM, as we > discussed, the jkernel VM is a reasonable place to inject the > DownloadManager as the boot class loader hook. > > I'm hoping to make TL b74 which is code freeze by 10 pm PT Monday. Good to see this dependency going away. A couple of comments: - In thread.cpp, do you need to check if klass is NULL (sun.jkernel.DownloadManager not present). - In thread.cpp, you set the hook after the system classes have been initialized. Do I have this right? (looks like you double check in setHook). You might want to check with the deployment folks to make sure that they understand the implications of this - for example it might have change the contents of the core bundle. - Do these changes mean we can remove sun.misc.VM.isBootedKernelVM? - Is the removal of CLASSDESTDIR from make/sun/jkernel/Makefile related or just clean-up (as it doesn't seem to be used)? Minor nit but you've add a blank line at line 46. - ZipEntry: the idea that a class loader hook overrides the zip file time is a bit strange. I see you have a few FIXME comments in the code to revisit but maybe for this push it might be neater to just have BootClassLoaderHook define a isCurrentThreadPrefetching or some such method that returns a boolean to indicate if the current thread is fetching and if so, set it to some pre-defined value (I don't know if there is any significance to the value of KERNEL_STATIC_MODTIME). - In ICC_Profile would it be neater to do: BootClassLoaderHook hook = BootClassLoaderHook.getHook(); if (hook != null) hook.prefetchFile(...) - Minor nit but you've added a few blank lines to DownloadManager. - I agree with R?mi comment that DownloadManager.instance doesn't seem to be needed. - In BootClassLoaderHook's class description they may be a typo - I think you meant to say "into the bootstrap class loader". Also, I assume you meant to say "In other JDK builds ...". Otherwise, I think this is okay. I'll do another pass on it today as I know you want to get this over the finish line by tonight. -Alan. From alan.bateman at sun.com Mon Oct 5 15:48:16 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 05 Oct 2009 15:48:16 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091005154935.32CCA41D84@hg.openjdk.java.net> Changeset: 97f17e6d0560 Author: alanb Date: 2009-10-04 15:42 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/97f17e6d0560 6884800: (file) Path.newInputStream does not usefully implement available() Reviewed-by: martin, chegar ! src/share/classes/sun/nio/ch/ChannelInputStream.java ! test/java/nio/channels/Channels/Basic.java Changeset: a4f31836660a Author: alanb Date: 2009-10-05 16:45 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a4f31836660a 6854954: Eliminate static dependency on java.awt.AWTPermission Reviewed-by: mullan, mchung, anthony ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/MouseInfo.java ! src/share/classes/java/awt/Robot.java ! src/share/classes/java/awt/SystemTray.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/javax/swing/JPopupMenu.java + src/share/classes/sun/awt/AWTPermissionFactory.java ! src/share/classes/sun/security/provider/PolicyFile.java + src/share/classes/sun/security/util/PermissionFactory.java ! src/share/classes/sun/security/util/SecurityConstants.java From benjamin.john.evans at googlemail.com Mon Oct 5 18:01:57 2009 From: benjamin.john.evans at googlemail.com (Ben Evans) Date: Mon, 5 Oct 2009 19:01:57 +0100 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> Message-ID: <38a53eb30910051101n1cd69750r99455ec8dfc5a6b9@mail.gmail.com> I think this is somewhat of a red herring. After all, there are many classes which live in java.lang which are fundamental to the operation of the platform, and which any language which lived on top of the VM would have an intimate relationship with (eg Object, Class, String, etc). If we are moving to a point of view in which the Java language is not central to the platform, but rather first among equals (by removing all direct dependencies of the JVM spec on the JLS, etc), then in an ideal world these classes would live in java.core or java.platform or something. That would of course break the whole world, so is clearly not going to happen. The best we can do is not make the situation worse for future amendments, by not placing additional classes which are not specific to the Java language into java.lang. I am puzzled, however, by your assertion that dynamic invocation is closer to the language than 'not', ie closer to the language than the platform. Non-Java languages have been making use (and shipping support for, in some cases) of dynamic invocation for quite a few months now. The experience of those language's implementors has been integral to the development process of this feature. The Java language has been playing catch-up throughout. It's fantastic that it's in the JLS now and I look forward to seeing some first-class implementations of it, but this feature really wasn't crafted with Java as the pre-eminent use case. Ben On Mon, Oct 5, 2009 at 1:27 AM, Paul Benedict wrote: > Stepan, > > That is a very good observation. I wonder what others have to say > about it? As you pointed out, there are other java.lang.* sub-packages > that have no impact on the Java language. > > I am in agreement that java.dyn is closer to the language than not -- > hence I think java.lang.dyn is natural. > > Paul > > On Sun, Oct 4, 2009 at 6:34 PM, Stepan Koltsov wrote: > > On Sun, Oct 4, 2009 at 15:40, R?mi Forax wrote: > >> Le 04/10/2009 11:39, Christian Thalinger a ?crit : > >>> On Sat, 2009-10-03 at 23:43 -0500, Paul Benedict wrote: > >>> > >>>> I've always found it a bit perplexing that java.lang was never chosen > >>>> for the parent package of the Dynamic API. Why is that? Dynamic types > >>>> are now "part of the language" as proven by spec itself and exotic > >>>> identifiers. Will this be reconsidered? > >>>> > >>> [I'm forwarding this question to mlvm-dev.] > >>> > >>> I think John Rose or another member of the EG should have an answer to > >>> this. > >>> > >>> -- Christian > >>> > >>> > >> > >> java.lang => Java the language (not the platform) > >> > >> Exotic identifiers and MethodHandle.invoke calling rules in Java (the > >> language) > >> are not part of the JSR292 spec. > >> JSR 292 => method handle API for any (dynamic?) language > >> > >> So why java.dyn API should be a 'part' of java.lang ? > > > > java.lang.reflect also deals with JVM objects, not Java language. But > > it still java.lang.reflect, not java.reflect. > > > > java.lang.Class is also closer to JVM then to the java language. > > > > java.lang has lots of JVM stuff. > > > > I also think, that package name should be java.lang.dyc, although it > > is not absolutely correct. > > > > "java" root package has lots of libraries (java.io, java.sql), and > > these libraries should not be mixed with JVM interface. > > > > If you think java.lang.dyn is inappropriate, then java.vm.dyn is > > better, because next JVM interface (what ever it will be) can be > > placed into java.vm package too and won't be lost among all java.* > > stuff. > > > > S. > > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From quintin at last.za.net Mon Oct 5 21:10:35 2009 From: quintin at last.za.net (Quintin Beukes) Date: Mon, 5 Oct 2009 23:10:35 +0200 Subject: New Methods/Features in JDK7 Message-ID: <1f3854d50910051410i341732aftd2d452c44537d6f8@mail.gmail.com> Hey, Are there any current listings of new language features/broad API changes so far in OpenJDK7. I understand they might not be permanent, and could change in a wink, though I'm curious to see what could possibly be in the next Java. Quintin Beukes From Joe.Darcy at Sun.COM Mon Oct 5 22:12:38 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 05 Oct 2009 15:12:38 -0700 Subject: New Methods/Features in JDK7 In-Reply-To: <1f3854d50910051410i341732aftd2d452c44537d6f8@mail.gmail.com> References: <1f3854d50910051410i341732aftd2d452c44537d6f8@mail.gmail.com> Message-ID: <4ACA6F56.3000408@sun.com> Quintin Beukes wrote: > Hey, > > Are there any current listings of new language features/broad API > changes so far in OpenJDK7. I understand they might not be permanent, > and could change in a wink, though I'm curious to see what could > possibly be in the next Java. > > Quintin Beukes > http://openjdk.java.net/projects/jdk7/features/ -Joe From martinrb at google.com Mon Oct 5 22:14:11 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 5 Oct 2009 15:14:11 -0700 Subject: New methods in jdk7 In-Reply-To: <212322090910050649x2c696a47v83346908cc0ce564@mail.gmail.com> References: <212322090910050649x2c696a47v83346908cc0ce564@mail.gmail.com> Message-ID: <1ccfd1c10910051514y27117fb9ic61e8d2786636c0f@mail.gmail.com> On Mon, Oct 5, 2009 at 06:49, Paulo Levi wrote: > ProcessBuilder shenanigans wouldn't work, because when the parent jvm > dies the child must too right? There's no reason why the child should not be able to outlive the parent. The child will get end of file on the pipes connected to the parent, but the new ProcessBuilder I/O redirection API in jdk7 evades that as well. Martin From martinrb at google.com Mon Oct 5 22:16:56 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 5 Oct 2009 15:16:56 -0700 Subject: New Methods/Features in JDK7 In-Reply-To: <1f3854d50910051410i341732aftd2d452c44537d6f8@mail.gmail.com> References: <1f3854d50910051410i341732aftd2d452c44537d6f8@mail.gmail.com> Message-ID: <1ccfd1c10910051516x5555b909yb4cc234c9aa258bc@mail.gmail.com> Unofficial: http://tech.puredanger.com/java7 On Mon, Oct 5, 2009 at 14:10, Quintin Beukes wrote: > Hey, > > Are there any current listings of new language features/broad API > changes so far in OpenJDK7. I understand they might not be permanent, > and could change in a wink, though I'm curious to see what could > possibly be in the next Java. > > Quintin Beukes > From vincent.ryan at sun.com Mon Oct 5 22:41:35 2009 From: vincent.ryan at sun.com (vincent.ryan at sun.com) Date: Mon, 05 Oct 2009 22:41:35 +0000 Subject: hg: jdk7/tl/jdk: 6885204: JSSE should not require Kerberos to be present Message-ID: <20091005224206.008D641DF9@hg.openjdk.java.net> Changeset: 54118c8e0ebe Author: vinnie Date: 2009-10-05 23:42 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/54118c8e0ebe 6885204: JSSE should not require Kerberos to be present Reviewed-by: wetmore, alanb ! src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/JsseJce.java From Mandy.Chung at Sun.COM Mon Oct 5 23:39:20 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Mon, 05 Oct 2009 16:39:20 -0700 Subject: Review request for 6612680 (Remove classloader dependency on jkernel) In-Reply-To: <4ACA01A9.6000707@sun.com> References: <4AC83AC7.60402@sun.com> <4ACA01A9.6000707@sun.com> Message-ID: <4ACA83A8.7040000@sun.com> Alan, R?mi, Thanks for the review. The revised webrev is at: http://cr.openjdk.java.net/~mchung/6612680/jdk-webrev.01/ http://cr.openjdk.java.net/~mchung/6612680/hotspot-webrev.01/ Alan Bateman wrote: > Good to see this dependency going away. A couple of comments: > > - In thread.cpp, do you need to check if klass is NULL > (sun.jkernel.DownloadManager not present). > Yes, we need that so that jkernel VM can run with other JDKs with no DownloadManager. Thanks for catching it. > - In thread.cpp, you set the hook after the system classes have been > initialized. Do I have this right? (looks like you double check in > setHook). You might want to check with the deployment folks to make > sure that they understand the implications of this - for example it > might have change the contents of the core bundle. Yes. I set the hook after the system classes have been initialized. I added the check in the setHook() method to catch if a new hook would be added in the future before the system is initialized. > > - Do these changes mean we can remove sun.misc.VM.isBootedKernelVM? > I clean that up. We no longer need this method that was put as a workaround. > - Is the removal of CLASSDESTDIR from make/sun/jkernel/Makefile > related or just clean-up (as it doesn't seem to be used)? Minor nit > but you've add a blank line at line 46. This is to fix the jdk and deploy build failure when we eliminate the dependency to jkernel. If the sun.jkernel.* classes were built in the tmp directory, javah fail to find the sun.jkernel.* classes to generate the .h files. Usually we only set CLASSDESTDIR to TEMPDIR when we want to package classes in a different jar file. This is not the case for sun.jkernel.* since they are included in rt.jar and that's a bug. I guess why it worked in the past is because sun.jkernel.* get compiled when compiling the system classes that reference DownloadManager and the sun.jkernel.* classes were put in the usual class destination directory. > > - ZipEntry: the idea that a class loader hook overrides the zip file > time is a bit strange. I see you have a few FIXME comments in the code > to revisit but maybe for this push it might be neater to just have > BootClassLoaderHook define a isCurrentThreadPrefetching or some such > method that returns a boolean to indicate if the current thread is > fetching and if so, set it to some pre-defined value (I don't know if > there is any significance to the value of KERNEL_STATIC_MODTIME). > > - In ICC_Profile would it be neater to do: > BootClassLoaderHook hook = BootClassLoaderHook.getHook(); > if (hook != null) > hook.prefetchFile(...) > > - Minor nit but you've added a few blank lines to DownloadManager. > > - I agree with R?mi comment that DownloadManager.instance doesn't seem > to be needed. > > - In BootClassLoaderHook's class description they may be a typo - I > think you meant to say "into the bootstrap class loader". Also, I > assume you meant to say "In other JDK builds ...". > > Otherwise, I think this is okay. I'll do another pass on it today as I > know you want to get this over the finish line by tonight. > I clean up the code per your suggestion and ready to push the fix. Mandy > -Alan. > > > > > > > > > > > > From Joe.Darcy at Sun.COM Mon Oct 5 23:43:17 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 05 Oct 2009 16:43:17 -0700 Subject: Core review request for 5062288 "(reflect) Core reflection uses raw types when it could be using wildcards" Message-ID: <4ACA8495.6080105@sun.com> Hello. Please review my changes to address: 5062288 "(reflect) Core reflection uses raw types when it could be using wildcards" http://cr.openjdk.java.net/~darcy/5062288.0/ This changeset removes most of the raw types warnings in core reflection, java.lang.Class and java.lang.reflect.*. I did not attempt to remove uses of raw types from ClassLoader and I did not attempt to make serious changes to Proxy. This changeset does not affect "exported public" API signatures, only local variables and less than public exported method signatures and fields. Thanks, -Joe From mandy.chung at sun.com Tue Oct 6 01:21:39 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Tue, 06 Oct 2009 01:21:39 +0000 Subject: hg: jdk7/tl/jdk: 6612680: Remove classloader dependency on jkernel Message-ID: <20091006012159.4618941E24@hg.openjdk.java.net> Changeset: c499401bc138 Author: mchung Date: 2009-10-05 18:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c499401bc138 6612680: Remove classloader dependency on jkernel Summary: Add a new sun.misc.BootClassLoaderHook that DownloadManager will implement Reviewed-by: alanb, forax, igor ! make/sun/jkernel/Makefile ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/sun/jkernel/DownloadManager.java + src/share/classes/sun/misc/BootClassLoaderHook.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/VM.java ! src/share/native/sun/misc/VM.c From Alan.Bateman at Sun.COM Tue Oct 6 08:46:41 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 06 Oct 2009 09:46:41 +0100 Subject: Core review request for 5062288 "(reflect) Core reflection uses raw types when it could be using wildcards" In-Reply-To: <4ACA8495.6080105@sun.com> References: <4ACA8495.6080105@sun.com> Message-ID: <4ACB03F1.5010706@sun.com> Joseph D. Darcy wrote: > Hello. > > Please review my changes to address: > > 5062288 "(reflect) Core reflection uses raw types when it could be > using wildcards" > http://cr.openjdk.java.net/~darcy/5062288.0/ > > This changeset removes most of the raw types warnings in core > reflection, java.lang.Class and java.lang.reflect.*. I did not > attempt to remove uses of raw types from ClassLoader and I did not > attempt to make serious changes to Proxy. This changeset does not > affect "exported public" API signatures, only local variables and less > than public exported method signatures and fields. > > Thanks, > > -Joe I took a pass over this and the changes looks good to me. -Alan. From Alan.Bateman at Sun.COM Tue Oct 6 08:56:54 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 06 Oct 2009 09:56:54 +0100 Subject: Review request for 6612680 (Remove classloader dependency on jkernel) In-Reply-To: <4ACA83A8.7040000@sun.com> References: <4AC83AC7.60402@sun.com> <4ACA01A9.6000707@sun.com> <4ACA83A8.7040000@sun.com> Message-ID: <4ACB0656.6050704@sun.com> Mandy Chung wrote: > Alan, R?mi, > > Thanks for the review. The revised webrev is at: > http://cr.openjdk.java.net/~mchung/6612680/jdk-webrev.01/ > http://cr.openjdk.java.net/~mchung/6612680/hotspot-webrev.01/ The changes you pushed to jdk7/tl/jdk look fine - thanks for doing the clean-ups (and for the explanation for the make/sun/jkernel/Makefile change). One other thing I forgot to mention is that System.initializeSystemClasses can be restored - as I recall, that was hacked to workaround issues encountered with the download manager running before the system classes were completely initialized. Minor comment on thread.cpp is that it might be neater if set_jkernel_boot_classloader_hook were: if (k != NULL) { JavaValue result(T_VOID); JavaCalls::call_static( ... ); } Otherwise, good job! -Alan. From Ulf.Zibis at gmx.de Tue Oct 6 09:48:05 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 06 Oct 2009 11:48:05 +0200 Subject: Core review request for 5062288 "(reflect) Core reflection uses raw types when it could be using wildcards" In-Reply-To: <4ACA8495.6080105@sun.com> References: <4ACA8495.6080105@sun.com> Message-ID: <4ACB1255.70600@gmx.de> Please note http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6850338 in this context. -Ulf Am 06.10.2009 01:43, Joseph D. Darcy schrieb: > Hello. > > Please review my changes to address: > > 5062288 "(reflect) Core reflection uses raw types when it could be > using wildcards" > http://cr.openjdk.java.net/~darcy/5062288.0/ > > This changeset removes most of the raw types warnings in core > reflection, java.lang.Class and java.lang.reflect.*. I did not > attempt to remove uses of raw types from ClassLoader and I did not > attempt to make serious changes to Proxy. This changeset does not > affect "exported public" API signatures, only local variables and less > than public exported method signatures and fields. > > Thanks, > > -Joe > > From alexdmiller at yahoo.com Tue Oct 6 14:20:51 2009 From: alexdmiller at yahoo.com (Alex Miller) Date: Tue, 6 Oct 2009 07:20:51 -0700 (PDT) Subject: New Methods/Features in JDK7 In-Reply-To: References: Message-ID: <865116.50553.qm@web32201.mail.mud.yahoo.com> Martin points at my page below, which does indeed have a lot of stuff on it, although I must admit I have not been updating it for the last 3-6 months as the actual feature list has solidified. At the moment I'm focusing on putting together the Strange Loop conference (http://thestrangeloop.com - only a few spots left!) but after that, I will get it whipped back into shape. I am still maintaining an ongoing Java 7 link blog at http://java7.tumblr.com and will ultimately feed those links back into the page. Alex On Mon, Oct 5, 2009 at 15:16, Martin Buchholz wrote: > Unofficial: http://tech.puredanger.com/java7 > > On Mon, Oct 5, 2009 at 14:10, Quintin Beukes wrote: > > Hey, > > > > Are there any current listings of new language features/broad API > > changes so far in OpenJDK7. I understand they might not be permanent, > > and could change in a wink, though I'm curious to see what could > > possibly be in the next Java. > > > > Quintin Beukes > > From i30817 at gmail.com Tue Oct 6 16:40:14 2009 From: i30817 at gmail.com (Paulo Levi) Date: Tue, 6 Oct 2009 17:40:14 +0100 Subject: New methods in jdk7 In-Reply-To: <1ccfd1c10910051514y27117fb9ic61e8d2786636c0f@mail.gmail.com> References: <212322090910050649x2c696a47v83346908cc0ce564@mail.gmail.com> <1ccfd1c10910051514y27117fb9ic61e8d2786636c0f@mail.gmail.com> Message-ID: <212322090910060940q20d5de32v7b3778e97eaebfc8@mail.gmail.com> I thought there was the danger of deadlocks if the std.out and std.err wasn't drained? In fact my implementation of "fork" is like this, mostly because i read that otherwise deadlocks happened.: /** * This method creates a new process that will run a new jvm * on the main of the given class, with the selected arguments. * It already flushes the output and inputstream of the forked jvm * into the current jvm. * The forked jvm uses the same java.exe and classpath as the current * one. * @param javaClass class with main method * @param args jvm properties. * @return Process, the jvm process, already started */ public static Process forkJava(Class klass, String... args) throws IOException, InterruptedException { String javaExe = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java"; String classpath = System.getProperty("java.class.path"); List l = new ArrayList(4 + args.length); l.add(javaExe); l.add("-cp"); l.add(classpath); l.addAll(Arrays.asList(args)); l.add(klass.getCanonicalName()); ProcessBuilder pb = new ProcessBuilder(l); pb.redirectErrorStream(true); final Process p = pb.start(); new Thread(new ProcessStreamConsumer(p), "ProcessBuilderInputStreamConsumer").start(); return p; } To be clear, you're saying that if i call this, and allow the parent to be killed (by throwing a Error for instance), the child process lives still? (I believe i can't call System.exit(1) without all jvm dying right?) From joe.darcy at sun.com Tue Oct 6 20:33:58 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Tue, 06 Oct 2009 20:33:58 +0000 Subject: hg: jdk7/tl/jdk: 5062288: (reflect) Core reflection uses raw types when it could be using wildcards Message-ID: <20091006203419.73C5041F63@hg.openjdk.java.net> Changeset: 572791538be5 Author: darcy Date: 2009-10-06 13:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/572791538be5 5062288: (reflect) Core reflection uses raw types when it could be using wildcards Reviewed-by: alanb ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/sun/reflect/LangReflectAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java ! src/share/classes/sun/reflect/annotation/AnnotationType.java From Ulf.Zibis at gmx.de Tue Oct 6 22:09:15 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 07 Oct 2009 00:09:15 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset Message-ID: <4ACBC00B.9060602@gmx.de> I.) Internal charset cache will be corrupted in theoretical race conditions: Startpoint: cache1 --> Charset1 cache2 --> Charset2 Scenario 1: - Thread1 asks for Charset2 via Charset.forName("Charset2"). - If Thread1 is interrupted after code line: cache2 = cache1 in method lookup2(String charsetName) we have: cache1 --> Charset1 cache2 --> Charset1 > If now thread2 asks for Charset2, it can't find it in cache, so it invokes an expensive lookup via registered providers. Scenario 2: - Thread1 asks for Charset2. - Thread1 is interupted before cache2 = cache1; - If now thread2 asks for Charset2 we have after completing lookup2(): cache1 --> Charset2 cache2 --> Charset1 - Now thread1 resumes; after completing lookup2() we have: cache1 --> Charset2 cache2 --> Charset2 > In the end we can see, that Charset1 is lost in cache. II.) Endless loop, if VM's default charset (called by Charset.defaultCharset()) needs to load mapping data via Class.getResourceAsStream(): - Invoking Class.getResourceAsStream(), again calls for Charset.defaultCharset(), so we are in endless loop. Note: The error condition, described in http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795536 is fixed since Bug ID 6797688, but the endless loop, getting the default charset, remains. See my patches here: https://bugs.openjdk.java.net/show_bug.cgi?id=100107 -Ulf From mandy.chung at sun.com Tue Oct 6 22:20:24 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Tue, 06 Oct 2009 22:20:24 +0000 Subject: hg: jdk7/tl/jdk: 6888802: sun.misc.BootClassLoaderHook.getBootstrapPaths stack overflow Message-ID: <20091006222045.BD81141F80@hg.openjdk.java.net> Changeset: 1b81fc851b20 Author: mchung Date: 2009-10-06 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1b81fc851b20 6888802: sun.misc.BootClassLoaderHook.getBootstrapPaths stack overflow Summary: Fixed sun.misc.BootClassLoaderHook.getBootstrapPaths calls hook.getAdditionalBootstrapPaths Reviewed-by: alanb, tbell ! src/share/classes/sun/misc/BootClassLoaderHook.java + test/sun/misc/BootClassLoaderHook/TestHook.java From Joe.Darcy at Sun.COM Tue Oct 6 22:50:34 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Tue, 06 Oct 2009 15:50:34 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AC5805B.3090902@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> Message-ID: <4ACBC9BA.6010703@sun.com> Joe Darcy wrote: > Joe Darcy wrote: >> Joe Darcy wrote: >>> Stephen Colebourne wrote: >>>> Joe Darcy wrote: >>>>> What other utility methods would have broad enough use and >>>>> applicability to go into a common java.util class? >>>> >>>> Joe, >>>> You've asked for a call for ideas, but not given any indication of >>>> process. Are you going to evaluate everything that comes in and >>>> pick the best a la Coin? Or allow anyone to send in patches? >>> >>> Those options are not mutually exclusive; patches are welcome >>> subject to the usual terms and conditions. >>> >>>> Who decides what is in and what is out? >>> >>> This is a little side project of mine and I wanted to get some >>> feedback before preparing a formal change for review, possibly >>> including patches from others. >>> >>> -Joe >> >> I'm getting caught up after the JVM Languages Summit and will post >> some java.util.Objects code for review in the near future. >> >> -Joe > > Below is a patch implementing the methods I think should go into > java.util.Objects as a first cut: > > * null safe two-argument equals method > * null safe hashCode(Object) returning 0 for null > * null safe toString(Object), returning "null" for a null argument > * null tolerating compare method; tests if both arguments are == and > if not calls compare > > The need for the last of these in Objects isn't quite as clear. > > Var-arg-ifying some of the existing methods in Arrays, > (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), > is probably worthwhile but can be done separately. > > I wouldn't oppose a toDebugString(Object) method going into the > platform somewhere, but I don't think it necessarily belongs in Objects. > > Further below is the code for an annotation processor which finds > candidate equals methods to be replaced with Objects.equals. It found > over half a dozen good candidates in the jdk repository. To run the > annotation processor, first compile the class and then run it with > javac similar to this: > > javac -proc:only -processor EqualsFinder -processorpath processor> sources > > -Joe > Updated patch of java.util.Objects with some spec clarifications suggested by Alan Bateman and the use of and reference to String.valueOf(Object) observed by Jason Mehrens. -Joe --- /dev/null 2009-08-12 17:12:33.000000000 -0700 +++ new/src/share/classes/java/util/Objects.java 2009-10-06 15:47:16.000000000 -0700 @@ -0,0 +1,100 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.util; + +/** + * This class consists of {@code static} utility methods for operating + * on objects. + * + * @since 1.7 + */ +public class Objects { + private Objects() { + throw new AssertionError("No java.util.Objects instances for you!"); + } + + /** + * Returns {@code true} if the arguments are equal to each other + * and {@code false} otherwise. + * Consequently, if both arguments are {@code null}, {@code true} + * is returned and if exactly one argument is {@code null}, {@code + * false} is returned. Otherwise, equality is determined by using + * the {@link Object#equals equals} method of the first + * argument. + * + * @return {@code true} if the arguments are equal to each other + * and {@code false} otherwise + * @see Object#equals(Object) + */ + public static boolean equals(Object a, Object b) { + return (a == b) || (a != null && a.equals(b)); + } + + /** + * Returns the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument. + * + * @return the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument + * @see Object#hashCode + */ + public static int hashCode(Object o) { + return o != null ? o.hashCode() : 0; + } + + /** + * Returns the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument. + * + * @return the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument + * @see Object#toString + * @see String#valueOf(Object) + */ + public static String toString(Object o) { + String.valueOf(o); + } + + /** + * Returns 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * Consequently, if both arguments are {@code null} 0 + * is returned. + * + *

Note that if one of the argument is {@code null}, a {@code + * NullPointerException} may or may not be thrown depending on + * what ordering policy, if any, the {@link Comparator Comparator} + * chooses to have for {@code null} values. + * + * @return 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * @see Comparable + * @see Comparator + */ + public static int compare(T a, T b, Comparator c) { + return (a == b) ? 0 : c.compare(a, b); + } +} From David.Holmes at Sun.COM Tue Oct 6 23:07:33 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 07 Oct 2009 09:07:33 +1000 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACBC9BA.6010703@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> Message-ID: <4ACBCDB5.4020803@sun.com> Hi Joe, I thought the point that Jason Mehrens was making was that this: + public static String toString(Object o) { + String.valueOf(o); + } is actually pointless. Why introduce such redundancy when people can just use String.valueOf directly ? This doesn't provide any benefit. PS. It should be "return String.valueOf(o);" of course. David Holmes Joe Darcy said the following on 10/07/09 08:50: > Joe Darcy wrote: >> Joe Darcy wrote: >>> Joe Darcy wrote: >>>> Stephen Colebourne wrote: >>>>> Joe Darcy wrote: >>>>>> What other utility methods would have broad enough use and >>>>>> applicability to go into a common java.util class? >>>>> >>>>> Joe, >>>>> You've asked for a call for ideas, but not given any indication of >>>>> process. Are you going to evaluate everything that comes in and >>>>> pick the best a la Coin? Or allow anyone to send in patches? >>>> >>>> Those options are not mutually exclusive; patches are welcome >>>> subject to the usual terms and conditions. >>>> >>>>> Who decides what is in and what is out? >>>> >>>> This is a little side project of mine and I wanted to get some >>>> feedback before preparing a formal change for review, possibly >>>> including patches from others. >>>> >>>> -Joe >>> >>> I'm getting caught up after the JVM Languages Summit and will post >>> some java.util.Objects code for review in the near future. >>> >>> -Joe >> >> Below is a patch implementing the methods I think should go into >> java.util.Objects as a first cut: >> >> * null safe two-argument equals method >> * null safe hashCode(Object) returning 0 for null >> * null safe toString(Object), returning "null" for a null argument >> * null tolerating compare method; tests if both arguments are == and >> if not calls compare >> >> The need for the last of these in Objects isn't quite as clear. >> >> Var-arg-ifying some of the existing methods in Arrays, >> (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), >> is probably worthwhile but can be done separately. >> >> I wouldn't oppose a toDebugString(Object) method going into the >> platform somewhere, but I don't think it necessarily belongs in Objects. >> >> Further below is the code for an annotation processor which finds >> candidate equals methods to be replaced with Objects.equals. It found >> over half a dozen good candidates in the jdk repository. To run the >> annotation processor, first compile the class and then run it with >> javac similar to this: >> >> javac -proc:only -processor EqualsFinder -processorpath > processor> sources >> >> -Joe >> > > Updated patch of java.util.Objects with some spec clarifications > suggested by Alan Bateman and the use of and reference to > String.valueOf(Object) observed by Jason Mehrens. > > -Joe > > > --- /dev/null 2009-08-12 17:12:33.000000000 -0700 > +++ new/src/share/classes/java/util/Objects.java 2009-10-06 > 15:47:16.000000000 -0700 > @@ -0,0 +1,100 @@ > +/* > + * Copyright 2009 Sun Microsystems, Inc. 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 > + * under the terms of the GNU General Public License version 2 only, as > + * published by the Free Software Foundation. Sun designates this > + * particular file as subject to the "Classpath" exception as provided > + * by Sun in the LICENSE file that accompanied this code. > + * > + * This code is distributed in the hope that it will be useful, but > WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License > + * version 2 for more details (a copy is included in the LICENSE file that > + * accompanied this code). > + * > + * You should have received a copy of the GNU General Public License > version > + * 2 along with this work; if not, write to the Free Software Foundation, > + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > + * > + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa > Clara, > + * CA 95054 USA or visit www.sun.com if you need additional information or > + * have any questions. > + */ > + > +package java.util; > + > +/** > + * This class consists of {@code static} utility methods for operating > + * on objects. > + * > + * @since 1.7 > + */ > +public class Objects { > + private Objects() { > + throw new AssertionError("No java.util.Objects instances for > you!"); > + } > + > + /** > + * Returns {@code true} if the arguments are equal to each other > + * and {@code false} otherwise. > + * Consequently, if both arguments are {@code null}, {@code true} > + * is returned and if exactly one argument is {@code null}, {@code > + * false} is returned. Otherwise, equality is determined by using > + * the {@link Object#equals equals} method of the first > + * argument. > + * > + * @return {@code true} if the arguments are equal to each other > + * and {@code false} otherwise > + * @see Object#equals(Object) > + */ > + public static boolean equals(Object a, Object b) { > + return (a == b) || (a != null && a.equals(b)); > + } > + > + /** > + * Returns the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument. > + * > + * @return the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument > + * @see Object#hashCode > + */ > + public static int hashCode(Object o) { > + return o != null ? o.hashCode() : 0; > + } > + > + /** > + * Returns the result of calling {@code toString} for a non-{@code > + * null} argument and {@code "null"} for a {@code null} argument. > + * > + * @return the result of calling {@code toString} for a non-{@code > + * null} argument and {@code "null"} for a {@code null} argument > + * @see Object#toString > + * @see String#valueOf(Object) > + */ > + public static String toString(Object o) { > + String.valueOf(o); > + } > + > + /** > + * Returns 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * Consequently, if both arguments are {@code null} 0 > + * is returned. > + * > + *

Note that if one of the argument is {@code null}, a {@code > + * NullPointerException} may or may not be thrown depending on > + * what ordering policy, if any, the {@link Comparator Comparator} > + * chooses to have for {@code null} values. > + * > + * @return 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * @see Comparable > + * @see Comparator > + */ > + public static int compare(T a, T b, Comparator c) { > + return (a == b) ? 0 : c.compare(a, b); > + } > +} From marquits at marquits.com Tue Oct 6 23:11:25 2009 From: marquits at marquits.com (quitos) Date: Tue, 6 Oct 2009 23:11:25 +0000 (UTC) Subject: Replacement of Quicksort in java.util.Arrays with new =?utf-8?b?RHVhbC1QaXZvdAlRdWlja3NvcnQ=?= References: <4AAA27EA.8090902@Sun.COM> Message-ID: I suppose if the array is small enough, it is better to use simple Quicksort. And the larger the array, the more sense it makes to use more pivots, because the calculation cost of comparing against many pivots becomes more affordable than iterating for a larger subset. So you think the optimal number of pivots to use could be directly linked to the size of the array you're trying to sort? From Joe.Darcy at Sun.COM Tue Oct 6 23:43:53 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Tue, 06 Oct 2009 16:43:53 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACBCDB5.4020803@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> <4ACBCDB5.4020803@sun.com> Message-ID: <4ACBD639.9000305@sun.com> David Holmes - Sun Microsystems wrote: > Hi Joe, > > I thought the point that Jason Mehrens was making was that this: > > + public static String toString(Object o) { > + String.valueOf(o); hat Jason Mehrens was making was that this: > > + public static String toString(Object o) { > + String.valueOf(o); > + } > > is actually pointless. Why introduce > + } > > is actually pointless. Why introduce such redundancy when people can > just use String.valueOf directly ? Because, IMO, String.valueOf is obscure and hard to find and from its name it is not clear it does null-safe toString on the argument. For example, I didn't know about String.valueOf. It is much clearer what Objects.toString is intended to do. > This doesn't provide any benefit. I think having the new method be commonly called would be a benefit :-) I don't think having a one-line forwarding method in Objects is that harmful. > > PS. It should be "return String.valueOf(o);" of course. Fixed. Thanks, -Joe > > David Holmes > > Joe Darcy said the following on 10/07/09 08:50: >> Joe Darcy wrote: >>> Joe Darcy wrote: >>>> Joe Darcy wrote: >>>>> Stephen Colebourne wrote: >>>>>> Joe Darcy wrote: >>>>>>> What other utility methods would have broad enough use and >>>>>>> applicability to go into a common java.util class? >>>>>> >>>>>> Joe, >>>>>> You've asked for a call for ideas, but not given any indication >>>>>> of process. Are you going to evaluate everything that comes in >>>>>> and pick the best a la Coin? Or allow anyone to send in patches? >>>>> >>>>> Those options are not mutually exclusive; patches are welcome >>>>> subject to the usual terms and conditions. >>>>> >>>>>> Who decides what is in and what is out? >>>>> >>>>> This is a little side project of mine and I wanted to get some >>>>> feedback before preparing a formal change for review, possibly >>>>> including patches from others. >>>>> >>>>> -Joe >>>> >>>> I'm getting caught up after the JVM Languages Summit and will post >>>> some java.util.Objects code for review in the near future. >>>> >>>> -Joe >>> >>> Below is a patch implementing the methods I think should go into >>> java.util.Objects as a first cut: >>> >>> * null safe two-argument equals method >>> * null safe hashCode(Object) returning 0 for null >>> * null safe toString(Object), returning "null" for a null argument >>> * null tolerating compare method; tests if both arguments are == and >>> if not calls compare >>> >>> The need for the last of these in Objects isn't quite as clear. >>> >>> Var-arg-ifying some of the existing methods in Arrays, >>> (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), >>> is probably worthwhile but can be done separately. >>> >>> I wouldn't oppose a toDebugString(Object) method going into the >>> platform somewhere, but I don't think it necessarily belongs in >>> Objects. >>> >>> Further below is the code for an annotation processor which finds >>> candidate equals methods to be replaced with Objects.equals. It >>> found over half a dozen good candidates in the jdk repository. To >>> run the annotation processor, first compile the class and then run >>> it with javac similar to this: >>> >>> javac -proc:only -processor EqualsFinder -processorpath >> processor> sources >>> >>> -Joe >>> >> >> Updated patch of java.util.Objects with some spec clarifications >> suggested by Alan Bateman and the use of and reference to >> String.valueOf(Object) observed by Jason Mehrens. >> >> -Joe >> >> >> --- /dev/null 2009-08-12 17:12:33.000000000 -0700 >> +++ new/src/share/classes/java/util/Objects.java 2009-10-06 >> 15:47:16.000000000 -0700 >> @@ -0,0 +1,100 @@ >> +/* >> + * Copyright 2009 Sun Microsystems, Inc. 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 >> + * under the terms of the GNU General Public License version 2 only, as >> + * published by the Free Software Foundation. Sun designates this >> + * particular file as subject to the "Classpath" exception as provided >> + * by Sun in the LICENSE file that accompanied this code. >> + * >> + * This code is distributed in the hope that it will be useful, but >> WITHOUT >> + * ANY WARRANTY; without even the implied warranty of >> MERCHANTABILITY or >> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public >> License >> + * version 2 for more details (a copy is included in the LICENSE >> file that >> + * accompanied this code). >> + * >> + * You should have received a copy of the GNU General Public License >> version >> + * 2 along with this work; if not, write to the Free Software >> Foundation, >> + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. >> + * >> + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa >> Clara, >> + * CA 95054 USA or visit www.sun.com if you need additional >> information or >> + * have any questions. >> + */ >> + >> +package java.util; >> + >> +/** >> + * This class consists of {@code static} utility methods for operating >> + * on objects. >> + * >> + * @since 1.7 >> + */ >> +public class Objects { >> + private Objects() { >> + throw new AssertionError("No java.util.Objects instances for >> you!"); >> + } >> + >> + /** >> + * Returns {@code true} if the arguments are equal to each other >> + * and {@code false} otherwise. >> + * Consequently, if both arguments are {@code null}, {@code true} >> + * is returned and if exactly one argument is {@code null}, {@code >> + * false} is returned. Otherwise, equality is determined by using >> + * the {@link Object#equals equals} method of the first >> + * argument. >> + * >> + * @return {@code true} if the arguments are equal to each other >> + * and {@code false} otherwise >> + * @see Object#equals(Object) >> + */ >> + public static boolean equals(Object a, Object b) { >> + return (a == b) || (a != null && a.equals(b)); >> + } >> + >> + /** >> + * Returns the hash code of a non-{@code null} argument and 0 for >> + * a {@code null} argument. >> + * >> + * @return the hash code of a non-{@code null} argument and 0 for >> + * a {@code null} argument >> + * @see Object#hashCode >> + */ >> + public static int hashCode(Object o) { >> + return o != null ? o.hashCode() : 0; >> + } >> + >> + /** >> + * Returns the result of calling {@code toString} for a non-{@code >> + * null} argument and {@code "null"} for a {@code null} argument. >> + * >> + * @return the result of calling {@code toString} for a non-{@code >> + * null} argument and {@code "null"} for a {@code null} argument >> + * @see Object#toString >> + * @see String#valueOf(Object) >> + */ >> + public static String toString(Object o) { >> + String.valueOf(o); >> + } >> + >> + /** >> + * Returns 0 if the arguments are identical and {@code >> + * c.compare(a, b)} otherwise. >> + * Consequently, if both arguments are {@code null} 0 >> + * is returned. >> + * >> + *

Note that if one of the argument is {@code null}, a {@code >> + * NullPointerException} may or may not be thrown depending on >> + * what ordering policy, if any, the {@link Comparator Comparator} >> + * chooses to have for {@code null} values. >> + * >> + * @return 0 if the arguments are identical and {@code >> + * c.compare(a, b)} otherwise. >> + * @see Comparable >> + * @see Comparator >> + */ >> + public static int compare(T a, T b, Comparator c) { >> + return (a == b) ? 0 : c.compare(a, b); >> + } >> +} From david.lloyd at redhat.com Tue Oct 6 23:49:23 2009 From: david.lloyd at redhat.com (David M. Lloyd) Date: Tue, 06 Oct 2009 18:49:23 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACBD639.9000305@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> <4ACBCDB5.4020803@sun.com> <4ACBD639.9000305@sun.com> Message-ID: <4ACBD783.4030406@redhat.com> On 10/06/2009 06:43 PM, Joe Darcy wrote: > David Holmes - Sun Microsystems wrote: >> Hi Joe, >> >> I thought the point that Jason Mehrens was making was that this: >> >> + public static String toString(Object o) { >> + String.valueOf(o); hat Jason Mehrens was making was that this: >> >> + public static String toString(Object o) { >> + String.valueOf(o); >> + } >> >> is actually pointless. Why introduce >> + } >> >> is actually pointless. Why introduce such redundancy when people can >> just use String.valueOf directly ? > > Because, IMO, String.valueOf is obscure and hard to find and from its > name it is not clear it does null-safe toString on the argument. For > example, I didn't know about String.valueOf. It is much clearer what > Objects.toString is intended to do. I for one never thought of it as obscure. Isn't this one of the static methods one must know before taking the SCJP exam? I'm sure it was one of the first methods I learned, back in the day. >> This doesn't provide any benefit. > > I think having the new method be commonly called would be a benefit :-) > > I don't think having a one-line forwarding method in Objects is that > harmful. Redundancy can be harmful in fact. Now you've got two ways to do the exact same thing; it just makes it a little harder for people to develop and adhere to coding standards, to give one example. - DML From i30817 at gmail.com Wed Oct 7 02:17:26 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 7 Oct 2009 03:17:26 +0100 Subject: Adding methods to logger in jdk 7 Message-ID: <212322090910061917j160312a1k7e4691116192f962@mail.gmail.com> Logger has the utility method severe, warning etc so you can use the various log levels without using the longer log method... I'd like some more overloadings, for adding a throwable, besides a string for those methods. Logger.getLogger(getClass().getName()).severe(string, throwable); From David.Holmes at Sun.COM Wed Oct 7 03:14:18 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 07 Oct 2009 13:14:18 +1000 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACBD639.9000305@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> <4ACBCDB5.4020803@sun.com> <4ACBD639.9000305@sun.com> Message-ID: <4ACC078A.6030008@sun.com> Joe, Joe Darcy said the following on 10/07/09 09:43: > David Holmes - Sun Microsystems wrote: >> I thought the point that Jason Mehrens was making was that this: >> >> + public static String toString(Object o) { >> + String.valueOf(o); hat Jason Mehrens was making was that this: >> >> + public static String toString(Object o) { >> + String.valueOf(o); >> + } >> >> is actually pointless. Why introduce >> + } >> >> is actually pointless. Why introduce such redundancy when people can >> just use String.valueOf directly ? > > Because, IMO, String.valueOf is obscure and hard to find and from its > name it is not clear it does null-safe toString on the argument. For > example, I didn't know about String.valueOf. It is much clearer what > Objects.toString is intended to do. It is no more obscure or hard to find than any method one is unaware of. But if you look at any of a number of introductory Java texts - such as The Java Programming Language for example - you will find that valueOf is given good coverage along with the other members of the String class. Further, as David Lloyd points out, there is a strong convention that Type.valueOf(x) converts x to Type - so the Java programmer should be quite familiar with this concept. I agree the null behaviour is not evident from the name, but nor is it evident from the name toString either - in both cases you must initially check the specification of the method to know what it does. >> This doesn't provide any benefit. > > I think having the new method be commonly called would be a benefit :-) No more so than having String.valueOf commonly called. > I don't think having a one-line forwarding method in Objects is that > harmful. It is redundant and adds no value. It creates potential confusion because people will wonder why on earth you have two methods that do the exact same thing. (And it's a PITA for authors because it is yet another additional API they have to mention. ;-) ) Just my opinion of course. David ----- >> >> PS. It should be "return String.valueOf(o);" of course. > > Fixed. > > Thanks, > > -Joe > >> >> David Holmes >> >> Joe Darcy said the following on 10/07/09 08:50: >>> Joe Darcy wrote: >>>> Joe Darcy wrote: >>>>> Joe Darcy wrote: >>>>>> Stephen Colebourne wrote: >>>>>>> Joe Darcy wrote: >>>>>>>> What other utility methods would have broad enough use and >>>>>>>> applicability to go into a common java.util class? >>>>>>> >>>>>>> Joe, >>>>>>> You've asked for a call for ideas, but not given any indication >>>>>>> of process. Are you going to evaluate everything that comes in >>>>>>> and pick the best a la Coin? Or allow anyone to send in patches? >>>>>> >>>>>> Those options are not mutually exclusive; patches are welcome >>>>>> subject to the usual terms and conditions. >>>>>> >>>>>>> Who decides what is in and what is out? >>>>>> >>>>>> This is a little side project of mine and I wanted to get some >>>>>> feedback before preparing a formal change for review, possibly >>>>>> including patches from others. >>>>>> >>>>>> -Joe >>>>> >>>>> I'm getting caught up after the JVM Languages Summit and will post >>>>> some java.util.Objects code for review in the near future. >>>>> >>>>> -Joe >>>> >>>> Below is a patch implementing the methods I think should go into >>>> java.util.Objects as a first cut: >>>> >>>> * null safe two-argument equals method >>>> * null safe hashCode(Object) returning 0 for null >>>> * null safe toString(Object), returning "null" for a null argument >>>> * null tolerating compare method; tests if both arguments are == and >>>> if not calls compare >>>> >>>> The need for the last of these in Objects isn't quite as clear. >>>> >>>> Var-arg-ifying some of the existing methods in Arrays, >>>> (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), >>>> is probably worthwhile but can be done separately. >>>> >>>> I wouldn't oppose a toDebugString(Object) method going into the >>>> platform somewhere, but I don't think it necessarily belongs in >>>> Objects. >>>> >>>> Further below is the code for an annotation processor which finds >>>> candidate equals methods to be replaced with Objects.equals. It >>>> found over half a dozen good candidates in the jdk repository. To >>>> run the annotation processor, first compile the class and then run >>>> it with javac similar to this: >>>> >>>> javac -proc:only -processor EqualsFinder -processorpath >>> processor> sources >>>> >>>> -Joe >>>> >>> >>> Updated patch of java.util.Objects with some spec clarifications >>> suggested by Alan Bateman and the use of and reference to >>> String.valueOf(Object) observed by Jason Mehrens. >>> >>> -Joe >>> >>> >>> --- /dev/null 2009-08-12 17:12:33.000000000 -0700 >>> +++ new/src/share/classes/java/util/Objects.java 2009-10-06 >>> 15:47:16.000000000 -0700 >>> @@ -0,0 +1,100 @@ >>> +/* >>> + * Copyright 2009 Sun Microsystems, Inc. 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 >>> + * under the terms of the GNU General Public License version 2 only, as >>> + * published by the Free Software Foundation. Sun designates this >>> + * particular file as subject to the "Classpath" exception as provided >>> + * by Sun in the LICENSE file that accompanied this code. >>> + * >>> + * This code is distributed in the hope that it will be useful, but >>> WITHOUT >>> + * ANY WARRANTY; without even the implied warranty of >>> MERCHANTABILITY or >>> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public >>> License >>> + * version 2 for more details (a copy is included in the LICENSE >>> file that >>> + * accompanied this code). >>> + * >>> + * You should have received a copy of the GNU General Public License >>> version >>> + * 2 along with this work; if not, write to the Free Software >>> Foundation, >>> + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. >>> + * >>> + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa >>> Clara, >>> + * CA 95054 USA or visit www.sun.com if you need additional >>> information or >>> + * have any questions. >>> + */ >>> + >>> +package java.util; >>> + >>> +/** >>> + * This class consists of {@code static} utility methods for operating >>> + * on objects. >>> + * >>> + * @since 1.7 >>> + */ >>> +public class Objects { >>> + private Objects() { >>> + throw new AssertionError("No java.util.Objects instances for >>> you!"); >>> + } >>> + >>> + /** >>> + * Returns {@code true} if the arguments are equal to each other >>> + * and {@code false} otherwise. >>> + * Consequently, if both arguments are {@code null}, {@code true} >>> + * is returned and if exactly one argument is {@code null}, {@code >>> + * false} is returned. Otherwise, equality is determined by using >>> + * the {@link Object#equals equals} method of the first >>> + * argument. >>> + * >>> + * @return {@code true} if the arguments are equal to each other >>> + * and {@code false} otherwise >>> + * @see Object#equals(Object) >>> + */ >>> + public static boolean equals(Object a, Object b) { >>> + return (a == b) || (a != null && a.equals(b)); >>> + } >>> + >>> + /** >>> + * Returns the hash code of a non-{@code null} argument and 0 for >>> + * a {@code null} argument. >>> + * >>> + * @return the hash code of a non-{@code null} argument and 0 for >>> + * a {@code null} argument >>> + * @see Object#hashCode >>> + */ >>> + public static int hashCode(Object o) { >>> + return o != null ? o.hashCode() : 0; >>> + } >>> + >>> + /** >>> + * Returns the result of calling {@code toString} for a non-{@code >>> + * null} argument and {@code "null"} for a {@code null} argument. >>> + * >>> + * @return the result of calling {@code toString} for a non-{@code >>> + * null} argument and {@code "null"} for a {@code null} argument >>> + * @see Object#toString >>> + * @see String#valueOf(Object) >>> + */ >>> + public static String toString(Object o) { >>> + String.valueOf(o); >>> + } >>> + >>> + /** >>> + * Returns 0 if the arguments are identical and {@code >>> + * c.compare(a, b)} otherwise. >>> + * Consequently, if both arguments are {@code null} 0 >>> + * is returned. >>> + * >>> + *

Note that if one of the argument is {@code null}, a {@code >>> + * NullPointerException} may or may not be thrown depending on >>> + * what ordering policy, if any, the {@link Comparator Comparator} >>> + * chooses to have for {@code null} values. >>> + * >>> + * @return 0 if the arguments are identical and {@code >>> + * c.compare(a, b)} otherwise. >>> + * @see Comparable >>> + * @see Comparator >>> + */ >>> + public static int compare(T a, T b, Comparator c) { >>> + return (a == b) ? 0 : c.compare(a, b); >>> + } >>> +} > From martinrb at google.com Wed Oct 7 04:33:21 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 6 Oct 2009 21:33:21 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC078A.6030008@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> <4ACBCDB5.4020803@sun.com> <4ACBD639.9000305@sun.com> <4ACC078A.6030008@sun.com> Message-ID: <1ccfd1c10910062133i50435c6ci6639deae585c3789@mail.gmail.com> I also vote against Objects.toString(). Foo.valueOf might not be the best name, (I'll resist the urge to suggest a better one) but it is an entrenched convention, and so cannot be considered a wart to be fixed. Martin On Tue, Oct 6, 2009 at 20:14, David Holmes - Sun Microsystems wrote: > Joe, > > Joe Darcy said the following on 10/07/09 09:43: >> >> David Holmes - Sun Microsystems wrote: >>> >>> I thought the point that Jason Mehrens was making was that this: >>> >>> + ? ?public static String toString(Object o) { >>> + ? ? ? ?String.valueOf(o); hat Jason Mehrens was making was that this: >>> >>> + ? ?public static String toString(Object o) { >>> + ? ? ? ?String.valueOf(o); >>> + ? ?} >>> >>> is actually pointless. Why introduce >>> + ? ?} >>> >>> is actually pointless. Why introduce such redundancy when people can just >>> use String.valueOf directly ? >> >> Because, IMO, String.valueOf is obscure and hard to find and from its name >> it is not clear it does null-safe toString on the argument. ?For example, I >> didn't know about String.valueOf. ?It is much clearer what Objects.toString >> is intended to do. > > It is no more obscure or hard to find than any method one is unaware of. But > if you look at any of a number of introductory Java texts - such as The Java > Programming Language for example - you will find that valueOf is given good > coverage along with the other members of the String class. Further, as David > Lloyd points out, there is a strong convention that Type.valueOf(x) converts > x to Type - so the Java programmer should be quite familiar with this > concept. > > I agree the null behaviour is not evident from the name, but nor is it > evident from the name toString either - in both cases you must initially > check the specification of the method to know what it does. > >>> This doesn't provide any benefit. >> >> I think having the new method be commonly called would be a benefit :-) > > No more so than having String.valueOf commonly called. > >> I don't think having a one-line forwarding method in Objects is that >> harmful. > > It is redundant and adds no value. It creates potential confusion because > people will wonder why on earth you have two methods that do the exact same > thing. (And it's a PITA for authors because it is yet another additional API > they have to mention. ;-) ) > > Just my opinion of course. > > David > ----- >>> >>> PS. It should be "return String.valueOf(o);" of course. >> >> Fixed. >> >> Thanks, >> >> -Joe >> >>> >>> David Holmes >>> >>> Joe Darcy said the following on 10/07/09 08:50: >>>> >>>> Joe Darcy wrote: >>>>> >>>>> Joe Darcy wrote: >>>>>> >>>>>> Joe Darcy wrote: >>>>>>> >>>>>>> Stephen Colebourne wrote: >>>>>>>> >>>>>>>> Joe Darcy wrote: >>>>>>>>> >>>>>>>>> What other utility methods would have broad enough use and >>>>>>>>> applicability to go into a common java.util class? >>>>>>>> >>>>>>>> Joe, >>>>>>>> You've asked for a call for ideas, but not given any indication of >>>>>>>> process. Are you going to evaluate everything that comes in and pick the >>>>>>>> best a la Coin? Or allow anyone to send in patches? >>>>>>> >>>>>>> Those options are not mutually exclusive; patches are welcome subject >>>>>>> to the usual terms and conditions. >>>>>>> >>>>>>>> Who decides what is in and what is out? >>>>>>> >>>>>>> This is a little side project of mine and I wanted to get some >>>>>>> feedback before preparing a formal change for review, possibly including >>>>>>> patches from others. >>>>>>> >>>>>>> -Joe >>>>>> >>>>>> I'm getting caught up after the JVM Languages Summit and will post >>>>>> some java.util.Objects code for review in the near future. >>>>>> >>>>>> -Joe >>>>> >>>>> Below is a patch implementing the methods I think should go into >>>>> java.util.Objects as a first cut: >>>>> >>>>> * null safe two-argument equals method >>>>> * null safe hashCode(Object) returning 0 for null >>>>> * null safe toString(Object), returning "null" for a null argument >>>>> * null tolerating compare method; tests if both arguments are == and if >>>>> not calls compare >>>>> >>>>> The need for the last of these in Objects isn't quite as clear. >>>>> >>>>> Var-arg-ifying some of the existing methods in Arrays, >>>>> (hashCode(Object[]), deepHashCode(Object[]) and toString(Object[])), is >>>>> probably worthwhile but can be done separately. >>>>> >>>>> I wouldn't oppose a toDebugString(Object) method going into the >>>>> platform somewhere, but I don't think it necessarily belongs in Objects. >>>>> >>>>> Further below is the code for an annotation processor which finds >>>>> candidate equals methods to be replaced with Objects.equals. ?It found over >>>>> half a dozen good candidates in the jdk repository. ?To run the annotation >>>>> processor, first compile the class and then run it with javac similar to >>>>> this: >>>>> >>>>> javac -proc:only -processor EqualsFinder -processorpath >>>> processor> sources >>>>> >>>>> -Joe >>>>> >>>> >>>> Updated patch of java.util.Objects with some spec clarifications >>>> suggested by Alan Bateman and the use of and reference to >>>> String.valueOf(Object) observed by Jason Mehrens. >>>> >>>> -Joe >>>> >>>> >>>> --- /dev/null ? ?2009-08-12 17:12:33.000000000 -0700 >>>> +++ new/src/share/classes/java/util/Objects.java ? ?2009-10-06 >>>> 15:47:16.000000000 -0700 >>>> @@ -0,0 +1,100 @@ >>>> +/* >>>> + * Copyright 2009 Sun Microsystems, Inc. ?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 >>>> + * under the terms of the GNU General Public License version 2 only, as >>>> + * published by the Free Software Foundation. ?Sun designates this >>>> + * particular file as subject to the "Classpath" exception as provided >>>> + * by Sun in the LICENSE file that accompanied this code. >>>> + * >>>> + * This code is distributed in the hope that it will be useful, but >>>> WITHOUT >>>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY >>>> or >>>> + * FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU General Public >>>> License >>>> + * version 2 for more details (a copy is included in the LICENSE file >>>> that >>>> + * accompanied this code). >>>> + * >>>> + * You should have received a copy of the GNU General Public License >>>> version >>>> + * 2 along with this work; if not, write to the Free Software >>>> Foundation, >>>> + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. >>>> + * >>>> + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa >>>> Clara, >>>> + * CA 95054 USA or visit www.sun.com if you need additional information >>>> or >>>> + * have any questions. >>>> + */ >>>> + >>>> +package java.util; >>>> + >>>> +/** >>>> + * This class consists of {@code static} utility methods for operating >>>> + * on objects. >>>> + * >>>> + * @since 1.7 >>>> + */ >>>> +public class Objects { >>>> + ? ?private Objects() { >>>> + ? ? ? ?throw new AssertionError("No java.util.Objects instances for >>>> you!"); >>>> + ? ?} >>>> + >>>> + ? ?/** >>>> + ? ? * Returns {@code true} if the arguments are equal to each other >>>> + ? ? * and {@code false} otherwise. >>>> + ? ? * Consequently, if both arguments are {@code null}, {@code true} >>>> + ? ? * is returned and if exactly one argument is {@code null}, {@code >>>> + ? ? * false} is returned. ?Otherwise, equality is determined by using >>>> + ? ? * the {@link Object#equals equals} method of the first >>>> + ? ? * argument. >>>> + ? ? * >>>> + ? ? * @return {@code true} if the arguments are equal to each other >>>> + ? ? * and {@code false} otherwise >>>> + ? ? * @see Object#equals(Object) >>>> + ? ? */ >>>> + ? ?public static boolean equals(Object a, Object b) { >>>> + ? ? ? ?return (a == b) || (a != null && a.equals(b)); >>>> + ? ?} >>>> + >>>> + ? ?/** >>>> + ? ? * Returns the hash code of a non-{@code null} argument and 0 for >>>> + ? ? * a {@code null} argument. >>>> + ? ? * >>>> + ? ? * @return the hash code of a non-{@code null} argument and 0 for >>>> + ? ? * a {@code null} argument >>>> + ? ? * @see Object#hashCode >>>> + ? ? */ >>>> + ? ?public static int hashCode(Object o) { >>>> + ? ? ? ?return o != null ? o.hashCode() : 0; >>>> + ? ?} >>>> + >>>> + ? ?/** >>>> + ? ? * Returns the result of calling {@code toString} for a non-{@code >>>> + ? ? * null} argument and {@code "null"} for a {@code null} argument. >>>> + ? ? * >>>> + ? ? * @return the result of calling {@code toString} for a non-{@code >>>> + ? ? * null} argument and {@code "null"} for a {@code null} argument >>>> + ? ? * @see Object#toString >>>> + ? ? * @see String#valueOf(Object) >>>> + ? ? */ >>>> + ? ?public static String toString(Object o) { >>>> + ? ? ? ?String.valueOf(o); >>>> + ? ?} >>>> + >>>> + ? ?/** >>>> + ? ? * Returns 0 if the arguments are identical and {@code >>>> + ? ? * c.compare(a, b)} otherwise. >>>> + ? ? * Consequently, if both arguments are {@code null} 0 >>>> + ? ? * is returned. >>>> + ? ? * >>>> + ? ? *

Note that if one of the argument is {@code null}, a {@code >>>> + ? ? * NullPointerException} may or may not be thrown depending on >>>> + ? ? * what ordering policy, if any, the {@link Comparator Comparator} >>>> + ? ? * chooses to have for {@code null} values. >>>> + ? ? * >>>> + ? ? * @return 0 if the arguments are identical and {@code >>>> + ? ? * c.compare(a, b)} otherwise. >>>> + ? ? * @see Comparable >>>> + ? ? * @see Comparator >>>> + ? ? */ >>>> + ? ?public static int compare(T a, T b, Comparator c) { >>>> + ? ? ? ?return (a == b) ? 0 : ?c.compare(a, b); >>>> + ? ?} >>>> +} >> > From pbenedict at apache.org Wed Oct 7 04:44:26 2009 From: pbenedict at apache.org (Paul Benedict) Date: Tue, 6 Oct 2009 23:44:26 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? Message-ID: If you want Objects.toString() to provide value, consider mimicking the functionality from Apache Commons: http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ObjectUtils.html My biggest complaint about String.valueOf(Object) is that it will actually return "null" for null objects. I can't stand that. If I have no data, I don't want any printable data back. While my preference might be too narrow for the JDK, the second overloaded version of ObjectUtils#toString(String, String) seems like a winner to me. Allow a default String to be provided when it is null: public static String toString(Object o, String defaultStr) { return (o != null) ? : String.valueOf(o) : defaultStr; } Paul From David.Holmes at Sun.COM Wed Oct 7 04:56:35 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 07 Oct 2009 14:56:35 +1000 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: Message-ID: <4ACC1F83.4090304@sun.com> Paul, Paul Benedict said the following on 10/07/09 14:44: > If you want Objects.toString() to provide value, consider mimicking > the functionality from Apache Commons: > > http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ObjectUtils.html > > My biggest complaint about String.valueOf(Object) is that it will > actually return "null" for null objects. I can't stand that. If I have > no data, I don't want any printable data back. While my preference > might be too narrow for the JDK, the second overloaded version of > ObjectUtils#toString(String, String) seems like a winner to me. Allow > a default String to be provided when it is null: I can see this might be useful ... > public static String toString(Object o, String defaultStr) { > return (o != null) ? : String.valueOf(o) : defaultStr; > } but the implementation would just need to be: return o != null ? o.toString() : defaultStr; Cheers, David > > Paul From pbenedict at apache.org Wed Oct 7 05:52:49 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 7 Oct 2009 00:52:49 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC1F83.4090304@sun.com> References: <4ACC1F83.4090304@sun.com> Message-ID: Thanks Dave. You are exactly right. That implementation is better. On Tue, Oct 6, 2009 at 11:56 PM, David Holmes - Sun Microsystems wrote: > Paul, > > Paul Benedict said the following on 10/07/09 14:44: >> >> If you want Objects.toString() to provide value, consider mimicking >> the functionality from Apache Commons: >> >> >> http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ObjectUtils.html >> >> My biggest complaint about String.valueOf(Object) is that it will >> actually return "null" for null objects. I can't stand that. If I have >> no data, I don't want any printable data back. While my preference >> might be too narrow for the JDK, the second overloaded version of >> ObjectUtils#toString(String, String) seems like a winner to me. Allow >> a default String to be provided when it is null: > > I can see this might be useful ... > >> public static String toString(Object o, String defaultStr) { >> ? ?return (o != null) ? String.valueOf(o) : defaultStr; >> } > > but the implementation would just need to be: > > ? ? ?return o != null ? o.toString() : defaultStr; > > Cheers, > David From martinrb at google.com Wed Oct 7 06:55:46 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 6 Oct 2009 23:55:46 -0700 Subject: New methods in jdk7 In-Reply-To: <212322090910060940q20d5de32v7b3778e97eaebfc8@mail.gmail.com> References: <212322090910050649x2c696a47v83346908cc0ce564@mail.gmail.com> <1ccfd1c10910051514y27117fb9ic61e8d2786636c0f@mail.gmail.com> <212322090910060940q20d5de32v7b3778e97eaebfc8@mail.gmail.com> Message-ID: <1ccfd1c10910062355w1defe30ew153ec61b5ba933c2@mail.gmail.com> On Tue, Oct 6, 2009 at 09:40, Paulo Levi wrote: > I thought there was the danger of deadlocks if the std.out and std.err > wasn't drained? Well, yes, there is a danger of deadlocks, but this can be avoided by: - having separate threads read stdout and stderr - closing the various streams in the parent (but might cause child to exit) - using redirectErrorStream - using new redirection facilities in jdk7 http://download.java.net/jdk7/docs/api/java/lang/ProcessBuilder.html > To be clear, you're saying that if i call this, and allow the parent > to be killed (by throwing a Error for instance), the child process > lives still? (I believe i can't call System.exit(1) without all jvm > dying right?) Why not try it? System.exit should only cause one jdk to exit directly. Martin From keith.mcguigan at sun.com Wed Oct 7 07:03:57 2009 From: keith.mcguigan at sun.com (keith.mcguigan at sun.com) Date: Wed, 07 Oct 2009 07:03:57 +0000 Subject: hg: jdk7/tl/jdk: 6885916: Memory leak in inferencing verifier (libverify.so) Message-ID: <20091007070416.D9D0A412B3@hg.openjdk.java.net> Changeset: f69b40e43bff Author: kamg Date: 2009-10-06 22:01 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f69b40e43bff 6885916: Memory leak in inferencing verifier (libverify.so) Summary: Use the memory management already present to track allocated memory Reviewed-by: coleenp, acorn ! src/share/native/common/check_code.c From scolebourne at joda.org Wed Oct 7 08:10:19 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Wed, 07 Oct 2009 09:10:19 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: Message-ID: <4ACC4CEB.8080209@joda.org> Paul Benedict wrote: > If you want Objects.toString() to provide value, consider mimicking > the functionality from Apache Commons: > > http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ObjectUtils.html > > My biggest complaint about String.valueOf(Object) is that it will > actually return "null" for null objects. I can't stand that. If I have > no data, I don't want any printable data back. While my preference > might be too narrow for the JDK, the second overloaded version of > ObjectUtils#toString(String, String) seems like a winner to me. Allow > a default String to be provided when it is null: > > public static String toString(Object o, String defaultStr) { > return (o != null) ? : String.valueOf(o) : defaultStr; > } I agree that this variant should be on Objects. To me, that strongly implies that the variant without the second argument should also be there (and yes, I'd prefer it to return "" instead of "null" for null). BTW, I don't accept the argument that one and only one way to do something is part of the JDK. In key places there are multiple options. NIO Path vs File and Calendar vs Date are examples. (Most code is written using IDEs these days, so having a predictable place to start from for autocomplete is important. Hence having equals/hashCode/compare but not toString would be very unintuitive to the Objects API). Stephen From David.Holmes at Sun.COM Wed Oct 7 08:51:40 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 07 Oct 2009 18:51:40 +1000 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC4CEB.8080209@joda.org> References: <4ACC4CEB.8080209@joda.org> Message-ID: <4ACC569C.4020007@sun.com> Stephen Colebourne said the following on 10/07/09 18:10: > BTW, I don't accept the argument that one and only one way to do > something is part of the JDK. While the JDK is far from a model example of providing "one way" to do something, that doesn't mean we should gratuitously add superfluous and redundant functionality. Type.valueOf is an established pattern for converting types. The JDK is already severely bloated - new APIs should pay their own way. David From Ulf.Zibis at gmx.de Wed Oct 7 10:44:19 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 07 Oct 2009 12:44:19 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACBD639.9000305@sun.com> References: <4AA812D0.309@sun.com> <4AA9936B.5000006@joda.org> <4AAADC6B.7070807@sun.com> <4AB989B7.5030101@sun.com> <4AC5805B.3090902@sun.com> <4ACBC9BA.6010703@sun.com> <4ACBCDB5.4020803@sun.com> <4ACBD639.9000305@sun.com> Message-ID: <4ACC7103.4090207@gmx.de> Am 07.10.2009 01:43, Joe Darcy schrieb: > > I don't think having a one-line forwarding method in Objects is that > harmful. > On the other hand Character.MAX_SUPPLEMENTARY_CODE_POINT was rejected for JDK footprint reason. -Ulf From forax at univ-mlv.fr Wed Oct 7 12:37:58 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Wed, 07 Oct 2009 14:37:58 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC4CEB.8080209@joda.org> References: <4ACC4CEB.8080209@joda.org> Message-ID: <4ACC8BA6.10008@univ-mlv.fr> Stephen Colebourne a ?crit : > Paul Benedict wrote: >> If you want Objects.toString() to provide value, consider mimicking >> the functionality from Apache Commons: >> >> http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ObjectUtils.html >> >> >> My biggest complaint about String.valueOf(Object) is that it will >> actually return "null" for null objects. I can't stand that. If I have >> no data, I don't want any printable data back. While my preference >> might be too narrow for the JDK, the second overloaded version of >> ObjectUtils#toString(String, String) seems like a winner to me. Allow >> a default String to be provided when it is null: >> >> public static String toString(Object o, String defaultStr) { >> return (o != null) ? : String.valueOf(o) : defaultStr; >> } > Hi Stephen, [...] > In key places there are multiple options. NIO Path vs File and > Calendar vs Date are examples. As you know, Path (resp. Calendar) is just an attempt to correct the mess introduced by File (resp. Date). So yes, there is duplication but this duplication is done to correct a wrong design. > (Most code is written using IDEs these days, so having a predictable > place to start from for autocomplete is important. Hence having > equals/hashCode/compare but not toString would be very unintuitive to > the Objects API). > > Stephen R?mi From jason_mehrens at hotmail.com Wed Oct 7 16:17:20 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Wed, 7 Oct 2009 11:17:20 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC8BA6.10008@univ-mlv.fr> References: <4ACC4CEB.8080209@joda.org> <4ACC8BA6.10008@univ-mlv.fr> Message-ID: > Hi Stephen, > > [...] > > In key places there are multiple options. NIO Path vs File and > > Calendar vs Date are examples. > > As you know, Path (resp. Calendar) is just an attempt to correct the > mess introduced by File (resp. Date). > So yes, there is duplication but this duplication is done to correct a > wrong design. > > > (Most code is written using IDEs these days, so having a predictable > > place to start from for autocomplete is important. Hence having > > equals/hashCode/compare but not toString would be very unintuitive to > > the Objects API). > > > > Stephen > R?mi The 2 toString variants from ObjectUtils are very handy to have for displaying values for UIs. Perhaps those should be added to Objects to correct a wrong design (limited use) of returning "null" for null and would least provide new behavior. Seems like the way to go unless these are going to cause more harm (confusion) than good. Jason _________________________________________________________________ Hotmail: Trusted email with Microsoft?s powerful SPAM protection. http://clk.atdmt.com/GBL/go/177141664/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From christopher.hegarty at sun.com Wed Oct 7 16:24:02 2009 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Wed, 07 Oct 2009 16:24:02 +0000 Subject: hg: jdk7/tl/jdk: 6887364: SetOutgoingIf.java fails if run on multihomed machine without PIv6 on all interfaces Message-ID: <20091007162439.885B3413F5@hg.openjdk.java.net> Changeset: f864c15f6779 Author: chegar Date: 2009-10-07 17:23 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f864c15f6779 6887364: SetOutgoingIf.java fails if run on multihomed machine without PIv6 on all interfaces Reviewed-by: alanb ! test/java/net/MulticastSocket/SetOutgoingIf.java From Joe.Darcy at Sun.COM Wed Oct 7 17:25:48 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Wed, 07 Oct 2009 10:25:48 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACC569C.4020007@sun.com> References: <4ACC4CEB.8080209@joda.org> <4ACC569C.4020007@sun.com> Message-ID: <4ACCCF1C.20401@sun.com> David Holmes - Sun Microsystems wrote: > Stephen Colebourne said the following on 10/07/09 18:10: >> BTW, I don't accept the argument that one and only one way to do >> something is part of the JDK. > > While the JDK is far from a model example of providing "one way" to do > something, that doesn't mean we should gratuitously add superfluous > and redundant functionality. The JDK has a long history of providing convenience methods. For example, we have PrintStream.format and PrintStream.printf which are just two names for the same functionality. > Type.valueOf is an established pattern for converting types. > > The JDK is already severely bloated - new APIs should pay their own way. Getting rid of more than half a dozen implementations of equals(Object, Object) should just in the JDK should more than pay the for the entire Objects class ;-) -Joe From pbenedict at apache.org Wed Oct 7 17:50:48 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 7 Oct 2009 12:50:48 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: Message-ID: Joe, Here are a few more resources that you may want to investigate for java.util.Objects: * http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Objects.html * http://static.springsource.org/spring/docs/3.0.0.M4/javadoc-api/org/springframework/util/ObjectUtils.html * http://commons.apache.org/lang/api-release/org/apache/commons/lang/ObjectUtils.html * http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/util/LangUtils.html Paul From Xueming.Shen at Sun.COM Wed Oct 7 17:56:17 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 07 Oct 2009 10:56:17 -0700 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACBC00B.9060602@gmx.de> References: <4ACBC00B.9060602@gmx.de> Message-ID: <4ACCD641.5080809@sun.com> Ulf, Though I did not write the cache code my reading suggests the existing cache impl tries to avoid the relatively "expensive" synchronization for most use scenarios, your approach however hits the synchronization for each/every lookup invocation. So you should at least consider to put the sync block in a separate lookup2. But personally I doubt we really care this "race condition", it's a cache, a cache miss is not a disaster, in fact in most cases, since the charset has been in the cache already, it should be in the providers' "cache" as well, especially for the bundled standard & extended charset provider, the lookup actually is 1 or 2 O(1) hashmap lookup (yes, an additional name canonicalization and the "expensive" sync). So maybe we can do something like b = cache1; cache1 = a; cache2 = b; to make the situation a little better, or maybe worse:-) sherman sherman Ulf Zibis wrote: > I.) Internal charset cache will be corrupted in theoretical race > conditions: > > Startpoint: > cache1 --> Charset1 > cache2 --> Charset2 > > Scenario 1: > - Thread1 asks for Charset2 via Charset.forName("Charset2"). > - If Thread1 is interrupted after code line: cache2 = cache1 > in method lookup2(String charsetName) we have: > cache1 --> Charset1 > cache2 --> Charset1 >> If now thread2 asks for Charset2, it can't find it in cache, so it >> invokes > an expensive lookup via registered providers. > > Scenario 2: > - Thread1 asks for Charset2. > - Thread1 is interupted before cache2 = cache1; > - If now thread2 asks for Charset2 we have after completing lookup2(): > cache1 --> Charset2 > cache2 --> Charset1 > - Now thread1 resumes; after completing lookup2() we have: > cache1 --> Charset2 > cache2 --> Charset2 >> In the end we can see, that Charset1 is lost in cache. > > > II.) Endless loop, if VM's default charset (called by > Charset.defaultCharset()) > needs to load mapping data via Class.getResourceAsStream(): > > - Invoking Class.getResourceAsStream(), again calls for > Charset.defaultCharset(), > so we are in endless loop. > > Note: The error condition, described in > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795536 > is fixed since Bug ID 6797688, but the endless loop, getting the > default charset, remains. > > > See my patches here: https://bugs.openjdk.java.net/show_bug.cgi?id=100107 > > > -Ulf > > > From Ulf.Zibis at gmx.de Wed Oct 7 19:55:03 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 07 Oct 2009 21:55:03 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACCD641.5080809@sun.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> Message-ID: <4ACCF217.6000303@gmx.de> Sherman, thanks for your review ... Am 07.10.2009 19:56, Xueming Shen schrieb: > Though I did not write the cache code my reading suggests the existing > cache > impl tries to avoid the relatively "expensive" synchronization for > most use scenarios, > your approach however hits the synchronization for each/every lookup > invocation. > So you should at least consider to put the sync block in a separate > lookup2. Agreed: (But why separate lookup2? I suspect that Charset.forName() would occur in excessive loops, so hotspot potentially cold inline it.) private static Charset lookup(String charsetName) { if (charsetName == null) throw new IllegalArgumentException("Null charset name"); CacheItem ci = cache[0]; if (ci != null && charsetName.equals(ci.name)) return ci.charset; synchronized (Charset.class) { int pos; for (pos=1; ; pos++) { ... } } Is synchronization more expensive, than instantiating new Object[] each time + 2 castings (to String + to Charset)? > > But personally I doubt we really care this "race condition", it's a > cache, a cache miss > is not a disaster, OK, but why didn't you you reject Bug Id 6881442 with the same argumentation. ... and missing the class's name in Class.name could only happen once, in contrast to "my" race condition, which theoretically could happen every time. > in fact in most cases, since the charset has been in the cache > already, it should be in the providers' "cache" as well, especially > for the bundled > standard & extended charset provider, the lookup actually is 1 or 2 > O(1) hashmap > lookup ... it's 2 hashmap lookup, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6850361 + 2 hashmap lookup for extended charset + 2n cost if in supplemental provider > (yes, an additional name canonicalization and the "expensive" sync). + check extendedProviderProbed + synchronize latter + resolve SoftReference (in fail: + hashmap lookup for class name + reflective instantiation + caching) > > So maybe we can do something like > > b = cache1; > cache1 = a; > cache2 = b; Hm, if content of cache1 was updated to content, which is hold in a by other thread, saving cache1in b doesn't help. (Maybe I didn't understand your trick.) > > to make the situation a little better, or maybe worse:-) > And what do you think about breaking the endless loop, while getting the default charset, and what about avoiding to cache wrong default charset? -Ulf From Joe.Darcy at Sun.COM Wed Oct 7 20:27:58 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Wed, 07 Oct 2009 13:27:58 -0700 Subject: Code review request: bugs 6480728 and 6655735 in the wrapper classes Message-ID: <4ACCF9CE.1060706@sun.com> Hello. Please review these simple cleanup fixes in the wrapper classes: 6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String) 6655735: Integer.toString() and String.valueOf(int) contain slow delegations The fix for the first bug is for the valueOf(String) and decode methods in Byte and Short to return objects after going through the cache. This behavior is already present in Integer and Long. The second fix changes method calls in various wrapper classes and in String to go to the Foo -> String method most directly implementing the desired conversion Patch is below; webrev at http://cr.openjdk.java.net/~darcy/6480728.0/ -Joe --- old/src/share/classes/java/lang/Byte.java 2009-10-07 12:18:04.000000000 -0700 +++ new/src/share/classes/java/lang/Byte.java 2009-10-07 12:18:03.000000000 -0700 @@ -201,7 +201,7 @@ */ public static Byte valueOf(String s, int radix) throws NumberFormatException { - return new Byte(parseByte(s, radix)); + return valueOf(parseByte(s, radix)); } /** @@ -277,7 +277,7 @@ if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException( "Value " + i + " out of range from input " + nm); - return (byte)i; + return valueOf((byte)i); } /** @@ -374,7 +374,7 @@ * base 10. */ public String toString() { - return String.valueOf((int)value); + return Integer.toString((int)value); } /** --- old/src/share/classes/java/lang/Double.java 2009-10-07 12:18:04.000000000 -0700 +++ new/src/share/classes/java/lang/Double.java 2009-10-07 12:18:04.000000000 -0700 @@ -629,7 +629,7 @@ * @see java.lang.Double#toString(double) */ public String toString() { - return String.valueOf(value); + return toString(value); } /** --- old/src/share/classes/java/lang/Float.java 2009-10-07 12:18:05.000000000 -0700 +++ new/src/share/classes/java/lang/Float.java 2009-10-07 12:18:05.000000000 -0700 @@ -551,7 +551,7 @@ * @see java.lang.Float#toString(float) */ public String toString() { - return String.valueOf(value); + return Float.toString(value); } /** --- old/src/share/classes/java/lang/Integer.java 2009-10-07 12:18:06.000000000 -0700 +++ new/src/share/classes/java/lang/Integer.java 2009-10-07 12:18:06.000000000 -0700 @@ -746,7 +746,7 @@ * base 10. */ public String toString() { - return String.valueOf(value); + return toString(value); } /** --- old/src/share/classes/java/lang/Long.java 2009-10-07 12:18:07.000000000 -0700 +++ new/src/share/classes/java/lang/Long.java 2009-10-07 12:18:07.000000000 -0700 @@ -761,7 +761,7 @@ * base 10. */ public String toString() { - return String.valueOf(value); + return toString(value); } /** --- old/src/share/classes/java/lang/Short.java 2009-10-07 12:18:08.000000000 -0700 +++ new/src/share/classes/java/lang/Short.java 2009-10-07 12:18:07.000000000 -0700 @@ -170,7 +170,7 @@ */ public static Short valueOf(String s, int radix) throws NumberFormatException { - return new Short(parseShort(s, radix)); + return valueOf(parseShort(s, radix)); } /** @@ -282,7 +282,7 @@ if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException( "Value " + i + " out of range from input " + nm); - return (short)i; + return valueOf((short)i); } /** @@ -379,7 +379,7 @@ * base 10. */ public String toString() { - return String.valueOf((int)value); + return Integer.toString((int)value); } /** --- old/src/share/classes/java/lang/String.java 2009-10-07 12:18:08.000000000 -0700 +++ new/src/share/classes/java/lang/String.java 2009-10-07 12:18:08.000000000 -0700 @@ -2995,7 +2995,7 @@ * @see java.lang.Integer#toString(int, int) */ public static String valueOf(int i) { - return Integer.toString(i, 10); + return Integer.toString(i); } /** @@ -3009,7 +3009,7 @@ * @see java.lang.Long#toString(long) */ public static String valueOf(long l) { - return Long.toString(l, 10); + return Long.toString(l); } /** From tim.bell at sun.com Wed Oct 7 20:54:33 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Wed, 07 Oct 2009 20:54:33 +0000 Subject: hg: jdk7/tl/jdk: 6888888: new javah throws NullPointerException when building in jdk/make/java/nio Message-ID: <20091007205501.6F3D241440@hg.openjdk.java.net> Changeset: 777714bd992a Author: tbell Date: 2009-10-07 13:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/777714bd992a 6888888: new javah throws NullPointerException when building in jdk/make/java/nio Summary: Use the bootstrap javah during the build until bug-ID 6889255 is fixed Reviewed-by: jjg ! make/common/shared/Defs-java.gmk From Lance.Andersen at Sun.COM Wed Oct 7 20:58:59 2009 From: Lance.Andersen at Sun.COM (Lance J. Andersen) Date: Wed, 07 Oct 2009 16:58:59 -0400 Subject: Code review request: bugs 6480728 and 6655735 in the wrapper classes In-Reply-To: <4ACCF9CE.1060706@sun.com> References: <4ACCF9CE.1060706@sun.com> Message-ID: <4ACD0113.4020705@sun.com> Joe, These look ok to me -lance Joseph D. Darcy wrote: > Hello. > > Please review these simple cleanup fixes in the wrapper classes: > > 6480728: Byte.valueOf(byte) returns a cached value but > Byte.valueOf(String) > 6655735: Integer.toString() and String.valueOf(int) contain slow > delegations > > The fix for the first bug is for the valueOf(String) and decode > methods in Byte and Short to return objects after going through the > cache. This behavior is already present in Integer and Long. > > The second fix changes method calls in various wrapper classes and in > String to go to the Foo -> String method most directly implementing > the desired conversion > > Patch is below; webrev at > http://cr.openjdk.java.net/~darcy/6480728.0/ > > -Joe > > --- old/src/share/classes/java/lang/Byte.java 2009-10-07 > 12:18:04.000000000 -0700 > +++ new/src/share/classes/java/lang/Byte.java 2009-10-07 > 12:18:03.000000000 -0700 > @@ -201,7 +201,7 @@ > */ > public static Byte valueOf(String s, int radix) > throws NumberFormatException { > - return new Byte(parseByte(s, radix)); > + return valueOf(parseByte(s, radix)); > } > > /** > @@ -277,7 +277,7 @@ > if (i < MIN_VALUE || i > MAX_VALUE) > throw new NumberFormatException( > "Value " + i + " out of range from input " + nm); > - return (byte)i; > + return valueOf((byte)i); > } > > /** > @@ -374,7 +374,7 @@ > * base 10. > */ > public String toString() { > - return String.valueOf((int)value); > + return Integer.toString((int)value); > } > > /** > --- old/src/share/classes/java/lang/Double.java 2009-10-07 > 12:18:04.000000000 -0700 > +++ new/src/share/classes/java/lang/Double.java 2009-10-07 > 12:18:04.000000000 -0700 > @@ -629,7 +629,7 @@ > * @see java.lang.Double#toString(double) > */ > public String toString() { > - return String.valueOf(value); > + return toString(value); > } > > /** > --- old/src/share/classes/java/lang/Float.java 2009-10-07 > 12:18:05.000000000 -0700 > +++ new/src/share/classes/java/lang/Float.java 2009-10-07 > 12:18:05.000000000 -0700 > @@ -551,7 +551,7 @@ > * @see java.lang.Float#toString(float) > */ > public String toString() { > - return String.valueOf(value); > + return Float.toString(value); > } > > /** > --- old/src/share/classes/java/lang/Integer.java 2009-10-07 > 12:18:06.000000000 -0700 > +++ new/src/share/classes/java/lang/Integer.java 2009-10-07 > 12:18:06.000000000 -0700 > @@ -746,7 +746,7 @@ > * base 10. > */ > public String toString() { > - return String.valueOf(value); > + return toString(value); > } > > /** > --- old/src/share/classes/java/lang/Long.java 2009-10-07 > 12:18:07.000000000 -0700 > +++ new/src/share/classes/java/lang/Long.java 2009-10-07 > 12:18:07.000000000 -0700 > @@ -761,7 +761,7 @@ > * base 10. > */ > public String toString() { > - return String.valueOf(value); > + return toString(value); > } > > /** > --- old/src/share/classes/java/lang/Short.java 2009-10-07 > 12:18:08.000000000 -0700 > +++ new/src/share/classes/java/lang/Short.java 2009-10-07 > 12:18:07.000000000 -0700 > @@ -170,7 +170,7 @@ > */ > public static Short valueOf(String s, int radix) > throws NumberFormatException { > - return new Short(parseShort(s, radix)); > + return valueOf(parseShort(s, radix)); > } > > /** > @@ -282,7 +282,7 @@ > if (i < MIN_VALUE || i > MAX_VALUE) > throw new NumberFormatException( > "Value " + i + " out of range from input " + nm); > - return (short)i; > + return valueOf((short)i); > } > > /** > @@ -379,7 +379,7 @@ > * base 10. > */ > public String toString() { > - return String.valueOf((int)value); > + return Integer.toString((int)value); > } > > /** > --- old/src/share/classes/java/lang/String.java 2009-10-07 > 12:18:08.000000000 -0700 > +++ new/src/share/classes/java/lang/String.java 2009-10-07 > 12:18:08.000000000 -0700 > @@ -2995,7 +2995,7 @@ > * @see java.lang.Integer#toString(int, int) > */ > public static String valueOf(int i) { > - return Integer.toString(i, 10); > + return Integer.toString(i); > } > > /** > @@ -3009,7 +3009,7 @@ > * @see java.lang.Long#toString(long) > */ > public static String valueOf(long l) { > - return Long.toString(l, 10); > + return Long.toString(l); > } > > /** > From Xueming.Shen at Sun.COM Wed Oct 7 21:01:42 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 07 Oct 2009 14:01:42 -0700 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACCF217.6000303@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> Message-ID: <4ACD01B6.5030607@sun.com> Ulf Zibis wrote: > Sherman, thanks for your review ... > > Am 07.10.2009 19:56, Xueming Shen schrieb: >> Though I did not write the cache code my reading suggests the >> existing cache >> impl tries to avoid the relatively "expensive" synchronization for >> most use scenarios, >> your approach however hits the synchronization for each/every lookup >> invocation. >> So you should at least consider to put the sync block in a separate >> lookup2. > > Agreed: > (But why separate lookup2? I suspect that Charset.forName() would > occur in excessive loops, so hotspot potentially cold inline it.) Maybe I meant to say "to put the sync in a separate block" > > Is synchronization more expensive, than instantiating new Object[] > each time + 2 castings (to String + to Charset)? > The difference is fast cpu + a good gc probably can make "instantiating new Object[] each time + 2 castings" trivial, but a synchronization only allows one thread run into the code block and keeps anyone else outside waiting till the first done. >> >> But personally I doubt we really care this "race condition", it's a >> cache, a cache miss >> is not a disaster, > > OK, but why didn't you you reject Bug Id 6881442 with the same > argumentation. > ... and missing the class's name in Class.name could only happen once, > in contrast to "my" race condition, which theoretically could happen > every time. The difference is that race condition may cause a wrong result, In this case the result is still correct though it might come out at a relatively slow speed should the race condition occur. sherman From joe.darcy at sun.com Wed Oct 7 21:06:23 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Wed, 07 Oct 2009 21:06:23 +0000 Subject: hg: jdk7/tl/jdk: 6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String); ... Message-ID: <20091007210649.2EAC641446@hg.openjdk.java.net> Changeset: e7ad502130ba Author: darcy Date: 2009-10-07 14:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e7ad502130ba 6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String) 6655735: Integer.toString() and String.valueOf(int) contain slow delegations Reviewed-by: lancea ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/String.java From martinrb at google.com Wed Oct 7 22:01:59 2009 From: martinrb at google.com (Martin Buchholz) Date: Wed, 7 Oct 2009 15:01:59 -0700 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD01B6.5030607@sun.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> Message-ID: <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> IIRC correctly, I am the author of the hacky 2-element charset cache. Certainly improvements can be made, but it's hard to balance memory usage vs. the cost and complexity of writing a good cache. I agree with Sherman that a race in the cache itself is not a bug (or at best, a performance bug). I don't think it's worth a point fix here unless an actual wrong result can be demonstrated. I do think a more sophisticated charset cache would be good, but hard to get right. Martin On Wed, Oct 7, 2009 at 14:01, Xueming Shen wrote: > Ulf Zibis wrote: >> >> Sherman, thanks for your review ... >> >> Am 07.10.2009 19:56, Xueming Shen schrieb: >>> >>> Though I did not write the cache code my reading suggests the existing >>> cache >>> impl tries to avoid the relatively "expensive" synchronization for most >>> use scenarios, >>> your approach however hits the synchronization for each/every lookup >>> invocation. >>> So you should at least consider to put the sync block in a separate >>> lookup2. >> >> Agreed: >> (But why separate lookup2? I suspect that Charset.forName() would occur in >> excessive loops, so hotspot potentially cold inline it.) > > Maybe I meant to say "to put the sync in a separate block" > >> >> Is synchronization more expensive, than instantiating new Object[] each >> time + 2 castings (to String + to Charset)? >> > > The difference is fast cpu + a good gc probably can make "instantiating new > Object[] each time + 2 castings" trivial, > but a synchronization only allows one thread run into the code block and > keeps anyone else outside waiting till the > first done. > >>> >>> But personally I doubt we really care this "race condition", it's a >>> cache, a cache miss >>> is not a disaster, >> >> OK, but why didn't you you reject Bug Id 6881442 with the same >> argumentation. >> ... and missing the class's name in Class.name could only happen once, in >> contrast to "my" race condition, which theoretically could happen every >> time. > > The difference is that race condition may cause a wrong result, In this case > the result is still correct though it > might come out at a relatively slow speed should the race condition occur. > > > sherman > From Ulf.Zibis at gmx.de Wed Oct 7 22:58:41 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 08 Oct 2009 00:58:41 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> Message-ID: <4ACD1D21.4000805@gmx.de> Martin, thank for your review. Am 08.10.2009 00:01, Martin Buchholz schrieb: > IIRC correctly, I am the author of the hacky 2-element charset cache. > Certainly improvements can be made, but it's hard to balance > memory usage vs. the cost and complexity of writing a good cache. > I guess, the memory usage of 2-element class CharsetItem is equivalent to 2-element Object[]. > I agree with Sherman that a race in the cache itself is not a bug > (or at best, a performance bug). > For my better understanding: Can you explain me the real bug in http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6881442. In my understanding, loading the "name" field twice is too only a performance bug. Please correct me! > I don't think it's worth a point fix here unless an actual wrong result > can be demonstrated. I do think a more sophisticated charset cache > would be good, but hard to get right. > The other point is the size of the cache, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795535. I have logged the usage of the Charset.lookup() method from a simple test which has only called ISO-8859-1 and IBM037 . As you can see, UTF-8 and cp1252 (default encoding on German Windows) is frequently requested from the VM, so IMO size 2 is too restrictive (note the different aliases UTF-8, utf-8 and UTF8): UTF-8 utf-8 UTF-8 Cp1252 UTF-8 UTF-8 UTF-8 UTF-8 UTF-8 UTF-8 UTF8 UTF8 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 Cp1252 UTF-8 IBM037 UTF-8 UTF-8 utf-8 ISO-8859-1 UTF-8 -Ulf From martinrb at google.com Thu Oct 8 04:31:19 2009 From: martinrb at google.com (Martin Buchholz) Date: Wed, 7 Oct 2009 21:31:19 -0700 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD1D21.4000805@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> Message-ID: <1ccfd1c10910072131o3be89ee0lb00537ed39cc1665@mail.gmail.com> On Wed, Oct 7, 2009 at 15:58, Ulf Zibis wrote: > For my better understanding: > Can you explain me the real bug in > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6881442. > In my understanding, loading the "name" field twice is too only a > performance bug. Please correct me! Take a look at the discussion on 6881442 in the core-libs-dev archives. It *is* a performance improvement, but it's not a very big one (at least on x86) and that is not its primary purpose. Martin From David.Holmes at Sun.COM Thu Oct 8 04:35:40 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Thu, 08 Oct 2009 14:35:40 +1000 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD1D21.4000805@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> Message-ID: <4ACD6C1C.5020506@sun.com> Ulf, Ulf Zibis said the following on 10/08/09 08:58: > For my better understanding: > Can you explain me the real bug in > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6881442. > In my understanding, loading the "name" field twice is too only a > performance bug. Please correct me! Class.getName() could in theory return null and this is not allowed, hence this was a functional correctness issue. There are a few benevolent data-races in the JDK libs. I haven't looked at the Charset code so can't comment on whether or not it is benevolent. David Holmes >> I don't think it's worth a point fix here unless an actual wrong result >> can be demonstrated. I do think a more sophisticated charset cache >> would be good, but hard to get right. >> > > The other point is the size of the cache, see > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795535. > I have logged the usage of the Charset.lookup() method from a simple > test which has only called ISO-8859-1 and IBM037 . As you can see, UTF-8 > and cp1252 (default encoding on German Windows) is frequently requested > from the VM, so IMO size 2 is too restrictive (note the different > aliases UTF-8, utf-8 and UTF8): > UTF-8 > utf-8 > UTF-8 > Cp1252 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF8 > UTF8 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > UTF-8 > IBM037 > UTF-8 > UTF-8 > utf-8 > ISO-8859-1 > UTF-8 > > > -Ulf > > From martinrb at google.com Thu Oct 8 04:40:39 2009 From: martinrb at google.com (Martin Buchholz) Date: Wed, 7 Oct 2009 21:40:39 -0700 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD1D21.4000805@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> Message-ID: <1ccfd1c10910072140j737d99a3ha2a6324b81db1fdd@mail.gmail.com> If you can show that a simple test program that appears to access only 2 charsets in fact causes accesses to 3 or 4, that is a serious problem with the 2-element cache. People at Google are working on better caches, but I don't think they are quite ready today. Perhaps, instead of a small charset cache, we could cache all the charsets, but for the large charsets like GB18030, we could, inside the charset implementation, cache the large data tables using a soft reference, and recompute as needed. Then most of the static memory used by an unused charset could be reclaimed. In general, high quality caching is hard, much harder than it looks. Martin On Wed, Oct 7, 2009 at 15:58, Ulf Zibis wrote: >> I don't think it's worth a point fix here unless an actual wrong result >> can be demonstrated. ?I do think a more sophisticated charset cache >> would be good, but hard to get right. >> > > The other point is the size of the cache, see > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795535. > I have logged the usage of the Charset.lookup() method from a simple test > which has only called ISO-8859-1 and IBM037 . As you can see, UTF-8 and > cp1252 (default encoding on German Windows) is frequently requested from the > VM, so IMO size 2 is too restrictive (note the different aliases UTF-8, > utf-8 and UTF8): > UTF-8 > utf-8 > UTF-8 > Cp1252 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF-8 > UTF8 > UTF8 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > Cp1252 > UTF-8 > IBM037 > UTF-8 > UTF-8 > utf-8 > ISO-8859-1 > UTF-8 > > > -Ulf > > > From David.Holmes at Sun.COM Thu Oct 8 10:59:54 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Thu, 08 Oct 2009 20:59:54 +1000 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACDB9E5.6090202@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> <4ACD6C1C.5020506@sun.com> <4ACDB9E5.6090202@gmx.de> Message-ID: <4ACDC62A.4020608@sun.com> Hi Ulf, Ulf Zibis said the following on 10/08/09 20:07: > Am 08.10.2009 06:35, David Holmes - Sun Microsystems schrieb: >> Ulf Zibis said the following on 10/08/09 08:58: >>> For my better understanding: >>> Can you explain me the real bug in >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6881442. >>> In my understanding, loading the "name" field twice is too only a >>> performance bug. Please correct me! >> >> Class.getName() could in theory return null and this is not allowed, >> hence this was a functional correctness issue. > > Hm, my problem is, I can't see any condition, how Class.getName() could > return null, except native method getName0() would return null. > But if native getName0() could return null, I can't see how the new code > would prevent method Class.getName() from returning null. It's a memory model issue. The code is like this: public String getName() { if (name == null) name = getName0(); return name; } but in theory, accoridng to the JMM experts, it could act as if it does this: public String getName() { String tmp1 = name; // sees null String tmp2 = name; // sees non-null if (tmp2 == null) tmp1 = name = getName0(); return tmp1; } imagine the temporaries are registers. David From Ulf.Zibis at gmx.de Thu Oct 8 10:07:33 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 08 Oct 2009 12:07:33 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD6C1C.5020506@sun.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> <4ACD6C1C.5020506@sun.com> Message-ID: <4ACDB9E5.6090202@gmx.de> Am 08.10.2009 06:35, David Holmes - Sun Microsystems schrieb: > Ulf, > > Ulf Zibis said the following on 10/08/09 08:58: >> For my better understanding: >> Can you explain me the real bug in >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6881442. >> In my understanding, loading the "name" field twice is too only a >> performance bug. Please correct me! > > Class.getName() could in theory return null and this is not allowed, > hence this was a functional correctness issue. Hm, my problem is, I can't see any condition, how Class.getName() could return null, except native method getName0() would return null. But if native getName0() could return null, I can't see how the new code would prevent method Class.getName() from returning null. -Ulf From Ulf.Zibis at gmx.de Thu Oct 8 11:58:55 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 08 Oct 2009 13:58:55 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACDC62A.4020608@sun.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> <4ACD6C1C.5020506@sun.com> <4ACDB9E5.6090202@gmx.de> <4ACDC62A.4020608@sun.com> Message-ID: <4ACDD3FF.7060106@gmx.de> Am 08.10.2009 12:59, David Holmes - Sun Microsystems schrieb: > Hi Ulf, > > It's a memory model issue. The code is like this: > > public String getName() { > if (name == null) > name = getName0(); > return name; > } > > but in theory, accoridng to the JMM experts, it could act as if it > does this: > > public String getName() { > String tmp1 = name; // sees null > String tmp2 = name; // sees non-null > if (tmp2 == null) > tmp1 = name = getName0(); > return tmp1; > } > > imagine the temporaries are registers. Oops, java programming is not simple as it looks like. Can you give me a link, where I can read more about that subject / JMM? David, thanks for your explicit explanation. -Ulf From scolebourne at joda.org Thu Oct 8 10:47:49 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Thu, 8 Oct 2009 11:47:49 +0100 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] Message-ID: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> A number of us are proposing that Objects.toString(obj) should return "" when the object is null. I'm strongly in favour of this, and it removes any discussion of duplicated API (as it does something different and more useful). In favour/against +1/-1 ? Stephen 2009/10/7 Joseph D. Darcy : > David Holmes - Sun Microsystems wrote: >> >> Stephen Colebourne said the following on 10/07/09 18:10: >>> >>> BTW, I don't accept the argument that one and only one way to do >>> something is part of the JDK. >> >> While the JDK is far from a model example of providing "one way" to do >> something, that doesn't mean we should gratuitously add superfluous and >> redundant functionality. > > The JDK has a long history of providing convenience methods. ?For example, > we have PrintStream.format and PrintStream.printf which are just two names > for the same functionality. > >> Type.valueOf is an established pattern for converting types. >> >> The JDK is already severely bloated - new APIs should pay their own way. > > Getting rid of more than half a dozen implementations of equals(Object, > Object) should just in the JDK should more than pay the for the entire > Objects class ;-) > > -Joe > > From Ulf.Zibis at gmx.de Thu Oct 8 16:36:54 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 08 Oct 2009 18:36:54 +0200 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> References: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> Message-ID: <4ACE1526.1000800@gmx.de> +1 or drop Objects.toString(obj) completely. -Ulf Am 08.10.2009 12:47, Stephen Colebourne schrieb: > A number of us are proposing that Objects.toString(obj) should return > "" when the object is null. I'm strongly in favour of this, and it > removes any discussion of duplicated API (as it does something > different and more useful). > > In favour/against +1/-1 ? > > Stephen > > 2009/10/7 Joseph D. Darcy : > >> David Holmes - Sun Microsystems wrote: >> >>> Stephen Colebourne said the following on 10/07/09 18:10: >>> >>>> BTW, I don't accept the argument that one and only one way to do >>>> something is part of the JDK. >>>> >>> While the JDK is far from a model example of providing "one way" to do >>> something, that doesn't mean we should gratuitously add superfluous and >>> redundant functionality. >>> >> The JDK has a long history of providing convenience methods. For example, >> we have PrintStream.format and PrintStream.printf which are just two names >> for the same functionality. >> >> >>> Type.valueOf is an established pattern for converting types. >>> >>> The JDK is already severely bloated - new APIs should pay their own way. >>> >> Getting rid of more than half a dozen implementations of equals(Object, >> Object) should just in the JDK should more than pay the for the entire >> Objects class ;-) >> >> -Joe >> >> >> > > > From pbenedict at apache.org Thu Oct 8 17:04:35 2009 From: pbenedict at apache.org (Paul Benedict) Date: Thu, 8 Oct 2009 12:04:35 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] Message-ID: +1 for me. +1 also for having the overloaded version that can accept a fallback string. Paul From jason_mehrens at hotmail.com Thu Oct 8 17:10:09 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Thu, 8 Oct 2009 12:10:09 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> References: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> Message-ID: +1, return empty string for the one arg and add the two arg variant. The j.u.Properties.getProperty(String, String) could use it first. Just curious, what does project jigsaw think of j.u.Objects? Jason > Date: Thu, 8 Oct 2009 11:47:49 +0100 > Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] > From: scolebourne at joda.org > To: core-libs-dev at openjdk.java.net > > A number of us are proposing that Objects.toString(obj) should return > "" when the object is null. I'm strongly in favour of this, and it > removes any discussion of duplicated API (as it does something > different and more useful). > > In favour/against +1/-1 ? > > Stephen _________________________________________________________________ Hotmail: Powerful Free email with security by Microsoft. http://clk.atdmt.com/GBL/go/171222986/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Thu Oct 8 17:51:50 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 10:51:50 -0700 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: References: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> Message-ID: <4ACE26B6.7040709@sun.com> Jason Mehrens wrote: > +1, return empty string for the one arg and add the two arg > variant. The j.u.Properties.getProperty(String, String) could use it > first. Just curious, what does project jigsaw think of j.u.Objects? I'm preparing the first round of java.util.Objects with the single-argument static toString method return "null" for null for final review. I'll send out a few follow-up emails, including one for additional toStrings methods. I'm sympathetic to the two-argument toString method with a default. Project Jigsaw is about modularity so I don't see what connection there is between Jigsaw and j.u.Objects. -Joe > > Jason > > > > Date: Thu, 8 Oct 2009 11:47:49 +0100 > > Subject: Objects.toString [Re: What methods should go into a > java.util.Objects class in JDK 7?] > > From: scolebourne at joda.org > > To: core-libs-dev at openjdk.java.net > > > > A number of us are proposing that Objects.toString(obj) should return > > "" when the object is null. I'm strongly in favour of this, and it > > removes any discussion of duplicated API (as it does something > > different and more useful). > > > > In favour/against +1/-1 ? > > > > Stephen > > > > ------------------------------------------------------------------------ > Hotmail: Powerful Free email with security by Microsoft. Get it now. > From Joe.Darcy at Sun.COM Thu Oct 8 18:10:01 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 11:10:01 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) Message-ID: <4ACE2AF9.4070104@sun.com> Hello. Please code review the first-round of java.util.Objects; the patch is below: http://cr.openjdk.java.net/~darcy/6797535.0/ -Joe --- old/make/java/java/FILES_java.gmk 2009-10-08 11:04:03.000000000 -0700 +++ new/make/java/java/FILES_java.gmk 2009-10-08 11:04:02.000000000 -0700 @@ -258,6 +258,7 @@ java/util/ServiceConfigurationError.java \ java/util/Timer.java \ java/util/TimerTask.java \ + java/util/Objects.java \ java/util/UUID.java \ java/util/concurrent/AbstractExecutorService.java \ java/util/concurrent/ArrayBlockingQueue.java \ --- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/src/share/classes/java/util/Objects.java 2009-10-08 11:04:03.000000000 -0700 @@ -0,0 +1,102 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.util; + +/** + * This class consists of {@code static} utility methods for operating + * on objects. These utilities include {@code null}-safe or {@code + * null}-tolerant methods for computing the hash code of an object, + * returning a string for an object, and comparing two objects. + * + * @since 1.7 + */ +public class Objects { + private Objects() { + throw new AssertionError("No java.util.Objects instances for you!"); + } + + /** + * Returns {@code true} if the arguments are equal to each other + * and {@code false} otherwise. + * Consequently, if both arguments are {@code null}, {@code true} + * is returned and if exactly one argument is {@code null}, {@code + * false} is returned. Otherwise, equality is determined by using + * the {@link Object#equals equals} method of the first + * argument. + * + * @return {@code true} if the arguments are equal to each other + * and {@code false} otherwise + * @see Object#equals(Object) + */ + public static boolean equals(Object a, Object b) { + return (a == b) || (a != null && a.equals(b)); + } + + /** + * Returns the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument. + * + * @return the hash code of a non-{@code null} argument and 0 for + * a {@code null} argument + * @see Object#hashCode + */ + public static int hashCode(Object o) { + return o != null ? o.hashCode() : 0; + } + + /** + * Returns the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument. + * + * @return the result of calling {@code toString} for a non-{@code + * null} argument and {@code "null"} for a {@code null} argument + * @see Object#toString + * @see String#valueOf(Object) + */ + public static String toString(Object o) { + return String.valueOf(o); + } + + /** + * Returns 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * Consequently, if both arguments are {@code null} 0 + * is returned. + * + *

Note that if one of the arguments is {@code null}, a {@code + * NullPointerException} may or may not be thrown depending on + * what ordering policy, if any, the {@link Comparator Comparator} + * chooses to have for {@code null} values. + * + * @return 0 if the arguments are identical and {@code + * c.compare(a, b)} otherwise. + * @see Comparable + * @see Comparator + */ + public static int compare(T a, T b, Comparator c) { + return (a == b) ? 0 : c.compare(a, b); + } +} --- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/test/java/util/Objects/BasicObjectsTest.java 2009-10-08 11:04:04.000000000 -0700 @@ -0,0 +1,105 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6797535 + * @summary Basic tests for methods in java.util.Objects + * @author Joseph D. Darcy + */ + +import java.util.*; + +public class BasicObjectsTest { + public static void main(String... args) { + int errors = 0; + errors += testEquals(); + errors += testHashCode(); + errors += testToString(); + errors += testCompare(); + if (errors > 0 ) + throw new RuntimeException(); + } + + private static int testEquals() { + int errors = 0; + Object[] values = {null, "42", 42}; + for(int i = 0; i < values.length; i++) + for(int j = 0; j < values.length; j++) { + boolean expected = (i == j); + Object a = values[i]; + Object b = values[j]; + boolean result = Objects.equals(a, b); + if (result != expected) { + errors++; + System.err.printf("When equating %s to %s, got %b intead of %b%n.", + a, b, result, expected); + } + } + return errors; + } + + private static int testHashCode() { + int errors = 0; + errors += (Objects.hashCode(null) == 0 ) ? 0 : 1; + String s = "42"; + errors += (Objects.hashCode(s) == s.hashCode() ) ? 0 : 1; + return errors; + } + + private static int testToString() { + int errors = 0; + errors += ("null".equals(Objects.toString(null)) ) ? 0 : 1; + String s = "Some string"; + errors += (s.equals(Objects.toString(s)) ) ? 0 : 1; + return errors; + } + + private static int testCompare() { + int errors = 0; + String[] values = {"e. e. cummings", "zzz"}; + String[] VALUES = {"E. E. Cummings", "ZZZ"}; + errors += compareTest(null, null, 0); + for(int i = 0; i < values.length; i++) { + String a = values[i]; + errors += compareTest(a, a, 0); + for(int j = 0; j < VALUES.length; j++) { + int expected = Integer.compare(i, j); + String b = VALUES[j]; + errors += compareTest(a, b, expected); + } + } + return errors; + } + + private static int compareTest(String a, String b, int expected) { + int errors = 0; + int result = Objects.compare(a, b, String.CASE_INSENSITIVE_ORDER); + if (Integer.signum(result) != Integer.signum(expected)) { + errors++; + System.err.printf("When comaping %s to %s, got %d intead of %d%n.", + a, b, result, expected); + } + return errors; + } +} From pbenedict at apache.org Thu Oct 8 18:11:01 2009 From: pbenedict at apache.org (Paul Benedict) Date: Thu, 8 Oct 2009 13:11:01 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] Message-ID: Joe, > I'm preparing the first round of java.util.Objects with the > single-argument static toString method return "null" for null for final > review. Why would you choose to return "null" for any null object? Everyone who has opined did disagree with replicating String.valueOf() behavior. I don't see how this behavior is appropriate for all objects: no data in should be no data (or at least empty data) going out. Paul From Joe.Darcy at Sun.COM Thu Oct 8 18:14:18 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 11:14:18 -0700 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: References: Message-ID: <4ACE2BFA.9060205@sun.com> Paul Benedict wrote: > Joe, > > >> I'm preparing the first round of java.util.Objects with the >> single-argument static toString method return "null" for null for final >> review. >> > > Why would you choose to return "null" for any null object? Because that is how the platform has always treated null in string concatenation. > Everyone > who has opined did disagree with replicating String.valueOf() > behavior. The people who disagreed with the replication disagreed with the replication. Others disagreed with the behavior. -Joe From pbenedict at apache.org Thu Oct 8 18:21:59 2009 From: pbenedict at apache.org (Paul Benedict) Date: Thu, 8 Oct 2009 13:21:59 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE2BFA.9060205@sun.com> References: <4ACE2BFA.9060205@sun.com> Message-ID: >> Why would you choose to return "null" for any null object? > > Because that is how the platform has always treated null in string > concatenation. If you were defining new operations for String, StringBuilder, or StringBuffer, I would agree with your choice. Since you are now defining a global utility method for all objects, I think having "null" being the de-facto string representation of null is simply taking it too far. Paul From Joe.Darcy at Sun.COM Thu Oct 8 18:30:29 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 11:30:29 -0700 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: References: <4ACE2BFA.9060205@sun.com> Message-ID: <4ACE2FC5.7070702@sun.com> Paul Benedict wrote: >>> Why would you choose to return "null" for any null object? >>> >> Because that is how the platform has always treated null in string >> concatenation. >> > > If you were defining new operations for String, StringBuilder, or > StringBuffer, I would agree with your choice. Since you are now > defining a global utility method for all objects, I think having > "null" being the de-facto string representation of null is simply > taking it too far. > System.out.println("" + referenceOfAnyType); will print "null" if referenceOfAnyType is null. This is what the platform has done since the beginning. -Joe From Joe.Darcy at Sun.COM Thu Oct 8 18:34:32 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 11:34:32 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? Message-ID: <4ACE30B8.8070302@sun.com> Hello. In the discussion about java.util.Objects, a few existing JDK methods were mentioned for possible var-argification: java.util.Arrays.hashCode(Object[] a) java.util.Arrays.deepHashCode(Object[] a) java.util.Arrays.toString(Object[] a) Also of possible general interest are some methods on String (bug 6762452 API change proposal: Enhance String constructor for varargs) java.lang.String.copyValueOf(char[] data) java.lang.String.valueOf(char[] data) java.lang.String(char[] value) Var-argification is fully binary compatible and is generally source compatible, although new conversions are allowed of course and overloadings may change. -Joe From Joe.Darcy at Sun.COM Thu Oct 8 19:12:11 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 12:12:11 -0700 Subject: j.u.Objects follow-up: variations on Object -> String methods Message-ID: <4ACE398B.50400@sun.com> Hello. During the vigorous discussion of what Objects.toString(Object) should be defined to do, a number of alternatives were suggested: public static toString(Object a, String default) // return default if (a == null) else a.toString() public static toDefaultString(Object a) // return the string Object.toString returns if not overriden, what about null? public static toDebugString(Object a) // reflectively return an informative representation of the argument I can accept the utility of toString(Object a, String default) and will include it in the next round of j.u.Objects updates. The functionality of toDefaultString is included in Apache commons under the name of "identityToString," returning null for a null argument. From a quick Google code search, this methods doesn't seem to be widely called and I'm not yet convinced it's worthwhile to add this method to Objects. I think I could be convinced that a reflection-based toDebugString was useful enough to include in the platform. However, someone would have to contribute the specification and a robust implementation. -Joe From jason_mehrens at hotmail.com Thu Oct 8 20:13:57 2009 From: jason_mehrens at hotmail.com (Jason Mehrens) Date: Thu, 8 Oct 2009 15:13:57 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE26B6.7040709@sun.com> References: <4b4f45e00910080347h9ae22c3m1b50ef30f834c301@mail.gmail.com> <4ACE26B6.7040709@sun.com> Message-ID: Joe, I'll volunteer some "find usage" stats from the code base I work on for a living: 565 ObjectUtils.toString(Object) calls. 487 String.valueOf(Object) calls. Hopefully others can contribute their "find usage" stats. It seems to me that both behaviors are useful. Jason > Date: Thu, 8 Oct 2009 10:51:50 -0700 > From: Joe.Darcy at Sun.COM > Subject: Re: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] > To: jason_mehrens at hotmail.com > CC: core-libs-dev at openjdk.java.net > I'm preparing the first round of java.util.Objects with the > single-argument static toString method return "null" for null for final > review. I'll send out a few follow-up emails, including one for > additional toStrings methods. I'm sympathetic to the two-argument > toString method with a default. > -Joe _________________________________________________________________ Hotmail: Powerful Free email with security by Microsoft. http://clk.atdmt.com/GBL/go/171222986/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jjb at google.com Thu Oct 8 21:56:13 2009 From: jjb at google.com (Joshua Bloch) Date: Thu, 8 Oct 2009 14:56:13 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACE2AF9.4070104@sun.com> References: <4ACE2AF9.4070104@sun.com> Message-ID: <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> Joe, Hi. I think it's great that you're doing this. A few comments: > +public class Objects { > + private Objects() { > + throw new AssertionError("No java.util.Objects instances for > you!"); > + } > Cute! > + > + /** > + * Returns {@code true} if the arguments are equal to each other > + * and {@code false} otherwise. > + * Consequently, if both arguments are {@code null}, {@code true} > + * is returned and if exactly one argument is {@code null}, {@code > + * false} is returned. Otherwise, equality is determined by using > + * the {@link Object#equals equals} method of the first > + * argument. > + * > + * @return {@code true} if the arguments are equal to each other > + * and {@code false} otherwise > + * @see Object#equals(Object) > + */ > + public static boolean equals(Object a, Object b) { > + return (a == b) || (a != null && a.equals(b)); > + } > Very useful! We've needed this one ( equals(Object a, Object b) ) for years. + > + /** > + * Returns the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument. > + * > + * @return the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument > + * @see Object#hashCode > + */ > + public static int hashCode(Object o) { > + return o != null ? o.hashCode() : 0; > + } > Again, very useful. Along these lines, I would add this method too: /** * Generates a hash code for a sequence of input values. The hash code is * generated as if all the input values were placed into an array, and that * array were hashed by calling {@link Arrays#hashCode(Object[])}. *

*

This method is useful for implementing {@link Object#hashCode()} on * objects containing multiple fields. For example, if an object that has * three fields, {@code x}, {@code y}, and {@code z}, one could write: *

     * @Override public int hashCode() {
     *     return Objects.hashCode(x, y, z);
     * }
     * 
* Warning: When a single object reference is supplied, the returned * value does not equal the hash code of that object reference. This * value can be computed by calling {@link #hashCode(Object)}. */ public static int hash(Object... components) { return Arrays.hashCode(components); } People still don't know how to hash objects with multiple fields; this little method makes it much easier. > + > + /** > + * Returns the result of calling {@code toString} for a non-{@code > + * null} argument and {@code "null"} for a {@code null} argument. > + * > + * @return the result of calling {@code toString} for a non-{@code > + * null} argument and {@code "null"} for a {@code null} argument > + * @see Object#toString > + * @see String#valueOf(Object) > + */ > + public static String toString(Object o) { > + return String.valueOf(o); > + } I would definitely *not* add this method (Objects.toString). It brings nothing to the table that isn't already there. People know and use String.valueOf. Let's not muddy the waters by adding another choice. > + > + /** > + * Returns 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * Consequently, if both arguments are {@code null} 0 > + * is returned. > + * > + *

Note that if one of the arguments is {@code null}, a {@code > + * NullPointerException} may or may not be thrown depending on > + * what ordering policy, if any, the {@link Comparator Comparator} > + * chooses to have for {@code null} values. > + * > + * @return 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * @see Comparable > + * @see Comparator > + */ > + public static int compare(T a, T b, Comparator c) { > + return (a == b) ? 0 : c.compare(a, b); > + } > +} I don't think you should add this method ( compare(T a, T b, Comparator c)). Its utility is unclear, and it doesn't have the power-to-weight ratio of the other methods in this class. I strongly suggest that you do add these two methods: /** * Checks that the specified object reference is not {@code null}. This * method is designed primarily for doing parameter validation in methods * and constructors, as demonstrated below: *

     * public Foo(Bar bar) {
     *     this.bar = Objects.nonNull(bar);
     * }
     * 
* * @param obj the object reference to check for nullity * @return {@code obj} if not {@code null} * @throws NullPointerException if {@code obj} is {@code null} */ public static T nonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } /** * Checks that the specified object reference is not {@code null} and * throws a customized {@Link NullPointerException} if it is. This method * is designed primarily for doing parameter validation in methods and * constructors with multiple parameters, as demonstrated below: *
     * public Foo(Bar bar, Baz baz) {
     *     this.bar = Objects.nonNull(bar, "bar must not be null");
     *     this.baz = Objects.nonNull(baz, "baz must not be null");
     * }
     * 
* * @param obj the object reference to check for nullity * @param message detail message to be used in the event that a {@code * NullPointerException} is thrown * @return {@code obj} if not {@code null} * @throws NullPointerException if {@code obj} is {@code null} */ public static T nonNull(T obj, String message) { if (obj == null) throw new NullPointerException(message); return obj; } They do a great job reducing the verbiage in validity-checking of arguments that must not be null. Regards, Josh Bloch and Bob Lee -------------- next part -------------- An HTML attachment was scrubbed... URL: From David.Holmes at Sun.COM Thu Oct 8 23:03:26 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Fri, 09 Oct 2009 09:03:26 +1000 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACDD3FF.7060106@gmx.de> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> <4ACD6C1C.5020506@sun.com> <4ACDB9E5.6090202@gmx.de> <4ACDC62A.4020608@sun.com> <4ACDD3FF.7060106@gmx.de> Message-ID: <4ACE6FBE.5060500@sun.com> Ulf Zibis said the following on 10/08/09 21:58: > Am 08.10.2009 12:59, David Holmes - Sun Microsystems schrieb: >> It's a memory model issue. The code is like this: >> >> public String getName() { >> if (name == null) >> name = getName0(); >> return name; >> } >> >> but in theory, accoridng to the JMM experts, it could act as if it >> does this: >> >> public String getName() { >> String tmp1 = name; // sees null >> String tmp2 = name; // sees non-null >> if (tmp2 == null) >> tmp1 = name = getName0(); >> return tmp1; >> } >> >> imagine the temporaries are registers. > > Oops, java programming is not simple as it looks like. Can you give me a > link, where I can read more about that subject / JMM? > David, thanks for your explicit explanation. The JMM is mostly defined in Chapter 17 of the Java Language Specification Third Edition, but it has little pieces scattered in other places in the spec (eg treatment of final fields). For more gory details than you would want to know check out this site: http://www.cs.umd.edu/~pugh/java/memoryModel/ For the record I disagree with this particular case as I think returning null would violate program order. But the fix is benign so not worth arguing over. And the argument is too difficult to make. :) And as this is getting very OT that's enough of that :) Cheers, David From neugens at limasoftware.net Thu Oct 8 21:15:19 2009 From: neugens at limasoftware.net (Mario Torre) Date: Thu, 08 Oct 2009 23:15:19 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACE2AF9.4070104@sun.com> References: <4ACE2AF9.4070104@sun.com> Message-ID: <4ACE5667.70705@limasoftware.net> Il 08/10/2009 20:10, Joseph D. Darcy ha scritto: Hi Joseph! Of course, it's nitpicking but: > + System.err.printf("When equating %s to %s, got %b intead of %b%n.", > + a, b, result, expected); has a typo in there :) There are others similar, copy and paste errors I suppose. Cheers, Mario From Joe.Darcy at Sun.COM Thu Oct 8 19:59:37 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 08 Oct 2009 12:59:37 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? Message-ID: <4ACE44A9.8060506@sun.com> Another piece of functionality requested in the j.u.Objects thread was a deepEquals(Object a, Object b.) method that "did the right thing" if the arguments happened to dynamically be arrays. I've been thinking a bit how this might be implemented. The array-ness of a and b would need to be determined, after any up-front null-checks boolean aIsArray = a.getClass().isArray(); boolean bIsArray = b.getClass().isArray(); followed various case-analyses. if (aIsArray && bIsArray) { Class aComponentType = a.getClass().getComponentType(); Class bComponentType = b.getClass().getComponentType(); if (aComponentType == bComponentType) { // long case analysis to cast and call Arrays.deepEquals if ComponentType is a reference type // or the matching Arrays.equals(primitiveComponent[], primitiveComponent[]) method if // aComponentType.isPrimitive(). } else return false; } else return a.equals(b); Certainly a bit messy internally. What are scenarios where this method would be used? -Joe From pbenedict at apache.org Thu Oct 8 20:20:52 2009 From: pbenedict at apache.org (Paul Benedict) Date: Thu, 8 Oct 2009 15:20:52 -0500 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE2FC5.7070702@sun.com> References: <4ACE2BFA.9060205@sun.com> <4ACE2FC5.7070702@sun.com> Message-ID: Joe, I understand your point, and that's why I countered with my String and StringBuilder points. Those two classes are used underneath the covers for inline concatenation, but, again, java.util.Objects has grander intentions than string concatenation. This class is for all objects, and however String/StringBuilder work with nulls is totally irrelevant to how this class should behave. You are taking one use from one class and making it the utility behavior for any object. Paul On Thu, Oct 8, 2009 at 1:30 PM, Joseph D. Darcy wrote: > Paul Benedict wrote: >>>> >>>> Why would you choose to return "null" for any null object? >>>> >>> >>> Because that is how the platform has always treated null in string >>> concatenation. >>> >> >> If you were defining new operations for String, StringBuilder, or >> StringBuffer, I would agree with your choice. Since you are now >> defining a global utility method for all objects, I think having >> "null" being the de-facto string representation of null is simply >> taking it too far. >> > > System.out.println("" + referenceOfAnyType); > > will print "null" if referenceOfAnyType is null. > > This is what the platform has done since the beginning. > > -Joe > > From David.Holmes at Sun.COM Thu Oct 8 23:53:36 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Fri, 09 Oct 2009 09:53:36 +1000 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE2FC5.7070702@sun.com> References: <4ACE2BFA.9060205@sun.com> <4ACE2FC5.7070702@sun.com> Message-ID: <4ACE7B80.3020401@sun.com> Joe, Joseph D. Darcy said the following on 10/09/09 04:30: > System.out.println("" + referenceOfAnyType); > > will print "null" if referenceOfAnyType is null. > > This is what the platform has done since the beginning. Yes because String concatenation can not tolerate null values appearing, so it is defined to replace null with "null" (or replace a null from o.toString() with "null"). And I suspect that "null" was chosen over "" because it is then obvious when an unexpected null was encountered. But Objects.toString(o) is not concerned with string concatenation so doesn't have to mimic that behaviour. Personally I'd only put in the two-arg variant because: a) a one-arg that simply forwards to String.valueOf is redundant as already discussed b) a one-arg that hardwires the response to null (whether that be to return null or "null") will simply force the programmer to either switch to a different API or else add their own null handling logic - which defeats the purpose of putting in these utility/convenience methods. So to me: String toString(Object o, String useIfNull) is the only method that provides true utility in this case. David From Joe.Darcy at Sun.COM Fri Oct 9 01:21:52 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Thu, 08 Oct 2009 18:21:52 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> Message-ID: <4ACE9030.3030801@sun.com> Hello. Joshua Bloch wrote: > Joe, > > Hi. I think it's great that you're doing this. A few comments: > > > +public class Objects { > + private Objects() { > + throw new AssertionError("No java.util.Objects instances > for you!"); > + } > > Cute! > > > + > + /** > + * Returns {@code true} if the arguments are equal to each other > + * and {@code false} otherwise. > + * Consequently, if both arguments are {@code null}, {@code true} > + * is returned and if exactly one argument is {@code null}, > {@code > + * false} is returned. Otherwise, equality is determined by > using > + * the {@link Object#equals equals} method of the first > + * argument. > + * > + * @return {@code true} if the arguments are equal to each other > + * and {@code false} otherwise > + * @see Object#equals(Object) > + */ > + public static boolean equals(Object a, Object b) { > + return (a == b) || (a != null && a.equals(b)); > + } > > Very useful! We've needed this one ( equals(Object a, Object b) ) > for years. Indeed. > > + > + /** > + * Returns the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument. > + * > + * @return the hash code of a non-{@code null} argument and 0 for > + * a {@code null} argument > + * @see Object#hashCode > + */ > + public static int hashCode(Object o) { > + return o != null ? o.hashCode() : 0; > + } > > > Again, very useful. Along these lines, I would add this method too: > > /** > * Generates a hash code for a sequence of input values. The hash > code is > * generated as if all the input values were placed into an array, > and that > * array were hashed by calling {@link Arrays#hashCode(Object[])}. > *

> *

This method is useful for implementing {@link > Object#hashCode()} on > * objects containing multiple fields. For example, if an object > that has > * three fields, {@code x}, {@code y}, and {@code z}, one could > write: > *

>      * @Override public int hashCode() {
>      *     return Objects.hashCode(x, y, z);
>      * }
>      * 
> * Warning: When a single object reference is supplied, the > returned > * value does not equal the hash code of that object > reference. This > * value can be computed by calling {@link #hashCode(Object)}. > */ > public static int hash(Object... components) { > return Arrays.hashCode(components); > } > > People still don't know how to hash objects with multiple fields; this > little method makes it much easier. Hmm. I split up a number of the follow-up ideas into separate email threads on core-libs-deve; one of those was whether or not some of the existing methods in Arrays should be var-argified. What about introducing a java.util.Hash (Hasher?) class with * hash methods for double and long implementing the Long and Double hash code algorithms, etc. * the hash convenience method above > > > + > + /** > + * Returns the result of calling {@code toString} for a > non-{@code > + * null} argument and {@code "null"} for a {@code null} argument. > + * > + * @return the result of calling {@code toString} for a > non-{@code > + * null} argument and {@code "null"} for a {@code null} argument > + * @see Object#toString > + * @see String#valueOf(Object) > + */ > + public static String toString(Object o) { > + return String.valueOf(o); > + } > > I would definitely /not/ add this method (Objects.toString). It > brings nothing to the table that isn't already there. People know and > use String.valueOf. Let's not muddy the waters by adding another choice. So noted. > > > + > + /** > + * Returns 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * Consequently, if both arguments are {@code null} 0 > + * is returned. > + * > + *

Note that if one of the arguments is {@code null}, a {@code > + * NullPointerException} may or may not be thrown depending on > + * what ordering policy, if any, the {@link Comparator > Comparator} > + * chooses to have for {@code null} values. > + * > + * @return 0 if the arguments are identical and {@code > + * c.compare(a, b)} otherwise. > + * @see Comparable > + * @see Comparator > + */ > + public static int compare(T a, T b, Comparator > c) { > + return (a == b) ? 0 : c.compare(a, b); > + } > +} > > I don't think you should add this method ( compare(T a, T b, > Comparator c)). Its utility is unclear, and it doesn't > have the power-to-weight ratio of the other methods in this class. Yeah, I included this with "Item 12: Consider implementing Comparable" from EJv2 in mind. > > I strongly suggest that you do add these two methods: > > /** > * Checks that the specified object reference is not {@code null}. > This > * method is designed primarily for doing parameter validation in > methods > * and constructors, as demonstrated below: > *

>      * public Foo(Bar bar) {
>      *     this.bar = Objects.nonNull(bar);
>      * }
>      * 
> * > * @param obj the object reference to check for nullity > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj) { > if (obj == null) > throw new NullPointerException(); > return obj; > } > > /** > * Checks that the specified object reference is not {@code null} and > * throws a customized {@Link NullPointerException} if it is. This > method > * is designed primarily for doing parameter validation in methods and > * constructors with multiple parameters, as demonstrated below: > *
>      * public Foo(Bar bar, Baz baz) {
>      *     this.bar = Objects.nonNull(bar, "bar must not be null");
>      *     this.baz = Objects.nonNull(baz, "baz must not be null");
>      * }
>      * 
> * > * @param obj the object reference to check for nullity > * @param message detail message to be used in the event that a {@code > * NullPointerException} is thrown > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj, String message) { > if (obj == null) > throw new NullPointerException(message); > return obj; > } > > They do a great job reducing the verbiage in validity-checking of > arguments that must not be null. I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for these last two methods. If you want to finish off the engineering need for a changeset, some light tests, etc., I'll file the Sun-internal paperwork for these. Once the Mercurial repos are feeling healthy again, I'm going to push the four-method version of j.u.Objects (equals(Object, Object), hashCode(Object), toString(Object), compare(T, T)) into JDK 7 TL. Afterward I expect discussions of refinements, changes, and additions to j.u.Objects to continue on the mailing list. -Joe From Joe.Darcy at Sun.COM Fri Oct 9 01:22:22 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Thu, 08 Oct 2009 18:22:22 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACE5667.70705@limasoftware.net> References: <4ACE2AF9.4070104@sun.com> <4ACE5667.70705@limasoftware.net> Message-ID: <4ACE904E.3020301@sun.com> Mario Torre wrote: > Il 08/10/2009 20:10, Joseph D. Darcy ha scritto: > > Hi Joseph! > > Of course, it's nitpicking but: > > > + System.err.printf("When equating %s to %s, got %b intead of %b%n.", > > + a, b, result, expected); > > has a typo in there :) > > There are others similar, copy and paste errors I suppose. > Will be fixed. Thanks for catching these, -Joe From develop4lasu at gmail.com Fri Oct 9 06:58:56 2009 From: develop4lasu at gmail.com (=?UTF-8?Q?Marek_Kozie=C5=82?=) Date: Fri, 9 Oct 2009 08:58:56 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACE2AF9.4070104@sun.com> References: <4ACE2AF9.4070104@sun.com> Message-ID: <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> 2009/10/8 Joseph D. Darcy : > Hello. > > Please code review the first-round of java.util.Objects; the patch is below: > http://cr.openjdk.java.net/~darcy/6797535.0/ > > -Joe > > --- old/make/java/java/FILES_java.gmk ? 2009-10-08 11:04:03.000000000 -0700 > +++ new/make/java/java/FILES_java.gmk ? 2009-10-08 11:04:02.000000000 -0700 > @@ -258,6 +258,7 @@ > ? ?java/util/ServiceConfigurationError.java \ > ? ?java/util/Timer.java \ > ? ?java/util/TimerTask.java \ > + ? ?java/util/Objects.java \ > ? ?java/util/UUID.java \ > ? ?java/util/concurrent/AbstractExecutorService.java \ > ? ?java/util/concurrent/ArrayBlockingQueue.java \ > --- /dev/null ? 2009-07-06 20:02:10.000000000 -0700 > +++ new/src/share/classes/java/util/Objects.java ? ? ? ?2009-10-08 > 11:04:03.000000000 -0700 > @@ -0,0 +1,102 @@ > +/* > + * Copyright 2009 Sun Microsystems, Inc. ?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 > + * under the terms of the GNU General Public License version 2 only, as > + * published by the Free Software Foundation. ?Sun designates this > + * particular file as subject to the "Classpath" exception as provided > + * by Sun in the LICENSE file that accompanied this code. > + * > + * This code is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU General Public License > + * version 2 for more details (a copy is included in the LICENSE file that > + * accompanied this code). > + * > + * You should have received a copy of the GNU General Public License > version > + * 2 along with this work; if not, write to the Free Software Foundation, > + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > + * > + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, > + * CA 95054 USA or visit www.sun.com if you need additional information or > + * have any questions. > + */ > + > +package java.util; > + > +/** > + * This class consists of {@code static} utility methods for operating > + * on objects. ?These utilities include {@code null}-safe or {@code > + * null}-tolerant methods for computing the hash code of an object, > + * returning a string for an object, and comparing two objects. > + * > + * @since 1.7 > + */ > +public class Objects { > + ? ?private Objects() { > + ? ? ? ?throw new AssertionError("No java.util.Objects instances for > you!"); > + ? ?} > + > + ? ?/** > + ? ? * Returns {@code true} if the arguments are equal to each other > + ? ? * and {@code false} otherwise. > + ? ? * Consequently, if both arguments are {@code null}, {@code true} > + ? ? * is returned and if exactly one argument is {@code null}, {@code > + ? ? * false} is returned. ?Otherwise, equality is determined by using > + ? ? * the {@link Object#equals equals} method of the first > + ? ? * argument. > + ? ? * > + ? ? * @return {@code true} if the arguments are equal to each other > + ? ? * and {@code false} otherwise > + ? ? * @see Object#equals(Object) > + ? ? */ > + ? ?public static boolean equals(Object a, Object b) { > + ? ? ? ?return (a == b) || (a != null && a.equals(b)); > + ? ?} Hello, I would suggest other implementation of equals method: public static boolean equals(Object a, Object b) { if (a == null) return (b == null ? true : b.equals(null)); if (b == null) return a.equals(null); return a.equals(b); } This one could cover case when null is considered as object in object equals method, while in not time implementation result might depend from arguments order: class Boo { public String data; @Override public boolean equals(Object obj) { if (obj == null) return (data == null);// ... } } -- Regards. Lasu aka Marek Kozie? http://lasu2string.blogspot.com/ From Ulf.Zibis at gmx.de Fri Oct 9 08:16:06 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 10:16:06 +0200 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE7B80.3020401@sun.com> References: <4ACE2BFA.9060205@sun.com> <4ACE2FC5.7070702@sun.com> <4ACE7B80.3020401@sun.com> Message-ID: <4ACEF146.8060403@gmx.de> Am 09.10.2009 01:53, David Holmes - Sun Microsystems schrieb: > So to me: String toString(Object o, String useIfNull) is the only > method that provides true utility in this case. > I can follow this argumentation. +1 -Ulf From Ulf.Zibis at gmx.de Fri Oct 9 08:33:40 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 10:33:40 +0200 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4ACE30B8.8070302@sun.com> References: <4ACE30B8.8070302@sun.com> Message-ID: <4ACEF564.8000407@gmx.de> Am 08.10.2009 20:34, Joseph D. Darcy schrieb: > Hello. > > In the discussion about java.util.Objects, a few existing JDK methods > were mentioned for possible var-argification: > > java.util.Arrays.hashCode(Object[] a) > java.util.Arrays.deepHashCode(Object[] a) > java.util.Arrays.toString(Object[] a) > > Also of possible general interest are some methods on String (bug > 6762452 API change proposal: Enhance String constructor for varargs) > > java.lang.String.copyValueOf(char[] data) > java.lang.String.valueOf(char[] data) > java.lang.String(char[] value) > > Var-argification is fully binary compatible and is generally source > compatible, although new conversions are allowed of course and > overloadings may change. > As String is final, there are no changed overloadings. As the Arrays methods are static, there are too no changed overloadings. OK, correct me, if I'm wrong. -Ulf From Ulf.Zibis at gmx.de Fri Oct 9 08:42:04 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 10:42:04 +0200 Subject: j.u.Objects follow-up: variations on Object -> String methods In-Reply-To: <4ACE398B.50400@sun.com> References: <4ACE398B.50400@sun.com> Message-ID: <4ACEF75C.4020406@gmx.de> Am 08.10.2009 21:12, Joseph D. Darcy schrieb: > > I think I could be convinced that a reflection-based toDebugString was > useful enough to include in the platform. However, someone would have > to contribute the specification and a robust implementation. I more tend to prefer a separate class, called java.util.Debug. You could start a survey like for project coin, to collect ideas, what helper methods users want for debugging purposes. -Ulf From Eamonn.McManus at Sun.COM Fri Oct 9 08:56:55 2009 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Fri, 09 Oct 2009 10:56:55 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> References: <4ACE2AF9.4070104@sun.com> <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> Message-ID: <4ACEFAD7.5060108@sun.com> Hi, Marek Kozie? wrote: >> + public static boolean equals(Object a, Object b) { >> + return (a == b) || (a != null && a.equals(b)); >> + } > > Hello, > I would suggest other implementation of equals method: > > public static boolean equals(Object a, Object b) { > if (a == null) return (b == null ? true : b.equals(null)); > if (b == null) return a.equals(null); > return a.equals(b); > } > > This one could cover case when null is considered as object in object > equals method [...] An equals implementation that can return true when its argument is null violates its contract since it is not symmetric. In fact, the spec of Object.equals specifically says that the method must return false when the argument is null. Regards, ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus Marek Kozie? wrote: > 2009/10/8 Joseph D. Darcy : >> Hello. >> >> Please code review the first-round of java.util.Objects; the patch is below: >> http://cr.openjdk.java.net/~darcy/6797535.0/ >> >> -Joe >> >> --- old/make/java/java/FILES_java.gmk 2009-10-08 11:04:03.000000000 -0700 >> +++ new/make/java/java/FILES_java.gmk 2009-10-08 11:04:02.000000000 -0700 >> @@ -258,6 +258,7 @@ >> java/util/ServiceConfigurationError.java \ >> java/util/Timer.java \ >> java/util/TimerTask.java \ >> + java/util/Objects.java \ >> java/util/UUID.java \ >> java/util/concurrent/AbstractExecutorService.java \ >> java/util/concurrent/ArrayBlockingQueue.java \ >> --- /dev/null 2009-07-06 20:02:10.000000000 -0700 >> +++ new/src/share/classes/java/util/Objects.java 2009-10-08 >> 11:04:03.000000000 -0700 >> @@ -0,0 +1,102 @@ >> +/* >> + * Copyright 2009 Sun Microsystems, Inc. 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 >> + * under the terms of the GNU General Public License version 2 only, as >> + * published by the Free Software Foundation. Sun designates this >> + * particular file as subject to the "Classpath" exception as provided >> + * by Sun in the LICENSE file that accompanied this code. >> + * >> + * This code is distributed in the hope that it will be useful, but WITHOUT >> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or >> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License >> + * version 2 for more details (a copy is included in the LICENSE file that >> + * accompanied this code). >> + * >> + * You should have received a copy of the GNU General Public License >> version >> + * 2 along with this work; if not, write to the Free Software Foundation, >> + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. >> + * >> + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, >> + * CA 95054 USA or visit www.sun.com if you need additional information or >> + * have any questions. >> + */ >> + >> +package java.util; >> + >> +/** >> + * This class consists of {@code static} utility methods for operating >> + * on objects. These utilities include {@code null}-safe or {@code >> + * null}-tolerant methods for computing the hash code of an object, >> + * returning a string for an object, and comparing two objects. >> + * >> + * @since 1.7 >> + */ >> +public class Objects { >> + private Objects() { >> + throw new AssertionError("No java.util.Objects instances for >> you!"); >> + } >> + >> + /** >> + * Returns {@code true} if the arguments are equal to each other >> + * and {@code false} otherwise. >> + * Consequently, if both arguments are {@code null}, {@code true} >> + * is returned and if exactly one argument is {@code null}, {@code >> + * false} is returned. Otherwise, equality is determined by using >> + * the {@link Object#equals equals} method of the first >> + * argument. >> + * >> + * @return {@code true} if the arguments are equal to each other >> + * and {@code false} otherwise >> + * @see Object#equals(Object) >> + */ >> + public static boolean equals(Object a, Object b) { >> + return (a == b) || (a != null && a.equals(b)); >> + } > > Hello, > I would suggest other implementation of equals method: > > public static boolean equals(Object a, Object b) { > if (a == null) return (b == null ? true : b.equals(null)); > if (b == null) return a.equals(null); > return a.equals(b); > } > > This one could cover case when null is considered as object in object > equals method, while in not time implementation result might depend > from arguments order: > > class Boo { > public String data; > > @Override > public boolean equals(Object obj) { > if (obj == null) return (data == null);// > ... > } > } > > From Eamonn.McManus at Sun.COM Fri Oct 9 09:15:48 2009 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Fri, 09 Oct 2009 11:15:48 +0200 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACE7B80.3020401@sun.com> References: <4ACE2BFA.9060205@sun.com> <4ACE2FC5.7070702@sun.com> <4ACE7B80.3020401@sun.com> Message-ID: <4ACEFF44.4070806@sun.com> David Holmes - Sun Microsystems wrote: > So to me: String toString(Object o, String useIfNull) is the only method > that provides true utility in this case. I agree with that, and would just suggest to the person specifying the method to add a @see String#valueOf(Object). I find that the behaviour of that method is usually exactly what I want when the argument is null (and I find the idea of representing null by an empty string aberrant, but there you go), so for people like me but who might not have noticed String.valueOf this will save them from peppering Objects.toString(x, "null") throughout their programs. ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus David Holmes - Sun Microsystems wrote: > Joe, > > Joseph D. Darcy said the following on 10/09/09 04:30: >> System.out.println("" + referenceOfAnyType); >> >> will print "null" if referenceOfAnyType is null. >> >> This is what the platform has done since the beginning. > > Yes because String concatenation can not tolerate null values appearing, > so it is defined to replace null with "null" (or replace a null from > o.toString() with "null"). And I suspect that "null" was chosen over "" > because it is then obvious when an unexpected null was encountered. > > But Objects.toString(o) is not concerned with string concatenation so > doesn't have to mimic that behaviour. > > Personally I'd only put in the two-arg variant because: > > a) a one-arg that simply forwards to String.valueOf is redundant as > already discussed > > b) a one-arg that hardwires the response to null (whether that be to > return null or "null") will simply force the programmer to either switch > to a different API or else add their own null handling logic - which > defeats the purpose of putting in these utility/convenience methods. > > So to me: String toString(Object o, String useIfNull) is the only method > that provides true utility in this case. > > David From Eamonn.McManus at Sun.COM Fri Oct 9 09:30:33 2009 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Fri, 09 Oct 2009 11:30:33 +0200 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACE44A9.8060506@sun.com> References: <4ACE44A9.8060506@sun.com> Message-ID: <4ACF02B9.8070708@sun.com> Joseph D. Darcy wrote: > What are scenarios where this method would be used? I use a similar method fairly often in unit tests. JUnit's assertEquals doesn't do the right thing if its arguments happen to be arrays, so I use the following simple if inefficient implementation: static void deepEquals(Object x, Object y) { return Arrays.deepEquals(new Object[] {x}, new Object[] {y}); } What that shows of course is that the messy logic you mention is already present in Arrays.deepEquals so you could factor it out. Regards, ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus Joseph D. Darcy wrote: > Another piece of functionality requested in the j.u.Objects thread was a > deepEquals(Object a, Object b.) method that "did the right thing" if the > arguments happened to dynamically be arrays. > > I've been thinking a bit how this might be implemented. > > The array-ness of a and b would need to be determined, after any > up-front null-checks > > boolean aIsArray = a.getClass().isArray(); > boolean bIsArray = b.getClass().isArray(); > > followed various case-analyses. > > if (aIsArray && bIsArray) { > Class aComponentType = a.getClass().getComponentType(); > Class bComponentType = b.getClass().getComponentType(); > if (aComponentType == bComponentType) { > // long case analysis to cast and call Arrays.deepEquals if > ComponentType is a reference type > // or the matching Arrays.equals(primitiveComponent[], > primitiveComponent[]) method if > // aComponentType.isPrimitive(). > } else > return false; > } else > return a.equals(b); > > Certainly a bit messy internally. > > What are scenarios where this method would be used? > > -Joe From Ulf.Zibis at gmx.de Fri Oct 9 09:30:13 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 11:30:13 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACEFAD7.5060108@sun.com> References: <4ACE2AF9.4070104@sun.com> <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> <4ACEFAD7.5060108@sun.com> Message-ID: <4ACF02A5.1020000@gmx.de> Am 09.10.2009 10:56, Eamonn McManus schrieb: > Hi, > > Marek Kozie? wrote: > >> + public static boolean equals(Object a, Object b) { > >> + return (a == b) || (a != null && a.equals(b)); > >> + } > > > > Hello, > > I would suggest other implementation of equals method: > > > > public static boolean equals(Object a, Object b) { > > if (a == null) return (b == null ? true : b.equals(null)); > > if (b == null) return a.equals(null); > > return a.equals(b); > > } > > > > This one could cover case when null is considered as object in object > > equals method [...] > > An equals implementation that can return true when its argument is > null violates its contract since > it is not symmetric. In fact, the spec of Object.equals specifically > says that the method must > return false when the argument is null. > The spec, you mention, refers to the instance method equals(), but here we are talking about static helpers. But anyway, I don't understand the point of Marek's implementation. -Ulf From Ulf.Zibis at gmx.de Fri Oct 9 09:33:37 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 11:33:37 +0200 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACF02B9.8070708@sun.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> Message-ID: <4ACF0371.8090407@gmx.de> Am 09.10.2009 11:30, Eamonn McManus schrieb: > Joseph D. Darcy wrote: > > What are scenarios where this method would be used? > > I use a similar method fairly often in unit tests. JUnit's > assertEquals doesn't > do the right thing if its arguments happen to be arrays, so I use the > following > simple if inefficient implementation: Don't you know about assertArrayEquals() in JUnit ? It's in version 4.5. -Ulf From Eamonn.McManus at Sun.COM Fri Oct 9 09:36:20 2009 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Fri, 09 Oct 2009 11:36:20 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACF02A5.1020000@gmx.de> References: <4ACE2AF9.4070104@sun.com> <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> <4ACEFAD7.5060108@sun.com> <4ACF02A5.1020000@gmx.de> Message-ID: <4ACF0414.70500@sun.com> > The spec, you mention, refers to the instance method equals(), but here > we are talking about static helpers. The difference between Marek's suggestion and Joe's is what happens when the equals(Object) method of a or b returns true for a null argument, and that is what I was saying violates the spec. ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus Ulf Zibis wrote: > Am 09.10.2009 10:56, Eamonn McManus schrieb: >> Hi, >> >> Marek Kozie? wrote: >> >> + public static boolean equals(Object a, Object b) { >> >> + return (a == b) || (a != null && a.equals(b)); >> >> + } >> > >> > Hello, >> > I would suggest other implementation of equals method: >> > >> > public static boolean equals(Object a, Object b) { >> > if (a == null) return (b == null ? true : b.equals(null)); >> > if (b == null) return a.equals(null); >> > return a.equals(b); >> > } >> > >> > This one could cover case when null is considered as object in object >> > equals method [...] >> >> An equals implementation that can return true when its argument is >> null violates its contract since >> it is not symmetric. In fact, the spec of Object.equals specifically >> says that the method must >> return false when the argument is null. >> > > The spec, you mention, refers to the instance method equals(), but here > we are talking about static helpers. > > But anyway, I don't understand the point of Marek's implementation. > > -Ulf > > From Ulf.Zibis at gmx.de Fri Oct 9 09:39:17 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 11:39:17 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACF0414.70500@sun.com> References: <4ACE2AF9.4070104@sun.com> <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> <4ACEFAD7.5060108@sun.com> <4ACF02A5.1020000@gmx.de> <4ACF0414.70500@sun.com> Message-ID: <4ACF04C5.20704@gmx.de> Am 09.10.2009 11:36, Eamonn McManus schrieb: > > The spec, you mention, refers to the instance method equals(), but here > > we are talking about static helpers. > > The difference between Marek's suggestion and Joe's is what happens when > the equals(Object) method of a or b returns true for a null argument, and > that is what I was saying violates the spec. > > I got it, thanks. -Ulf From Eamonn.McManus at Sun.COM Fri Oct 9 10:02:34 2009 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Fri, 09 Oct 2009 12:02:34 +0200 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACF0371.8090407@gmx.de> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> <4ACF0371.8090407@gmx.de> Message-ID: <4ACF0A3A.3020805@sun.com> > Don't you know about assertArrayEquals() in JUnit ? It's in version 4.5. I can use that if I know the values are arrays. The sort of case I'm thinking of is a data-driven test where I have a big array with a lot of inputs and the corresponding expected outputs, some but not all of which might be arrays, including primitive arrays. For example, the inputs are expressions in a script language and the outputs are what those expressions should evaluate to. The test iterates over the array and does assertDeepEquals for each input/output pair. But it is true that I could use the same new Object[] {x} trick there, in other words define assertDeepEquals in terms of assertArrayEquals, to get better failure messages. The main advantages I see of deepEquals(Object, Object) are that it avoids allocating a throw-away array (which is not a concern in unit tests), and more importantly that it is easier to find than the new Object[] {x} trick. ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus Ulf Zibis wrote: > Am 09.10.2009 11:30, Eamonn McManus schrieb: >> Joseph D. Darcy wrote: >> > What are scenarios where this method would be used? >> >> I use a similar method fairly often in unit tests. JUnit's >> assertEquals doesn't >> do the right thing if its arguments happen to be arrays, so I use the >> following >> simple if inefficient implementation: > > Don't you know about assertArrayEquals() in JUnit ? It's in version 4.5. > > -Ulf > > From develop4lasu at gmail.com Fri Oct 9 10:58:09 2009 From: develop4lasu at gmail.com (=?UTF-8?Q?Marek_Kozie=C5=82?=) Date: Fri, 9 Oct 2009 12:58:09 +0200 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACF0414.70500@sun.com> References: <4ACE2AF9.4070104@sun.com> <28bca0ff0910082358m7aef2399m5fa436c858b27f28@mail.gmail.com> <4ACEFAD7.5060108@sun.com> <4ACF02A5.1020000@gmx.de> <4ACF0414.70500@sun.com> Message-ID: <28bca0ff0910090358r6772246dudb29d6583d7059e8@mail.gmail.com> 2009/10/9 Eamonn McManus : >> The spec, you mention, refers to the instance method equals(), but here >> we are talking about static helpers. > > The difference between Marek's suggestion and Joe's is what happens when > the equals(Object) method of a or b returns true for a null argument, and > that is what I was saying violates the spec. > > ?amonn McManus ? JMX Spec Lead ? http://weblogs.java.net/blog/emcmanus > > Hello, Try to understand my point of view. Fist of all we need to notice that returning true for double null-s are not correct for 100% cases. Depending from logic, null might mean 'no object' or 'unknown object' so any way at this point implementation take most common usage. At second hand if we establish that null == Any Object is false we do not gain anything while suggested implementation: 1. It allow to detects if called equals(Object o) is null safe, So there will be no problem if some will use equals(Object o1,Object o2) and then start to use a.equals(b) because it will be called this way in suggested implementation. 2. If some one will need include null in equal logic (is not important now what is the reason) he will be able to do it without re-implementing this part of code. So with suggested implementation we do not lose anything because specification of equals(Object o) is still valid, it just allow to extend it with null support which is main reason why it should be called from Objects. -- Regards. Lasu aka Marek Kozie? http://lasu2string.blogspot.com/ From opinali at gmail.com Fri Oct 9 12:50:23 2009 From: opinali at gmail.com (Osvaldo Doederlein) Date: Fri, 9 Oct 2009 09:50:23 -0300 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACE44A9.8060506@sun.com> References: <4ACE44A9.8060506@sun.com> Message-ID: Hi, Some suggestions: 1) Any equals*(a, b) methods should support a==null && b==null returning true, only a==null returning -1, and only b==null returning +1. This is very useful for much the same reasons that it's useful in SQL (although the exact ordering of null/non-null is debatable - SQL defaults to "nulls last" but allows you to specify NULLS FIRST, and I agree that its default "nulls first" makes more sense most of the time). This handling of nulls should also extend to any elements of a and b. 2) What the platform REALLY needs is a System.arrayequals(Object src1, int pos1, Object src2, int pos2, int length) that, just like the existing arraycopy(), handles arrays of arbitrary types (that's why src1/src2 are specified as Object). The implementation is trivial (with JNI): just compare the element types, do all the parameter/bound checking and if OK, call memcmp() with the addresses of src1[pos1] and src2[pos2], and length translated to bytes. A better implementation would perform intrinsic compilation. I think the various typed Arrays.equals(a,b) methods already do such optimization (the reason for documentation like: "Unlike the ==operator, this method considers NaN equals to itself, and 0.0d unequal to -0.0d."), but these still leave use with the cost of a long case analysis for scenarios like deepEquals() that must handle arrays of arbitrary element-types. IMHO all those typed equals(a,b) should just delegate to a single method, in the System class (not Arrays, not ObjectUtils or whatever), that provides a low-level "raw equals" function. With this low-level (but still safe) function, we can build higher-level APIs like a deepEquals(a,b) with optimum performance. Also, in the current platform there's ByteBuffer.equals() that supports comparison of buffers of arbitrary element types without case analysis, and I guess is also compiled as intrinsic; but I don't want to wrap all my arrays in NIO buffers. The ByteBuffer.equals() should also delegate to the unified System.arrayequals(). A+ Osvaldo 2009/10/8 Joseph D. Darcy > Another piece of functionality requested in the j.u.Objects thread was a > deepEquals(Object a, Object b.) method that "did the right thing" if the > arguments happened to dynamically be arrays. > > I've been thinking a bit how this might be implemented. > > The array-ness of a and b would need to be determined, after any up-front > null-checks > > boolean aIsArray = a.getClass().isArray(); > boolean bIsArray = b.getClass().isArray(); > > followed various case-analyses. > > if (aIsArray && bIsArray) { > Class aComponentType = a.getClass().getComponentType(); > Class bComponentType = b.getClass().getComponentType(); > if (aComponentType == bComponentType) { > // long case analysis to cast and call Arrays.deepEquals if > ComponentType is a reference type > // or the matching Arrays.equals(primitiveComponent[], > primitiveComponent[]) method if > // aComponentType.isPrimitive(). > } else > return false; > } else > return a.equals(b); > > Certainly a bit messy internally. > > What are scenarios where this method would be used? > > -Joe > -------------- next part -------------- An HTML attachment was scrubbed... URL: From John.Rose at Sun.COM Fri Oct 9 15:12:00 2009 From: John.Rose at Sun.COM (John Rose) Date: Fri, 09 Oct 2009 08:12:00 -0700 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <38a53eb30910051101n1cd69750r99455ec8dfc5a6b9@mail.gmail.com> References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> <38a53eb30910051101n1cd69750r99455ec8dfc5a6b9@mail.gmail.com> Message-ID: Thanks, Ben; well said. Putting a multi-language JVM feature under java.lang would be the wrong signal. OTOH, if we ever do a type "Dynamic" in the Java language (a la C#) that would belong in java.lang. But we are not, at present. (Despite an earlier blog proposal of mine!) JVM changes are a big enough job for now. -- John On Oct 5, 2009, at 11:01 AM, Ben Evans wrote: > I think this is somewhat of a red herring. > > After all, there are many classes which live in java.lang which are > fundamental to the operation of the platform, and which any language > which lived on top of the VM would have an intimate relationship > with (eg Object, Class, String, etc). > > If we are moving to a point of view in which the Java language is > not central to the platform, but rather first among equals (by > removing all direct dependencies of the JVM spec on the JLS, etc), > then in an ideal world these classes would live in java.core or > java.platform or something. That would of course break the whole > world, so is clearly not going to happen. The best we can do is not > make the situation worse for future amendments, by not placing > additional classes which are not specific to the Java language into > java.lang. > > I am puzzled, however, by your assertion that dynamic invocation is > closer to the language than 'not', ie closer to the language than > the platform. > > Non-Java languages have been making use (and shipping support for, > in some cases) of dynamic invocation for quite a few months now. The > experience of those language's implementors has been integral to the > development process of this feature. The Java language has been > playing catch-up throughout. It's fantastic that it's in the JLS now > and I look forward to seeing some first-class implementations of it, > but this feature really wasn't crafted with Java as the pre-eminent > use case. > > Ben From pbenedict at apache.org Fri Oct 9 15:26:55 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 9 Oct 2009 10:26:55 -0500 Subject: JSR-292: Why not java.lang.dyn? Message-ID: For the background on my reasoning, the popular shift towards dynamic languages makes me wonder how far off a C#-like dynamic feature is for Java too. I hedge my bet that it will eventually happen -- years upon years away -- when more serious use cases are found. Thus, to prevent the case of split packages (java.dyn and java.lang.dyn), I chose to bring up the discussion. Ben and John, thank you for your responses. It is good to understand your vantage. Paul From schulz at e-spirit.de Fri Oct 9 09:18:20 2009 From: schulz at e-spirit.de (Schulz, Stefan) Date: Fri, 9 Oct 2009 11:18:20 +0200 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACE44A9.8060506@sun.com> References: <4ACE44A9.8060506@sun.com> Message-ID: <7D2077BFF677D2429DDDEE095D9A48AC13B81C69@osiris2.e-spirit.de> Joe wrote: > Another piece of functionality requested in the j.u.Objects > thread was a > deepEquals(Object a, Object b.) method that "did the right > thing" if the > arguments happened to dynamically be arrays. > > I've been thinking a bit how this might be implemented. > > The array-ness of a and b would need to be determined, after any > up-front null-checks > > boolean aIsArray = a.getClass().isArray(); > boolean bIsArray = b.getClass().isArray(); > > followed various case-analyses. > > if (aIsArray && bIsArray) { > Class aComponentType = a.getClass().getComponentType(); > Class bComponentType = b.getClass().getComponentType(); > if (aComponentType == bComponentType) { > // long case analysis to cast and call Arrays.deepEquals if > ComponentType is a reference type > // or the matching Arrays.equals(primitiveComponent[], > primitiveComponent[]) method if > // aComponentType.isPrimitive(). > } else > return false; > } else > return a.equals(b); > > Certainly a bit messy internally. I've attached the implementation we use below. And, yes, it is a bit messy ;) Two points, which might not be standard: if one of the argument is null or only one of the arguments is an array, the implementation returns false. I saw that your proposed equals() method does allow for an object to decide upon true or false, if only the second argument is null. As will the above approach allow for any object to decide upen true or false, if the given argument is an array. Both may or may not be desired, but usually should not according to the contract of equals(). > What are scenarios where this method would be used? We use it in generic environments. For example, some event handling implementation, that fires only on data change, where the concrete type of data is not known (as this knowledge is not important for handling mechanisms). Another one are generic key-based data caches. Stefan public static boolean deepEquals(final Object a, final Object b) { if (a == b) { return true; } if (a == null || b == null) { return false; } if (a.getClass().isArray()) { if ( ! b.getClass().isArray()) { return false; } final Class type = a.getClass().getComponentType(); if (type.isPrimitive()) { if (b.getClass().getComponentType() != type) { return false; } if (type == Byte.TYPE) { return Arrays.equals((byte[]) a, (byte[]) b); } if (type == Short.TYPE) { return Arrays.equals((short[]) a, (short[]) b); } if (type == Integer.TYPE) { return Arrays.equals((int[]) a, (int[]) b); } if (type == Long.TYPE) { return Arrays.equals((long[]) a, (long[]) b); } if (type == Character.TYPE) { return Arrays.equals((char[]) a, (char[]) b); } if (type == Float.TYPE) { return Arrays.equals((float[]) a, (float[]) b); } if (type == Double.TYPE) { return Arrays.equals((double[]) a, (double[]) b); } if (type == Boolean.TYPE) { return Arrays.equals((boolean[]) a, (boolean[]) b); } } return Arrays.deepEquals((Object[]) a, (Object[]) b); } return a.equals(b); } From jjb at google.com Fri Oct 9 16:55:46 2009 From: jjb at google.com (Joshua Bloch) Date: Fri, 9 Oct 2009 09:55:46 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4ACE30B8.8070302@sun.com> References: <4ACE30B8.8070302@sun.com> Message-ID: <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> Joe, I'm not sure I like this idea. My one experience with forcing an array method to do double duty as varargs method was a disaster. The method was Arrays.asList, and the result was Puzzler # 7 from "The Continuing Adventures of Java?Puzzlers: Tiger Traps." Here it is: *7. ?Fib O?Nacci?* public class Fibonacci { private static final int LENGTH = 7; public static void main(String[] args) { int[] fib = new int[LENGTH]; fib[0] = fib[1] = 1; // First 2 Fibonacci numbers for (inti = 2; i < LENGTH; i++) fib[i] = fib[i -2] + fib[i -1]; System.out.println(Arrays.asList(fib)); } } The main moral of the puzzle was: Use varargssparingly in your APIs ?It can hide errors and cause confusion ?This program wouldn't compile under 1.4 Arrays.hashCode, equals, and toString are already overloaded out the wazoo; adding varargs to the mix could be deadly. Also, Arrays is not the place where people would go looking for what is essentially a hashing utility. So I'm not in favor of varargifying the existing methods in Arrays, but I am in favor of adding a convenience method like this somewhere: /** * Generates a hash code for a sequence of input values. The hash code is * generated as if all the input values were placed into an array, and that * array were hashed by calling {@link Arrays#hashCode(Object[])}. *

*

This method is useful for implementing {@link Object#hashCode()} on * objects containing multiple fields. For example, if an object that has * three fields, {@code x}, {@code y}, and {@code z}, one could write: *

     * @Override public int hashCode() {
     *     return Objects.hashCode(x, y, z);
     * }
     * 
* Warning: When a single object reference is supplied, the returned * value does not equal the hash code of that object reference. This * value can be computed by calling {@link #hashCode(Object)}. */ public static int hash(Object... components) { return Arrays.hashCode(components); } Viewed in isolation, it's simple, straightforward, and will help people write high quality hashCode methods. I don't think Objects is a bad place for it, but you could put it is a "hash utility" class if we wrote such a thing. Josh On Thu, Oct 8, 2009 at 11:34 AM, Joseph D. Darcy wrote: > Hello. > > In the discussion about java.util.Objects, a few existing JDK methods were > mentioned for possible var-argification: > > java.util.Arrays.hashCode(Object[] a) > java.util.Arrays.deepHashCode(Object[] a) > java.util.Arrays.toString(Object[] a) > > Also of possible general interest are some methods on String (bug 6762452 > API change proposal: Enhance String constructor for varargs) > > java.lang.String.copyValueOf(char[] data) > java.lang.String.valueOf(char[] data) > java.lang.String(char[] value) > > Var-argification is fully binary compatible and is generally source > compatible, although new conversions are allowed of course and overloadings > may change. > > -Joe > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Fri Oct 9 18:46:35 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 11:46:35 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4ACEF564.8000407@gmx.de> References: <4ACE30B8.8070302@sun.com> <4ACEF564.8000407@gmx.de> Message-ID: <4ACF850B.4000804@sun.com> Ulf Zibis wrote: > Am 08.10.2009 20:34, Joseph D. Darcy schrieb: >> Hello. >> >> In the discussion about java.util.Objects, a few existing JDK methods >> were mentioned for possible var-argification: >> >> java.util.Arrays.hashCode(Object[] a) >> java.util.Arrays.deepHashCode(Object[] a) >> java.util.Arrays.toString(Object[] a) >> >> Also of possible general interest are some methods on String (bug >> 6762452 API change proposal: Enhance String constructor for varargs) >> >> java.lang.String.copyValueOf(char[] data) >> java.lang.String.valueOf(char[] data) >> java.lang.String(char[] value) >> >> Var-argification is fully binary compatible and is generally source >> compatible, although new conversions are allowed of course and >> overloadings may change. >> > > As String is final, there are no changed overloadings. > As the Arrays methods are static, there are too no changed overloadings. Being final and static alone are not enough to guarantee no new overloadings; although the overloading resolution rules are carefully crafted to try to select the same method if var-args is added to a class. > > OK, correct me, if I'm wrong. > FYI, here is a var-argification which breaks source compatibility: Consider in final class C Before: static void foo(int..) static void foo(Integer[]) After: static void foo(int...) static void foo(Integer...) Call site: C.foo(42); In the after scenario, both versions of foo *could* now be called and there is an ambiguity whereas before only the int... method could have been called. For some interesting discussion of overloading, see http://gbracha.blogspot.com/2009/09/systemic-overload.html -Joe From Joe.Darcy at Sun.COM Fri Oct 9 17:42:19 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 10:42:19 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACF02B9.8070708@sun.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> Message-ID: <4ACF75FB.3000209@sun.com> Eamonn McManus wrote: > Joseph D. Darcy wrote: > > What are scenarios where this method would be used? > > I use a similar method fairly often in unit tests. JUnit's > assertEquals doesn't > do the right thing if its arguments happen to be arrays, so I use the > following > simple if inefficient implementation: > > static void deepEquals(Object x, Object y) { > return Arrays.deepEquals(new Object[] {x}, new Object[] {y}); > } > > What that shows of course is that the messy logic you mention is > already present in > Arrays.deepEquals so you could factor it out. Yes, the logic inside the for loop in deepEquals could be factored out into just the right package-private helper method. Thanks for the pointer! -Joe From Joe.Darcy at Sun.COM Fri Oct 9 21:50:56 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 14:50:56 -0700 Subject: Code review request for 6648344: (reflect spec) State default of isAccessible for reflective objects Message-ID: <4ACFB040.3050503@sun.com> Hello. Please review this simple specification clarification (with accompanying test) for 6648344: (reflect spec) State default of isAccessible for reflective objects -Joe --- old/src/share/classes/java/lang/reflect/AccessibleObject.java 2009-10-09 14:48:35.000000000 -0700 +++ new/src/share/classes/java/lang/reflect/AccessibleObject.java 2009-10-09 14:48:35.000000000 -0700 @@ -44,6 +44,8 @@ * as Java Object Serialization or other persistence mechanisms, to * manipulate objects in a manner that would normally be prohibited. * + *

By default, a reflected object is not accessible. + * * @see Field * @see Method * @see Constructor --- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/test/java/lang/reflect/DefaultAccessibility.java 2009-10-09 14:48:36.000000000 -0700 @@ -0,0 +1,69 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6648344 + * @summary Test that default accessibility is false + * @author Joseph D. Darcy + */ + +import java.lang.reflect.*; + +public class DefaultAccessibility { + private DefaultAccessibility() { + super(); + } + + private static int f = 42; + + public static void main(String... args) throws Exception { + Class daClass = (new DefaultAccessibility()).getClass(); + + int elementCount = 0; + for(Constructor ctor : daClass.getDeclaredConstructors()) { + elementCount++; + if (ctor.isAccessible()) + throw new RuntimeException("Unexpected accessibility for constructor " + + ctor); + } + + for(Method method : daClass.getDeclaredMethods()) { + elementCount++; + if (method.isAccessible()) + throw new RuntimeException("Unexpected accessibility for method " + + method); + } + + for(Field field : daClass.getDeclaredFields()) { + elementCount++; + if (field.isAccessible()) + throw new RuntimeException("Unexpected accessibility for field " + + field); + } + + if (elementCount < 3) + throw new RuntimeException("Expected at least three members; only found " + + elementCount); + } +} From Joe.Darcy at Sun.COM Fri Oct 9 18:43:45 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 11:43:45 -0700 Subject: Quick code review request for 634992 (enum) Include links from java.lang.Enum to EnumSet and EnumMap Message-ID: <4ACF8461.9070302@sun.com> Please review this tiny doc fix to make EnumSet and EnumMap just a bit easier to find; patch below -Joe --- old/src/share/classes/java/lang/Enum.java 2009-10-09 11:41:23.000000000 -0700 +++ new/src/share/classes/java/lang/Enum.java 2009-10-09 11:41:23.000000000 -0700 @@ -44,6 +44,8 @@ * @author Josh Bloch * @author Neal Gafter * @see Class#getEnumConstants() + * @see java.util.EnumSet + * @see java.util.EnumMap * @since 1.5 */ public abstract class Enum> From neal at gafter.com Fri Oct 9 22:13:49 2009 From: neal at gafter.com (Neal Gafter) Date: Fri, 9 Oct 2009 15:13:49 -0700 Subject: Quick code review request for 634992 (enum) Include links from java.lang.Enum to EnumSet and EnumMap In-Reply-To: <4ACF8461.9070302@sun.com> References: <4ACF8461.9070302@sun.com> Message-ID: <15e8b9d20910091513g69b24616v535edb9fb44c278b@mail.gmail.com> Do EnumSet and EnumMap exist on all platform profiles? On Fri, Oct 9, 2009 at 11:43 AM, Joseph D. Darcy wrote: > Please review this tiny doc fix to make EnumSet and EnumMap just a bit > easier to find; patch below > > -Joe > > --- old/src/share/classes/java/lang/Enum.java ? ?2009-10-09 > 11:41:23.000000000 -0700 > +++ new/src/share/classes/java/lang/Enum.java ? ?2009-10-09 > 11:41:23.000000000 -0700 > @@ -44,6 +44,8 @@ > ?* @author ?Josh Bloch > ?* @author ?Neal Gafter > ?* @see ? ? Class#getEnumConstants() > + * @see ? ? java.util.EnumSet > + * @see ? ? java.util.EnumMap > ?* @since ? 1.5 > ?*/ > public abstract class Enum> > > > > From Joe.Darcy at Sun.COM Fri Oct 9 17:02:42 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 10:02:42 -0700 Subject: Objects.toString [Re: What methods should go into a java.util.Objects class in JDK 7?] In-Reply-To: <4ACEFF44.4070806@sun.com> References: <4ACE2BFA.9060205@sun.com> <4ACE2FC5.7070702@sun.com> <4ACE7B80.3020401@sun.com> <4ACEFF44.4070806@sun.com> Message-ID: <4ACF6CB2.8000408@sun.com> Eamonn McManus wrote: > David Holmes - Sun Microsystems wrote: > > So to me: String toString(Object o, String useIfNull) is the only > method > > that provides true utility in this case. > > I agree with that, and would just suggest to the person specifying the > method > to add a @see String#valueOf(Object). I find that the behaviour of > that method Agreed, that @see, amongst others, has been in the patch for this change http://cr.openjdk.java.net/~darcy/6797535.1/ -Joe From Ulf.Zibis at gmx.de Fri Oct 9 21:19:51 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 23:19:51 +0200 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4ACF850B.4000804@sun.com> References: <4ACE30B8.8070302@sun.com> <4ACEF564.8000407@gmx.de> <4ACF850B.4000804@sun.com> Message-ID: <4ACFA8F7.7040803@gmx.de> Joe, much thank for your explanation. :-) -Ulf Am 09.10.2009 20:46, Joseph D. Darcy schrieb: > Ulf Zibis wrote: >> Am 08.10.2009 20:34, Joseph D. Darcy schrieb: >>> Hello. >>> >>> In the discussion about java.util.Objects, a few existing JDK >>> methods were mentioned for possible var-argification: >>> >>> java.util.Arrays.hashCode(Object[] a) >>> java.util.Arrays.deepHashCode(Object[] a) >>> java.util.Arrays.toString(Object[] a) >>> >>> Also of possible general interest are some methods on String (bug >>> 6762452 API change proposal: Enhance String constructor for varargs) >>> >>> java.lang.String.copyValueOf(char[] data) >>> java.lang.String.valueOf(char[] data) >>> java.lang.String(char[] value) >>> >>> Var-argification is fully binary compatible and is generally source >>> compatible, although new conversions are allowed of course and >>> overloadings may change. >>> >> >> As String is final, there are no changed overloadings. >> As the Arrays methods are static, there are too no changed overloadings. > > Being final and static alone are not enough to guarantee no new > overloadings; although the overloading resolution rules are carefully > crafted to try to select the same method if var-args is added to a class. > >> >> OK, correct me, if I'm wrong. >> > > FYI, here is a var-argification which breaks source compatibility: > > Consider in final class C > > Before: > static void foo(int..) > static void foo(Integer[]) > > After: > static void foo(int...) > static void foo(Integer...) > > Call site: > > C.foo(42); > > In the after scenario, both versions of foo *could* now be called and > there is an ambiguity whereas before only the int... method could have > been called. > > For some interesting discussion of overloading, see > http://gbracha.blogspot.com/2009/09/systemic-overload.html > > -Joe > > From Ulf.Zibis at gmx.de Fri Oct 9 20:47:58 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 22:47:58 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <1ccfd1c10910072140j737d99a3ha2a6324b81db1fdd@mail.gmail.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> <1ccfd1c10910071501x11afd491ocf00289d10d9100d@mail.gmail.com> <4ACD1D21.4000805@gmx.de> <1ccfd1c10910072140j737d99a3ha2a6324b81db1fdd@mail.gmail.com> Message-ID: <4ACFA17E.4050905@gmx.de> Am 08.10.2009 06:40, Martin Buchholz schrieb: > If you can show that a simple test program that appears to access > only 2 charsets in fact causes accesses to 3 or 4, that is a serious > problem with the 2-element cache. > See attachment: - simple JUnit test class - NetBeans project, ready to build and run - charset usage log > People at Google are working on better caches, > but I don't think they are quite ready today. > > Perhaps, instead of a small charset cache, > we could cache all the charsets, but for the > large charsets like GB18030, we could, > inside the charset implementation, cache the > large data tables using a soft reference, and recompute > as needed. Then most of the static memory used > by an unused charset could be reclaimed. > I have implemented exactly this here: https://bugs.openjdk.java.net/show_bug.cgi?id=100098 -Ulf -------------- next part -------------- A non-text attachment was scrubbed... Name: CharsetTest.java Type: java/* Size: 1491 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: nio_charset_usage.zip Type: application/x-zip-compressed Size: 21418 bytes Desc: not available URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: charset_usage.log URL: From Ulf.Zibis at gmx.de Fri Oct 9 19:52:28 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 09 Oct 2009 21:52:28 +0200 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: References: Message-ID: <4ACF947C.7000808@gmx.de> I would name it javax.dyn. -Ulf Am 04.10.2009 06:43, Paul Benedict schrieb: > I've always found it a bit perplexing that java.lang was never chosen > for the parent package of the Dynamic API. Why is that? Dynamic types > are now "part of the language" as proven by spec itself and exotic > identifiers. Will this be reconsidered? > > Paul > > > From jjb at google.com Fri Oct 9 22:43:52 2009 From: jjb at google.com (Joshua Bloch) Date: Fri, 9 Oct 2009 15:43:52 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4ACF75FB.3000209@sun.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> <4ACF75FB.3000209@sun.com> Message-ID: <17b2302a0910091543m4e9044e8k926ead71fec6aef3@mail.gmail.com> I don't think method really pays for itself. If it belongs anywhere, it belongs in java.util.Arrays. Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Fri Oct 9 23:13:11 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Fri, 09 Oct 2009 16:13:11 -0700 Subject: Quick code review request for 634992 (enum) Include links from java.lang.Enum to EnumSet and EnumMap In-Reply-To: <15e8b9d20910091513g69b24616v535edb9fb44c278b@mail.gmail.com> References: <4ACF8461.9070302@sun.com> <15e8b9d20910091513g69b24616v535edb9fb44c278b@mail.gmail.com> Message-ID: <4ACFC387.6040501@sun.com> Neal Gafter wrote: > Do EnumSet and EnumMap exist on all platform profiles? They exist on JDK 7 where this change is intended. -Joe > On Fri, Oct 9, 2009 at 11:43 AM, Joseph D. Darcy wrote: >> Please review this tiny doc fix to make EnumSet and EnumMap just a bit >> easier to find; patch below >> >> -Joe >> >> --- old/src/share/classes/java/lang/Enum.java 2009-10-09 >> 11:41:23.000000000 -0700 >> +++ new/src/share/classes/java/lang/Enum.java 2009-10-09 >> 11:41:23.000000000 -0700 >> @@ -44,6 +44,8 @@ >> * @author Josh Bloch >> * @author Neal Gafter >> * @see Class#getEnumConstants() >> + * @see java.util.EnumSet >> + * @see java.util.EnumMap >> * @since 1.5 >> */ >> public abstract class Enum> >> >> >> >> From joe.darcy at sun.com Fri Oct 9 23:11:36 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Fri, 09 Oct 2009 23:11:36 +0000 Subject: hg: jdk7/tl/jdk: 6797535: Add shared two argument static equals method to the platform Message-ID: <20091009231219.E3E7F41408@hg.openjdk.java.net> Changeset: 3b45b809d8ff Author: darcy Date: 2009-10-09 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3b45b809d8ff 6797535: Add shared two argument static equals method to the platform Reviewed-by: sherman ! make/java/java/FILES_java.gmk + src/share/classes/java/util/Objects.java + test/java/util/Objects/BasicObjectsTest.java From neal at gafter.com Sat Oct 10 00:09:36 2009 From: neal at gafter.com (Neal Gafter) Date: Fri, 9 Oct 2009 17:09:36 -0700 Subject: Quick code review request for 634992 (enum) Include links from java.lang.Enum to EnumSet and EnumMap In-Reply-To: <4ACFC387.6040501@sun.com> References: <4ACF8461.9070302@sun.com> <15e8b9d20910091513g69b24616v535edb9fb44c278b@mail.gmail.com> <4ACFC387.6040501@sun.com> Message-ID: <15e8b9d20910091709u66f1e03cve4ff57c6bfbd6501@mail.gmail.com> Generally speaking, lower levels in the system shouldn't refer to higher levels. In this case it's just a comment, but it isn't clear that every profile that includes Enum will include the collections framework. I'm thinking, for example, about ME profiles. -Neal On Fri, Oct 9, 2009 at 4:13 PM, Joe Darcy wrote: > Neal Gafter wrote: > >> Do EnumSet and EnumMap exist on all platform profiles? >> > > They exist on JDK 7 where this change is intended. > > -Joe > > > On Fri, Oct 9, 2009 at 11:43 AM, Joseph D. Darcy >> wrote: >> >>> Please review this tiny doc fix to make EnumSet and EnumMap just a bit >>> easier to find; patch below >>> >>> -Joe >>> >>> --- old/src/share/classes/java/lang/Enum.java 2009-10-09 >>> 11:41:23.000000000 -0700 >>> +++ new/src/share/classes/java/lang/Enum.java 2009-10-09 >>> 11:41:23.000000000 -0700 >>> @@ -44,6 +44,8 @@ >>> * @author Josh Bloch >>> * @author Neal Gafter >>> * @see Class#getEnumConstants() >>> + * @see java.util.EnumSet >>> + * @see java.util.EnumMap >>> * @since 1.5 >>> */ >>> public abstract class Enum> >>> >>> >>> >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbenedict at apache.org Sat Oct 10 01:20:59 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 9 Oct 2009 20:20:59 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? Message-ID: Joe, I think java.util.Objects could benefit from the "final" modifier. Since its constructor always fails, there is no reason to subclass it (i.e., super constructor always fails). I believe Josh's "Effective Java" book makes such a point about static utility classes. Paul From Joe.Darcy at Sun.COM Sat Oct 10 01:38:40 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 09 Oct 2009 18:38:40 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: Message-ID: <4ACFE5A0.70202@sun.com> Paul Benedict wrote: > Joe, > > I think java.util.Objects could benefit from the "final" modifier. > Since its constructor always fails, there is no reason to subclass it > (i.e., super constructor always fails). I believe Josh's "Effective > Java" book makes such a point about static utility classes. > > Paul > Hello. Classes with only private constructors, like j.u.Objects, are effectively final. Adding final is harmless but unnecessary in these cases. The platform is a bit inconsistent here; j.u.Collections is *not* marked final while j.l.Math is. In practice, it doesn't matter very much; I'll consider final-izing j.u.Objects on the next round of edits. -Joe From pbenedict at apache.org Sat Oct 10 01:55:04 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 9 Oct 2009 20:55:04 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACFE5A0.70202@sun.com> References: <4ACFE5A0.70202@sun.com> Message-ID: Joe, > Classes with only private constructors, like j.u.Objects, are effectively > final. ?Adding final is harmless but unnecessary in these cases. Understood, but the keyword (pun) here is "effectively". Why let a developer wait until runtime to find out his code will fail? At least by marking the class as final, anybody who wishes to subclass it will receive a compiler error. Rain on the parade early :-) Anyway, thanks for considering it in the next round. Paul From crazybob at crazybob.org Sat Oct 10 02:07:43 2009 From: crazybob at crazybob.org (Bob Lee) Date: Fri, 9 Oct 2009 19:07:43 -0700 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: <4ACFE5A0.70202@sun.com> Message-ID: On Fri, Oct 9, 2009 at 6:55 PM, Paul Benedict wrote: > Understood, but the keyword (pun) here is "effectively". Why let a > developer wait until runtime to find out his code will fail? At least > by marking the class as final, anybody who wishes to subclass it will > receive a compiler error. Rain on the parade early :-) > Paul, this is caught at compile time, since you can't call the private constructor. The "final" would be redundant. Bob -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbenedict at apache.org Sat Oct 10 02:14:59 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 9 Oct 2009 21:14:59 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: <4ACFE5A0.70202@sun.com> Message-ID: Thank you, Bob. I stand corrected. On Fri, Oct 9, 2009 at 9:07 PM, Bob Lee wrote: > On Fri, Oct 9, 2009 at 6:55 PM, Paul Benedict wrote: >> >> Understood, but the keyword (pun) here is "effectively". Why let a >> developer wait until runtime to find out his code will fail? At least >> by marking the class as final, anybody who wishes to subclass it will >> receive a compiler error. Rain on the parade early :-) > > Paul, this is caught at compile time, since you can't call the private > constructor. The "final" would be redundant. > Bob From John.Rose at Sun.COM Sat Oct 10 02:49:34 2009 From: John.Rose at Sun.COM (John Rose) Date: Fri, 09 Oct 2009 19:49:34 -0700 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: <7c1bea4b0910091936v564b4c15i932831b64061c407@mail.gmail.com> References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> <38a53eb30910051101n1cd69750r99455ec8dfc5a6b9@mail.gmail.com> <7c1bea4b0910091936v564b4c15i932831b64061c407@mail.gmail.com> Message-ID: <6DCA11A7-65FD-4EC1-A0C4-E81D0D8DBFDB@sun.com> On Oct 9, 2009, at 7:36 PM, Stepan Koltsov wrote: > John, how about multi-language java.lang.Class or > java.lang.reflect.Field? How about it? I don't know how to answer this. -- John From yozh at mx1.ru Sat Oct 10 02:36:22 2009 From: yozh at mx1.ru (Stepan Koltsov) Date: Sat, 10 Oct 2009 06:36:22 +0400 Subject: JSR-292: Why not java.lang.dyn? In-Reply-To: References: <1254649154.1535.13.camel@macbook> <4AC889C8.5070208@univ-mlv.fr> <7c1bea4b0910041634v1dfda142w62180b779c515cb2@mail.gmail.com> <38a53eb30910051101n1cd69750r99455ec8dfc5a6b9@mail.gmail.com> Message-ID: <7c1bea4b0910091936v564b4c15i932831b64061c407@mail.gmail.com> John, how about multi-language java.lang.Class or java.lang.reflect.Field? S. On Fri, Oct 9, 2009 at 19:12, John Rose wrote: > Thanks, Ben; well said. ?Putting a multi-language JVM feature under > java.lang would be the wrong signal. ?OTOH, if we ever do a type > "Dynamic" in the Java language (a la C#) that would belong in > java.lang. ?But we are not, at present. ?(Despite an earlier blog > proposal of mine!) ?JVM changes are a big enough job for now. ?-- John > > On Oct 5, 2009, at 11:01 AM, Ben Evans wrote: > >> I think this is somewhat of a red herring. >> >> After all, there are many classes which live in java.lang which are >> fundamental to the operation of the platform, and which any language >> which lived on top of the VM would have an intimate relationship >> with (eg Object, Class, String, etc). >> >> If we are moving to a point of view in which the Java language is >> not central to the platform, but rather first among equals (by >> removing all direct dependencies of the JVM spec on the JLS, etc), >> then in an ideal world these classes would live in java.core or >> java.platform or something. That would of course break the whole >> world, so is clearly not going to happen. The best we can do is not >> make the situation worse for future amendments, by not placing >> additional classes which are not specific to the Java language into >> java.lang. >> >> I am puzzled, however, by your assertion that dynamic invocation is >> closer to the language than 'not', ie closer to the language than >> the platform. >> >> Non-Java languages have been making use (and shipping support for, >> in some cases) of dynamic invocation for quite a few months now. The >> experience of those language's implementors has been integral to the >> development process of this feature. The Java language has been >> playing catch-up throughout. It's fantastic that it's in the JLS now >> and I look forward to seeing some first-class implementations of it, >> but this feature really wasn't crafted with Java as the pre-eminent >> use case. >> >> Ben > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > From pbenedict at apache.org Sat Oct 10 23:00:02 2009 From: pbenedict at apache.org (Paul Benedict) Date: Sat, 10 Oct 2009 18:00:02 -0500 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: References: <4ACFE5A0.70202@sun.com> Message-ID: My final comment on this trifling matter is regarding the documentation. I don't think private methods/fields are included in the JDK's javadoc. If the private constructor will not appear, I recommend adding "final" and/or documenting the class as not instantiable/subclassable. Now that I know the compiler will warn about this issue (thank you Bob), the next consideration is for those who are reading the docs online. Paul On Fri, Oct 9, 2009 at 9:07 PM, Bob Lee wrote: > On Fri, Oct 9, 2009 at 6:55 PM, Paul Benedict wrote: >> >> Understood, but the keyword (pun) here is "effectively". Why let a >> developer wait until runtime to find out his code will fail? At least >> by marking the class as final, anybody who wishes to subclass it will >> receive a compiler error. Rain on the parade early :-) > > Paul, this is caught at compile time, since you can't call the private > constructor. The "final" would be redundant. > Bob From alan.bateman at sun.com Sun Oct 11 11:27:51 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Sun, 11 Oct 2009 11:27:51 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20091011112912.CFA9F41536@hg.openjdk.java.net> Changeset: b84f40617f90 Author: alanb Date: 2009-10-09 09:59 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b84f40617f90 6889552: Sun provider should not require LDAP CertStore to be present Reviewed-by: vinnie, mullan ! src/share/classes/sun/security/provider/SunEntries.java + src/share/classes/sun/security/provider/certpath/CertStoreHelper.java - src/share/classes/sun/security/provider/certpath/LDAPCertStore.java ! src/share/classes/sun/security/provider/certpath/URICertStore.java + src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java + src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreHelper.java Changeset: a7ad133103c6 Author: alanb Date: 2009-10-09 10:06 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a7ad133103c6 6888552: Allow JNDI to be used when java.applet is not present Reviewed-by: vinnie ! src/share/classes/com/sun/naming/internal/ResourceManager.java Changeset: f6770138c0fa Author: alanb Date: 2009-10-10 10:14 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f6770138c0fa Merge From Joe.Darcy at Sun.COM Sun Oct 11 22:51:12 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Sun, 11 Oct 2009 15:51:12 -0700 Subject: Quick code review request for 634992 (enum) Include links from java.lang.Enum to EnumSet and EnumMap In-Reply-To: <15e8b9d20910091709u66f1e03cve4ff57c6bfbd6501@mail.gmail.com> References: <4ACF8461.9070302@sun.com> <15e8b9d20910091513g69b24616v535edb9fb44c278b@mail.gmail.com> <4ACFC387.6040501@sun.com> <15e8b9d20910091709u66f1e03cve4ff57c6bfbd6501@mail.gmail.com> Message-ID: <4AD26160.409@sun.com> Neal Gafter wrote: > Generally speaking, lower levels in the system shouldn't refer to > higher levels. In this case it's just a comment, but it isn't clear > that every profile that includes Enum will include the collections > framework. I'm thinking, for example, about ME profiles. A few comments on this. Yes, in general it is true that lower levels shouldn't depend on higher levels. That was the primary reason we decided to have the new reflection methods in JDK 5 return arrays rather than generic collections. However, than are many nuances here. First, there is a difference between an API level dependency, like a type used in a signature, and an implementation dependency, something that only appears in a method body. A further distinction is between a compile-time implementation dependency and a runtime-only one, such as when a class is looked up reflectively. Additionally, if collections and java.lang.Enum are in the same grouping, there is no problem in having the dependency. Second, the underlying model for creating platform javadoc is "compile the world" so the presence of absence of particular edges in the dependency graph don't really affect what needs to happen. Finally, the onus for subsetting the API documentation for platform subsets ultimately falls on those doing the subsetting. The javadoc build warnings will be there to guide them. In short, IMO this is an entirely innocuous change that will help those learning Java find the enum-optimized set and map implementations. I would even consider adding "Note that when using enums in sets or as keys in a map, optimized set and map implementations are available." Which is probably about an order of magnitude more consideration than this change deserves! -Joe > > -Neal > > On Fri, Oct 9, 2009 at 4:13 PM, Joe Darcy > wrote: > > Neal Gafter wrote: > > Do EnumSet and EnumMap exist on all platform profiles? > > > They exist on JDK 7 where this change is intended. > > -Joe > > > On Fri, Oct 9, 2009 at 11:43 AM, Joseph D. Darcy > > wrote: > > Please review this tiny doc fix to make EnumSet and > EnumMap just a bit > easier to find; patch below > > -Joe > > --- old/src/share/classes/java/lang/Enum.java 2009-10-09 > 11:41:23.000000000 -0700 > +++ new/src/share/classes/java/lang/Enum.java 2009-10-09 > 11:41:23.000000000 -0700 > @@ -44,6 +44,8 @@ > * @author Josh Bloch > * @author Neal Gafter > * @see Class#getEnumConstants() > + * @see java.util.EnumSet > + * @see java.util.EnumMap > * @since 1.5 > */ > public abstract class Enum> > > > > > > From Thomas.Hawtin at Sun.COM Mon Oct 12 11:54:38 2009 From: Thomas.Hawtin at Sun.COM (Tom Hawtin) Date: Mon, 12 Oct 2009 12:54:38 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4ACFE5A0.70202@sun.com> References: <4ACFE5A0.70202@sun.com> Message-ID: <4AD318FE.1090206@sun.com> Joseph D. Darcy wrote: > Classes with only private constructors, like j.u.Objects, are > effectively final. Adding final is harmless but unnecessary in these > cases. The platform is a bit inconsistent here; j.u.Collections is > *not* marked final while j.l.Math is. For a certain value of effective. *Current* *Java* *source* may not subclass a non-final class with only private constructors. I believe a verfiable subclass can be created as a class file that does not have a constructor (or possibly definitely throws an exception?). Unless something is seriously wrong, that shouldn't cause a security issue. It might be an issue for other languages on the JVM. > In practice, it doesn't matter > very much; I'll consider final-izing j.u.Objects on the next round of > edits. Oh don't put a finalizer on it. ;) Tom Hawtin From Alan.Bateman at Sun.COM Mon Oct 12 13:43:37 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 12 Oct 2009 14:43:37 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD3290E.2010507@gmx.de> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> Message-ID: <4AD33289.3000600@sun.com> Ulf Zibis wrote: > : > Anyway, I would like to see zip/jar URIs as valid parameter to open a > file/path/stream/channel via new File(URI) or Paths.get(URI). There is a file system provider (albeit demo/prototype quality) for zip file in the nio repository. Just add ZipFileSystem.jar to your classpath and you can treat the contents of a zip or JAR file as a read-only file system. You can use URIs, such as zip:///home/foo.zip#/top/bar, to locate files if you wish. -Alan. From Alan.Bateman at Sun.COM Mon Oct 12 14:26:44 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 12 Oct 2009 15:26:44 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD3375C.9030400@gmx.de> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> <4AD3375C.9030400@gmx.de> Message-ID: <4AD33CA4.5020608@sun.com> Ulf Zibis wrote: > Am 12.10.2009 15:03, Ulf Zibis schrieb: >> Additionally something like Path#unlock() would be helpful, if >> copy/delete fails. For example see: >> http://diamondcs.com.au/freeutilities/fileunlocker.php > > Additionally see: http://ccollomb.free.fr/unlocker/ I assume this type of thing can lead to data loss and/or hard to diagnose corruption. If you are running into sharing violations then try out the file system API as the Windows provider opens files by default to allow delete access (ie: close to Unix semantics by default with provider specific options to control the DOS sharing mode if you really want). The only case where we still have a problem is memory-mapped files. Changing the long standing behavior of the java.io classes is another matter as that would likely break existing applications that rely on the current/long standing behavior. -Alan. From Ulf.Zibis at gmx.de Mon Oct 12 14:23:55 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 12 Oct 2009 16:23:55 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD33289.3000600@sun.com> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> <4AD33289.3000600@sun.com> Message-ID: <4AD33BFB.3040201@gmx.de> Am 12.10.2009 15:43, Alan Bateman schrieb: > Ulf Zibis wrote: >> : >> Anyway, I would like to see zip/jar URIs as valid parameter to open a >> file/path/stream/channel via new File(URI) or Paths.get(URI). > There is a file system provider (albeit demo/prototype quality) for > zip file in the nio repository. Just add ZipFileSystem.jar to your > classpath and you can treat the contents of a zip or JAR file as a > read-only file system. You can use URIs, such as > zip:///home/foo.zip#/top/bar, to locate files if you wish. > Alan, that's cool, thanks. Hopefully this goes into trunk of JDK 7, (+ write access ?). Can you give me direct link of ZipFileSystem.jar + javadoc + sources ? If I run this example: System.out.println( sun.nio.cs.ext.SJIS_0213.class.getResource("sjis0213.dat").toURI()); I get: jar:file:/C:/Programme/Java/jdk1.7.0/fastdebug/jre/lib/charsets.jar!/sun/nio/cs/ext/sjis0213.dat This looks little different from your example (scheme + '!' instead '#'). Is that covered too by ZipFileSystem.jar ? -Ulf From Ulf.Zibis at gmx.de Mon Oct 12 11:53:33 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 12 Oct 2009 13:53:33 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4b4f45e00909160433w1c78fa3ct4ae06b35f368ea72@mail.gmail.com> References: <4AA812D0.309@sun.com> <4b4f45e00909091654t7891127bh24cc1df9c38bec7d@mail.gmail.com> <1ccfd1c10909091704i1f4f75dfm4ae1988d0903cd99@mail.gmail.com> <4AA849B1.1090005@sun.com> <1ccfd1c10909091808s772d454epfe7a1057ccb9ca9f@mail.gmail.com> <4AA857A8.1010700@sun.com> <4AAAAE03.5010002@sun.com> <1ccfd1c10909151102r460396fct103b032023311606@mail.gmail.com> <4b4f45e00909160433w1c78fa3ct4ae06b35f368ea72@mail.gmail.com> Message-ID: <4AD318BD.50607@gmx.de> +1 -Ulf Am 16.09.2009 13:33, Stephen Colebourne schrieb: > 2009/9/15 Martin Buchholz : > >> This test is particularly uninteresting. I'll commit soon even if I >> don't get any review comments. >> > > * Returns a hash code for this {@code Byte}; equal to the result > * of invoking {@code intValue()}. > > Doesn't this mean that the added part about intValue() will appear in > the summary text for the method in Javadoc? I'd consider the 'how the > method operates' to be detail, not summary, so would prefer: > > * Returns a hash code for this {@code Byte}. > * The hash code is equal to the result of invoking {@code intValue()}. > > Stephen > > > From Ulf.Zibis at gmx.de Mon Oct 12 13:03:10 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 12 Oct 2009 15:03:10 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AB10D85.8040402@sun.com> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> Message-ID: <4AD3290E.2010507@gmx.de> Am 16.09.2009 18:08, Alan Bateman schrieb: > Joel Kamentz wrote: > >> : >> >> Attempt to convert an URL to a local file, taking into >> account that it might be wrappered by jar:, that File.toURL doesn't >> process %20 and the like, etc. >> > File.toURL is deprecated. You might want to look at File.toURI. Anyway, I would like to see zip/jar URIs as valid parameter to open a file/path/stream/channel via new File(URI) or Paths.get(URI). > > >> Delete files or sub-trees, catching exceptions and instead >> just return success / failure. >> > This one comes up a lot and has been addressed in the file system API > work in jdk7. So if you have a File f you can replace f.delete() with > f.toPath().delete() and it will do what you want. > > Recursive delete is relatively easy too, using Files.walkFileTree. > There's an example in the javadoc that does this (look in > java.nio.file.FileVisitor). I would like to see some convenience methods for deleting/copying subtrees, without having to implement the FileVisitor examples. Additionally something like Path#unlock() would be helpful, if copy/delete fails. For example see: http://diamondcs.com.au/freeutilities/fileunlocker.php -Ulf From Alan.Bateman at Sun.COM Mon Oct 12 15:40:44 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 12 Oct 2009 16:40:44 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD33BFB.3040201@gmx.de> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> <4AD33289.3000600@sun.com> <4AD33BFB.3040201@gmx.de> Message-ID: <4AD34DFC.3040506@sun.com> Ulf Zibis wrote: > : > Alan, that's cool, thanks. Hopefully this goes into trunk of JDK 7, (+ > write access ?). > Can you give me direct link of ZipFileSystem.jar + javadoc + sources ? Just clone the nio/nio repository. There's a README in jdk/src/share/demo/nio/ZipFileSystem. > > If I run this example: > System.out.println( > > sun.nio.cs.ext.SJIS_0213.class.getResource("sjis0213.dat").toURI()); > I get: > jar:file:/C:/Programme/Java/jdk1.7.0/fastdebug/jre/lib/charsets.jar!/sun/nio/cs/ext/sjis0213.dat > > > This looks little different from your example (scheme + '!' instead '#'). > Is that covered too by ZipFileSystem.jar ? The URI syntax is defined by the provider and this demo provider uses hierarchical URIs with "zip" as the scheme. It wouldn't hard to wrap this provider with another that supports the legacy JAR URL syntax (although that syntax worries me in that it uses opaque URIs and will likely be a challenge if/when the platform is updated to support RFC 3986). -Alan. From Ulf.Zibis at gmx.de Mon Oct 12 14:04:12 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 12 Oct 2009 16:04:12 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD3290E.2010507@gmx.de> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> Message-ID: <4AD3375C.9030400@gmx.de> Am 12.10.2009 15:03, Ulf Zibis schrieb: > Additionally something like Path#unlock() would be helpful, if > copy/delete fails. For example see: > http://diamondcs.com.au/freeutilities/fileunlocker.php Additionally see: http://ccollomb.free.fr/unlocker/ -Ulf From Ulf.Zibis at gmx.de Mon Oct 12 16:11:06 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 12 Oct 2009 18:11:06 +0200 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD33CA4.5020608@sun.com> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> <4AD3375C.9030400@gmx.de> <4AD33CA4.5020608@sun.com> Message-ID: <4AD3551A.3090602@gmx.de> Am 12.10.2009 16:26, Alan Bateman schrieb: > Ulf Zibis wrote: >> Am 12.10.2009 15:03, Ulf Zibis schrieb: >>> Additionally something like Path#unlock() would be helpful, if >>> copy/delete fails. For example see: >>> http://diamondcs.com.au/freeutilities/fileunlocker.php >> >> Additionally see: http://ccollomb.free.fr/unlocker/ > I assume this type of thing can lead to data loss and/or hard to > diagnose corruption. Of course, such method should be used with care. The developer/user should first retrieve/examine some information like the blocking process from the locked file. But this option should be more comfortable, than rebooting the hole system, which too could have data loss/corruption in consequence. ... and delete always has data loss in effect. ;-) > If you are running into sharing violations then try out the file > system API as the Windows provider opens files by default to allow > delete access (ie: close to Unix semantics by default with provider > specific options to control the DOS sharing mode if you really want). In java.nio.file.Filesystem b72 I don't find information about sharing attributes. > The only case where we still have a problem is memory-mapped files. > Changing the long standing behavior of the java.io classes is another > matter as that would likely break existing applications that rely on > the current/long standing behavior. > > -Alan. > > -Ulf From Joe.Darcy at Sun.COM Mon Oct 12 17:25:42 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 12 Oct 2009 10:25:42 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> References: <4ACE30B8.8070302@sun.com> <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> Message-ID: <4AD36696.1020807@sun.com> Joshua Bloch wrote: > Joe, > > I'm not sure I like this idea. My one experience with forcing an > array method to do double duty as varargs method was a disaster. The > method was Arrays.asList, and the result was Puzzler # 7 from "The > Continuing Adventures of Java?Puzzlers: Tiger Traps." Here it is: > > *7. ?Fib O?Nacci?* > > public class Fibonacci { > private static final int LENGTH = 7; > public static void main(String[] args) { > int[] fib = new int[LENGTH]; > fib[0] = fib[1] = 1; // First 2 Fibonacci numbers > for (inti = 2; i < LENGTH; i++) > fib[i] = fib[i -2] + fib[i -1]; > System.out.println(Arrays.asList(fib)); > } > } > > The main moral of the puzzle was: > > Use varargssparingly in your APIs > ?It can hide errors and cause confusion > ?This program wouldn't compile under 1.4 > > Arrays.hashCode, equals, and toString are already overloaded out the > wazoo; adding varargs to the mix could be deadly. Also, Arrays is not > the place where people would go looking for what is essentially a > hashing utility. So I'm not in favor of varargifying the existing > methods in Arrays, but I am in favor of adding a convenience method > like this somewhere: > > /** > * Generates a hash code for a sequence of input values. The hash > code is > * generated as if all the input values were placed into an array, > and that > * array were hashed by calling {@link Arrays#hashCode(Object[])}. > *

> *

This method is useful for implementing {@link > Object#hashCode()} on > * objects containing multiple fields. For example, if an object > that has > * three fields, {@code x}, {@code y}, and {@code z}, one could > write: > *

>      * @Override public int hashCode() {
>      *     return Objects.hashCode(x, y, z);
>      * }
>      * 
> * Warning: When a single object reference is supplied, the > returned > * value does not equal the hash code of that object > reference. This > * value can be computed by calling {@link #hashCode(Object)}. > */ > public static int hash(Object... components) { > return Arrays.hashCode(components); > } > > Viewed in isolation, it's simple, straightforward, and will help > people write high quality hashCode methods. I don't think Objects is > a bad place for it, but you could put it is a "hash utility" class if > we wrote such a thing. > Okay; unless and until a hash utility is added somewhere, this hash(Object ...) can live in Objects. -Joe From Alan.Bateman at Sun.COM Mon Oct 12 19:01:13 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 12 Oct 2009 20:01:13 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AD3551A.3090602@gmx.de> References: <9F2CEE46-89BD-407C-B68C-00B819ABAE73@gmail.com> <15412A37E8C9574393B24ADD991FAA760B8AD21D9A@MERCMBX14.na.sas.com> <4AB10D85.8040402@sun.com> <4AD3290E.2010507@gmx.de> <4AD3375C.9030400@gmx.de> <4AD33CA4.5020608@sun.com> <4AD3551A.3090602@gmx.de> Message-ID: <4AD37CF9.8030203@sun.com> Ulf Zibis wrote: > : > In java.nio.file.Filesystem b72 I don't find information about sharing > attributes. These are provider specific open options so they aren't in the javadoc. If you look at the dosSharingOptionTests in jdk/test/java/nio/Path/SBC.java you will see tests for these options. -Alan. From forax at univ-mlv.fr Mon Oct 12 19:52:39 2009 From: forax at univ-mlv.fr (=?windows-1252?Q?R=E9mi_Forax?=) Date: Mon, 12 Oct 2009 21:52:39 +0200 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4AD37849.4080701@sun.com> References: <4ACE30B8.8070302@sun.com> <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> <4AD36696.1020807@sun.com> <4AD36CF5.6000601@univ-mlv.fr> <4AD37849.4080701@sun.com> Message-ID: <4AD38907.1090103@univ-mlv.fr> Le 12/10/2009 20:41, Joseph D. Darcy a ?crit : > R?mi Forax wrote: >> Le 12/10/2009 19:25, Joseph D. Darcy a ?crit : >>> Joshua Bloch wrote: >>>> Joe, >>>> >>>> I'm not sure I like this idea. My one experience with forcing an >>>> array method to do double duty as varargs method was a disaster. >>>> The method was Arrays.asList, and the result was Puzzler # 7 from >>>> "The Continuing Adventures of Java?Puzzlers: Tiger Traps." Here it >>>> is: >>>> >>>> *7. ?Fib O?Nacci?* >>>> >>>> public class Fibonacci { >>>> private static final int LENGTH = 7; >>>> public static void main(String[] args) { >>>> int[] fib = new int[LENGTH]; >>>> fib[0] = fib[1] = 1; // First 2 Fibonacci numbers >>>> for (inti = 2; i < LENGTH; i++) >>>> fib[i] = fib[i -2] + fib[i -1]; >>>> System.out.println(Arrays.asList(fib)); >>>> } >>>> } >>>> >>>> The main moral of the puzzle was: >>>> >>>> Use varargssparingly in your APIs >>>> ?It can hide errors and cause confusion >>>> ?This program wouldn't compile under 1.4 >>>> >>>> Arrays.hashCode, equals, and toString are already overloaded out >>>> the wazoo; adding varargs to the mix could be deadly. Also, Arrays >>>> is not the place where people would go looking for what is >>>> essentially a hashing utility. So I'm not in favor of varargifying >>>> the existing methods in Arrays, but I am in favor of adding a >>>> convenience method like this somewhere: >>>> >>>> /** >>>> * Generates a hash code for a sequence of input values. The >>>> hash code is >>>> * generated as if all the input values were placed into an >>>> array, and that >>>> * array were hashed by calling {@link Arrays#hashCode(Object[])}. >>>> *

>>>> *

This method is useful for implementing {@link >>>> Object#hashCode()} on >>>> * objects containing multiple fields. For example, if an >>>> object that has >>>> * three fields, {@code x}, {@code y}, and {@code z}, one >>>> could write: >>>> *

>>>>      * @Override public int hashCode() {
>>>>      *     return Objects.hashCode(x, y, z);
>>>>      * }
>>>>      * 
>>>> * Warning: When a single object reference is supplied, the >>>> returned >>>> * value does not equal the hash code of that object >>>> reference. This >>>> * value can be computed by calling {@link #hashCode(Object)}. >>>> */ >>>> public static int hash(Object... components) { >>>> return Arrays.hashCode(components); >>>> } >>>> >>>> Viewed in isolation, it's simple, straightforward, and will help >>>> people write high quality hashCode methods. I don't think Objects >>>> is a bad place for it, but you could put it is a "hash utility" >>>> class if we wrote such a thing. >>>> >>> >>> Okay; unless and until a hash utility is added somewhere, this >>> hash(Object ...) can live in Objects. >>> >>> -Joe >> >> In that case, we can also add some methods hash that avoid create an >> array >> for let say 2 to 5 arguments: >> hash(Object, Object), hash-Object, Object, Object), >> hash(Object,Object,Object,Object) >> and hash(Object,Object,Object,Object,Object). >> > > I don't think such methods are justified at present. > > -Joe > It's not a good idea to have a hashCode() that allocate objects, at least until escape analysis is implemented in all VMs. R?mi From forax at univ-mlv.fr Mon Oct 12 17:52:53 2009 From: forax at univ-mlv.fr (=?windows-1252?Q?R=E9mi_Forax?=) Date: Mon, 12 Oct 2009 19:52:53 +0200 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4AD36696.1020807@sun.com> References: <4ACE30B8.8070302@sun.com> <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> <4AD36696.1020807@sun.com> Message-ID: <4AD36CF5.6000601@univ-mlv.fr> Le 12/10/2009 19:25, Joseph D. Darcy a ?crit : > Joshua Bloch wrote: >> Joe, >> >> I'm not sure I like this idea. My one experience with forcing an >> array method to do double duty as varargs method was a disaster. The >> method was Arrays.asList, and the result was Puzzler # 7 from "The >> Continuing Adventures of Java?Puzzlers: Tiger Traps." Here it is: >> >> *7. ?Fib O?Nacci?* >> >> public class Fibonacci { >> private static final int LENGTH = 7; >> public static void main(String[] args) { >> int[] fib = new int[LENGTH]; >> fib[0] = fib[1] = 1; // First 2 Fibonacci numbers >> for (inti = 2; i < LENGTH; i++) >> fib[i] = fib[i -2] + fib[i -1]; >> System.out.println(Arrays.asList(fib)); >> } >> } >> >> The main moral of the puzzle was: >> >> Use varargssparingly in your APIs >> ?It can hide errors and cause confusion >> ?This program wouldn't compile under 1.4 >> >> Arrays.hashCode, equals, and toString are already overloaded out the >> wazoo; adding varargs to the mix could be deadly. Also, Arrays is >> not the place where people would go looking for what is essentially a >> hashing utility. So I'm not in favor of varargifying the existing >> methods in Arrays, but I am in favor of adding a convenience method >> like this somewhere: >> >> /** >> * Generates a hash code for a sequence of input values. The hash >> code is >> * generated as if all the input values were placed into an >> array, and that >> * array were hashed by calling {@link Arrays#hashCode(Object[])}. >> *

>> *

This method is useful for implementing {@link >> Object#hashCode()} on >> * objects containing multiple fields. For example, if an object >> that has >> * three fields, {@code x}, {@code y}, and {@code z}, one could >> write: >> *

>>      * @Override public int hashCode() {
>>      *     return Objects.hashCode(x, y, z);
>>      * }
>>      * 
>> * Warning: When a single object reference is supplied, the >> returned >> * value does not equal the hash code of that object >> reference. This >> * value can be computed by calling {@link #hashCode(Object)}. >> */ >> public static int hash(Object... components) { >> return Arrays.hashCode(components); >> } >> >> Viewed in isolation, it's simple, straightforward, and will help >> people write high quality hashCode methods. I don't think Objects is >> a bad place for it, but you could put it is a "hash utility" class if >> we wrote such a thing. >> > > Okay; unless and until a hash utility is added somewhere, this > hash(Object ...) can live in Objects. > > -Joe In that case, we can also add some methods hash that avoid create an array for let say 2 to 5 arguments: hash(Object, Object), hash-Object, Object, Object), hash(Object,Object,Object,Object) and hash(Object,Object,Object,Object,Object). R?mi From crazybob at crazybob.org Tue Oct 13 19:09:19 2009 From: crazybob at crazybob.org (Bob Lee) Date: Tue, 13 Oct 2009 12:09:19 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4AD38907.1090103@univ-mlv.fr> References: <4ACE30B8.8070302@sun.com> <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> <4AD36696.1020807@sun.com> <4AD36CF5.6000601@univ-mlv.fr> <4AD37849.4080701@sun.com> <4AD38907.1090103@univ-mlv.fr> Message-ID: On Mon, Oct 12, 2009 at 12:52 PM, R?mi Forax wrote: > It's not a good idea to have a hashCode() that allocate objects, > at least until escape analysis is implemented in all VMs. Agree with Joe--these methods don't carry their weight. If the allocation is too much to bear, it's easy enough to write the hash by hand. Plus, it won't have the overhead of a method invocation. ;-) That's not to say I don't think you should ever do this. Bob -------------- next part -------------- An HTML attachment was scrubbed... URL: From jjb at google.com Tue Oct 13 18:40:46 2009 From: jjb at google.com (Joshua Bloch) Date: Tue, 13 Oct 2009 11:40:46 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4AD4C321.2080401@sun.com> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> <4ACE9030.3030801@sun.com> <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> <4AD4C321.2080401@sun.com> Message-ID: <17b2302a0910131140m64db6a72i9eba577452af222c@mail.gmail.com> Joe, Thanks very much! Josh On Tue, Oct 13, 2009 at 11:12 AM, Joseph D. Darcy wrote: > Joshua Bloch wrote: > >> Joe, >> >> Hi. I've attached a file containing the methods and a JTReg "basic test" >> for inclusion in your BasicObjectTests. I adhered to your style, for easy >> integration. If you could take it from here, I'd be ever so grateful. >> > > Will do. > > Cheers, > > -Joe > > >> Thanks, >> >> Josh >> >> >> On Thu, Oct 8, 2009 at 6:21 PM, Joe Darcy > Joe.Darcy at sun.com>> wrote: >> >> >> I strongly suggest that you do add these two methods: >> >> /** >> * Checks that the specified object reference is not {@code >> null}. This >> * method is designed primarily for doing parameter >> validation in methods >> * and constructors, as demonstrated below: >> *
>>            * public Foo(Bar bar) {
>>            *     this.bar = Objects.nonNull(bar);
>>            * }
>>            * 
>> * >> * @param obj the object reference to check for nullity >> * @return {@code obj} if not {@code null} >> * @throws NullPointerException if {@code obj} is {@code null} >> */ >> public static T nonNull(T obj) { >> if (obj == null) >> throw new NullPointerException(); >> return obj; >> } >> >> /** >> * Checks that the specified object reference is not {@code >> null} and >> * throws a customized {@Link NullPointerException} if it >> is. This method >> * is designed primarily for doing parameter validation in >> methods and >> * constructors with multiple parameters, as demonstrated >> below: >> *
>>            * public Foo(Bar bar, Baz baz) {
>>            *     this.bar = Objects.nonNull(bar, "bar must not be null");
>>            *     this.baz = Objects.nonNull(baz, "baz must not be null");
>>            * }
>>            * 
>> * >> * @param obj the object reference to check for nullity >> * @param message detail message to be used in the event >> that a {@code >> * NullPointerException} is thrown >> * @return {@code obj} if not {@code null} >> * @throws NullPointerException if {@code obj} is {@code null} >> */ >> public static T nonNull(T obj, String message) { >> if (obj == null) >> throw new NullPointerException(message); >> return obj; >> } >> >> They do a great job reducing the verbiage in validity-checking >> of arguments that must not be null. >> >> >> I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for >> these last two methods. If you want to finish off the engineering >> need for a changeset, some light tests, etc., I'll file the >> Sun-internal paperwork for these. >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Tue Oct 13 18:12:49 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 13 Oct 2009 11:12:49 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> <4ACE9030.3030801@sun.com> <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> Message-ID: <4AD4C321.2080401@sun.com> Joshua Bloch wrote: > Joe, > > Hi. I've attached a file containing the methods and a JTReg "basic > test" for inclusion in your BasicObjectTests. I adhered to your > style, for easy integration. If you could take it from here, I'd be > ever so grateful. Will do. Cheers, -Joe > > Thanks, > > Josh > > On Thu, Oct 8, 2009 at 6:21 PM, Joe Darcy > wrote: > > > I strongly suggest that you do add these two methods: > > /** > * Checks that the specified object reference is not {@code > null}. This > * method is designed primarily for doing parameter > validation in methods > * and constructors, as demonstrated below: > *
>             * public Foo(Bar bar) {
>             *     this.bar = Objects.nonNull(bar);
>             * }
>             * 
> * > * @param obj the object reference to check for nullity > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj) { > if (obj == null) > throw new NullPointerException(); > return obj; > } > > /** > * Checks that the specified object reference is not {@code > null} and > * throws a customized {@Link NullPointerException} if it > is. This method > * is designed primarily for doing parameter validation in > methods and > * constructors with multiple parameters, as demonstrated > below: > *
>             * public Foo(Bar bar, Baz baz) {
>             *     this.bar = Objects.nonNull(bar, "bar must not be null");
>             *     this.baz = Objects.nonNull(baz, "baz must not be null");
>             * }
>             * 
> * > * @param obj the object reference to check for nullity > * @param message detail message to be used in the event > that a {@code > * NullPointerException} is thrown > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj, String message) { > if (obj == null) > throw new NullPointerException(message); > return obj; > } > > They do a great job reducing the verbiage in validity-checking > of arguments that must not be null. > > > I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for > these last two methods. If you want to finish off the engineering > need for a changeset, some light tests, etc., I'll file the > Sun-internal paperwork for these. > From Ulf.Zibis at gmx.de Tue Oct 13 13:55:50 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 13 Oct 2009 15:55:50 +0200 Subject: Benchmark for java.nio.charset.Charset cache Message-ID: <4AD486E6.2010501@gmx.de> Hi, Martin, Xueming, I did a benchmark: unsynchronized 2-ElementCache ./. synchronized 4-ElementCache Result: Usage: java -Xint -Xbootclasspath/p:..\build\classes;..\build\test\classes java.nio.charset.CharsetBenchmark As in real world, excessive loops on Charset.forName() are unlikely, only use interpreter mode here! Benchmark for 100000 from 1 charsets: - time of unsynchronized 2-ElementCache: 40 + 42 = 82 ms - time of synchronized 4-ElementCache: 48 + 49 = 97 ms Benchmark for 100000 from 2 charsets: - time of unsynchronized 2-ElementCache: 83 + 90 = 173 ms - time of synchronized 4-ElementCache: 138 + 110 = 248 ms Benchmark for 100000 from 3 charsets: - time of unsynchronized 2-ElementCache: 801 + 823 = 1624 ms - time of synchronized 4-ElementCache: 134 + 135 = 269 ms Benchmark for 100000 from 4 charsets: - time of unsynchronized 2-ElementCache: 1232 + 1284 = 2516 ms - time of synchronized 4-ElementCache: 142 + 145 = 287 ms Benchmark for 100000 from 5 charsets: - time of unsynchronized 2-ElementCache: 1408 + 1547 = 2955 ms - time of synchronized 4-ElementCache: 617 + 683 = 1300 ms Benchmark for 100000 from 6 charsets: - time of unsynchronized 2-ElementCache: 1666 + 1671 = 3337 ms - time of synchronized 4-ElementCache: 1086 + 995 = 2081 ms For the sources see attachment. -Ulf From Joe.Darcy at Sun.COM Mon Oct 12 18:41:13 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 12 Oct 2009 11:41:13 -0700 Subject: j.ul.Objects follow-up: methods for var-argification? In-Reply-To: <4AD36CF5.6000601@univ-mlv.fr> References: <4ACE30B8.8070302@sun.com> <17b2302a0910090955t2c44539ch9212dc4ef31f2411@mail.gmail.com> <4AD36696.1020807@sun.com> <4AD36CF5.6000601@univ-mlv.fr> Message-ID: <4AD37849.4080701@sun.com> R?mi Forax wrote: > Le 12/10/2009 19:25, Joseph D. Darcy a ?crit : >> Joshua Bloch wrote: >>> Joe, >>> >>> I'm not sure I like this idea. My one experience with forcing an >>> array method to do double duty as varargs method was a disaster. >>> The method was Arrays.asList, and the result was Puzzler # 7 from >>> "The Continuing Adventures of Java?Puzzlers: Tiger Traps." Here it is: >>> >>> *7. ?Fib O?Nacci?* >>> >>> public class Fibonacci { >>> private static final int LENGTH = 7; >>> public static void main(String[] args) { >>> int[] fib = new int[LENGTH]; >>> fib[0] = fib[1] = 1; // First 2 Fibonacci numbers >>> for (inti = 2; i < LENGTH; i++) >>> fib[i] = fib[i -2] + fib[i -1]; >>> System.out.println(Arrays.asList(fib)); >>> } >>> } >>> >>> The main moral of the puzzle was: >>> >>> Use varargssparingly in your APIs >>> ?It can hide errors and cause confusion >>> ?This program wouldn't compile under 1.4 >>> >>> Arrays.hashCode, equals, and toString are already overloaded out the >>> wazoo; adding varargs to the mix could be deadly. Also, Arrays is >>> not the place where people would go looking for what is essentially >>> a hashing utility. So I'm not in favor of varargifying the existing >>> methods in Arrays, but I am in favor of adding a convenience method >>> like this somewhere: >>> >>> /** >>> * Generates a hash code for a sequence of input values. The >>> hash code is >>> * generated as if all the input values were placed into an >>> array, and that >>> * array were hashed by calling {@link Arrays#hashCode(Object[])}. >>> *

>>> *

This method is useful for implementing {@link >>> Object#hashCode()} on >>> * objects containing multiple fields. For example, if an object >>> that has >>> * three fields, {@code x}, {@code y}, and {@code z}, one could >>> write: >>> *

>>>      * @Override public int hashCode() {
>>>      *     return Objects.hashCode(x, y, z);
>>>      * }
>>>      * 
>>> * Warning: When a single object reference is supplied, the >>> returned >>> * value does not equal the hash code of that object >>> reference. This >>> * value can be computed by calling {@link #hashCode(Object)}. >>> */ >>> public static int hash(Object... components) { >>> return Arrays.hashCode(components); >>> } >>> >>> Viewed in isolation, it's simple, straightforward, and will help >>> people write high quality hashCode methods. I don't think Objects >>> is a bad place for it, but you could put it is a "hash utility" >>> class if we wrote such a thing. >>> >> >> Okay; unless and until a hash utility is added somewhere, this >> hash(Object ...) can live in Objects. >> >> -Joe > > In that case, we can also add some methods hash that avoid create an > array > for let say 2 to 5 arguments: > hash(Object, Object), hash-Object, Object, Object), > hash(Object,Object,Object,Object) > and hash(Object,Object,Object,Object,Object). > I don't think such methods are justified at present. -Joe From Joe.Darcy at Sun.COM Mon Oct 12 17:40:24 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 12 Oct 2009 10:40:24 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <17b2302a0910091543m4e9044e8k926ead71fec6aef3@mail.gmail.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> <4ACF75FB.3000209@sun.com> <17b2302a0910091543m4e9044e8k926ead71fec6aef3@mail.gmail.com> Message-ID: <4AD36A08.4000207@sun.com> Joshua Bloch wrote: > I don't think method really pays for itself. If it belongs anywhere, > it belongs in java.util.Arrays. > > Josh I think there is room in the platform for this functionality. Even if this is mostly used in tests, code used in tests is code too :-) I think Objects is a better home for deepEquals(Object, Object) than Arrays since the arguments are not arrays and since it is a sibling method to equals(Object, Object). -Joe From jjb at google.com Mon Oct 12 22:42:17 2009 From: jjb at google.com (Joshua Bloch) Date: Mon, 12 Oct 2009 15:42:17 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4AD36A08.4000207@sun.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> <4ACF75FB.3000209@sun.com> <17b2302a0910091543m4e9044e8k926ead71fec6aef3@mail.gmail.com> <4AD36A08.4000207@sun.com> Message-ID: <17b2302a0910121542t5d3e4dadj84efe02f48f6e4f8@mail.gmail.com> Joe, I don't feel too strongly about this one. Do the right thing. Josh On Mon, Oct 12, 2009 at 10:40 AM, Joseph D. Darcy wrote: > Joshua Bloch wrote: > >> I don't think method really pays for itself. If it belongs anywhere, it >> belongs in java.util.Arrays. >> >> Josh >> > > I think there is room in the platform for this functionality. Even if this > is mostly used in tests, code used in tests is code too :-) > > I think Objects is a better home for deepEquals(Object, Object) than Arrays > since the arguments are not arrays and since it is a sibling method to > equals(Object, Object). > > -Joe > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jjb at google.com Tue Oct 13 06:38:04 2009 From: jjb at google.com (Joshua Bloch) Date: Mon, 12 Oct 2009 23:38:04 -0700 Subject: First round of java.util.Objects for code review (bug 6797535) In-Reply-To: <4ACE9030.3030801@sun.com> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> <4ACE9030.3030801@sun.com> Message-ID: <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> Joe, Hi. I've attached a file containing the methods and a JTReg "basic test" for inclusion in your BasicObjectTests. I adhered to your style, for easy integration. If you could take it from here, I'd be ever so grateful. Thanks, Josh On Thu, Oct 8, 2009 at 6:21 PM, Joe Darcy wrote: > >> I strongly suggest that you do add these two methods: >> >> /** >> * Checks that the specified object reference is not {@code null}. This >> * method is designed primarily for doing parameter validation in >> methods >> * and constructors, as demonstrated below: >> *
>>     * public Foo(Bar bar) {
>>     *     this.bar = Objects.nonNull(bar);
>>     * }
>>     * 
>> * >> * @param obj the object reference to check for nullity >> * @return {@code obj} if not {@code null} >> * @throws NullPointerException if {@code obj} is {@code null} >> */ >> public static T nonNull(T obj) { >> if (obj == null) >> throw new NullPointerException(); >> return obj; >> } >> >> /** >> * Checks that the specified object reference is not {@code null} and >> * throws a customized {@Link NullPointerException} if it is. This >> method >> * is designed primarily for doing parameter validation in methods and >> * constructors with multiple parameters, as demonstrated below: >> *
>>     * public Foo(Bar bar, Baz baz) {
>>     *     this.bar = Objects.nonNull(bar, "bar must not be null");
>>     *     this.baz = Objects.nonNull(baz, "baz must not be null");
>>     * }
>>     * 
>> * >> * @param obj the object reference to check for nullity >> * @param message detail message to be used in the event that a {@code >> * NullPointerException} is thrown >> * @return {@code obj} if not {@code null} >> * @throws NullPointerException if {@code obj} is {@code null} >> */ >> public static T nonNull(T obj, String message) { >> if (obj == null) >> throw new NullPointerException(message); >> return obj; >> } >> >> They do a great job reducing the verbiage in validity-checking of >> arguments that must not be null. >> > > I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for > these last two methods. If you want to finish off the engineering need for > a changeset, some light tests, etc., I'll file the Sun-internal paperwork > for these. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: NonNull.java Type: application/octet-stream Size: 3415 bytes Desc: not available URL: From i30817 at gmail.com Tue Oct 13 20:38:38 2009 From: i30817 at gmail.com (Paulo Levi) Date: Tue, 13 Oct 2009 21:38:38 +0100 Subject: More native closeable resources Message-ID: <212322090910131338k39adf5ffo39fabef90f4d1133@mail.gmail.com> Probably JavaSound is another candidate for closeable refactoring for jdk7? Specifically all the Line implementations : TargetDataLine, SourceDataline, Clip. From Alan.Bateman at Sun.COM Tue Oct 13 20:39:28 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 13 Oct 2009 21:39:28 +0100 Subject: Code review request for 6648344: (reflect spec) State default of isAccessible for reflective objects In-Reply-To: <4ACFB040.3050503@sun.com> References: <4ACFB040.3050503@sun.com> Message-ID: <4AD4E580.7070408@sun.com> Joseph D. Darcy wrote: > Hello. > > Please review this simple specification clarification (with > accompanying test) for > 6648344: (reflect spec) State default of isAccessible for reflective > objects This looks good to me. -Alan. From jonathan.gibbons at sun.com Tue Oct 13 21:03:59 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 13 Oct 2009 21:03:59 +0000 Subject: hg: jdk7/tl/langtools: 6887895: CONSTANT_Class_info getBaseName does not handle arrays of primitives correctly Message-ID: <20091013210402.1570D41421@hg.openjdk.java.net> Changeset: e526e39579ae Author: jjg Date: 2009-10-13 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/e526e39579ae 6887895: CONSTANT_Class_info getBaseName does not handle arrays of primitives correctly Reviewed-by: ksrini ! src/share/classes/com/sun/tools/classfile/ConstantPool.java + test/tools/javap/classfile/T6887895.java From joe.darcy at sun.com Tue Oct 13 21:09:28 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Tue, 13 Oct 2009 21:09:28 +0000 Subject: hg: jdk7/tl/jdk: 6648344: (reflect spec) State default of isAccessible for reflective objects Message-ID: <20091013210956.9F86841426@hg.openjdk.java.net> Changeset: 9d240dbadaa3 Author: darcy Date: 2009-10-13 14:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d240dbadaa3 6648344: (reflect spec) State default of isAccessible for reflective objects Reviewed-by: alanb ! src/share/classes/java/lang/reflect/AccessibleObject.java + test/java/lang/reflect/DefaultAccessibility.java From jonathan.gibbons at sun.com Tue Oct 13 22:27:23 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 13 Oct 2009 22:27:23 +0000 Subject: hg: jdk7/tl/langtools: 6891079: Compiler allows invalid binary literals 0b and oBL Message-ID: <20091013222725.32E7E4143B@hg.openjdk.java.net> Changeset: 8a4543b30586 Author: jjg Date: 2009-10-13 15:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/8a4543b30586 6891079: Compiler allows invalid binary literals 0b and oBL Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/literals/T6891079.java + test/tools/javac/literals/T6891079.out From Joe.Darcy at Sun.COM Tue Oct 13 23:18:13 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 13 Oct 2009 16:18:13 -0700 Subject: java.util.Objects, round two Message-ID: <4AD50AB5.4000804@sun.com> Hello. After recent discussions on the list, the following methods will be included in round two of the evolution of java.util.Objects: Under bug 6889858: Add nonNull methods to java.util.Objects: /** * Checks that the specified object reference is not {@code null}. This * method is designed primarily for doing parameter validation in methods * and constructors, as demonstrated below: *
     * public Foo(Bar bar) {
     *     this.bar = Objects.nonNull(bar);
     * }
     * 
* * @param obj the object reference to check for nullity * @return {@code obj} if not {@code null} * @throws NullPointerException if {@code obj} is {@code null} */ public static T nonNull(T obj); /** * Checks that the specified object reference is not {@code null} and * throws a customized {@link NullPointerException} if it is. This method * is designed primarily for doing parameter validation in methods and * constructors with multiple parameters, as demonstrated below: *
     * public Foo(Bar bar, Baz baz) {
     *     this.bar = Objects.nonNull(bar, "bar must not be null");
     *     this.baz = Objects.nonNull(baz, "baz must not be null");
     * }
     * 
* * @param obj the object reference to check for nullity * @param message detail message to be used in the event that a {@code * NullPointerException} is thrown * @return {@code obj} if not {@code null} * @throws NullPointerException if {@code obj} is {@code null} */ public static T nonNull(T obj, String message); Under bug 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default /** * Returns {@code true} if the arguments are deeply equal to each other * and {@code false} otherwise. * * Two {@code null} values are deeply equal. If both arguments are * arrays, the algorithm in {@link Arrays.deepEquals(Object[], * Object[]) Arrays.deepEquals) is used to determine equality. * Otherwise, equality is determined by using the {@link Object#equals * equals} method of the first argument. * * @return {@code true} if the arguments are deeply equal to each other * and {@code false} otherwise * @see Arrays#deepEquals(Object[], Object[]) * @see Objects#equals(Object, Object) */ public static deepEquals(Object a, Object b); /** * Returns the result of calling {@code toString} on the first * argument if the first argument is not {@code null} and returns * the second argument otherwise. * * @return the result of calling {@code toString} on the first * argument if it is not {@code null} and the second argument * otherwise. * @see Objects#toString(Object) */ public static toString(Object a, String nullDefault); /** * Generates a hash code for a sequence of input values. The hash code is * generated as if all the input values were placed into an array, and that * array were hashed by calling {@link Arrays#hashCode(Object[])}. * *

This method is useful for implementing {@link Object#hashCode()} on * objects containing multiple fields. For example, if an object that has * three fields, {@code x}, {@code y}, and {@code z}, one could write: *

     * @Override public int hashCode() {
     *     return Objects.hashCode(x, y, z);
     * }
     * 
* Warning: When a single object reference is supplied, the returned * value does not equal the hash code of that object reference. This * value can be computed by calling {@link #hashCode(Object)}. * * @return a hash value of the sequence of input values * @see Arrays#hashCode */ public static int hash(Object... components); In addition, the Objects class will be explicitly marked as "final" to indicate its already implicit status as a non-instantiable, non-extendable class. I've closed as "will not fix" the bug requesting to var-argify various constructors in String. I'm open having being convinced that "toDefaultString(Object)" is a worthwhile addition to j.u.Objects as well. Likewise, for "toDebugString(Object)", although someone else would have to specify, implement, and test that method. -Joe From Joe.Darcy at Sun.COM Tue Oct 13 23:32:04 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 13 Oct 2009 16:32:04 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 Message-ID: <4AD50DF4.8010503@sun.com> Hello. Following up from threads earlier this year, http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html I'm willing and interested to sponsor getting String.join functionality into JDK 7. To address this particular bug, I think there should be new "join" methods on String as opposed to a general "joiner" class. A more general class could be added later. Remi, please point to a current draft of the specification and implementation for your change. Kevin, I'm interested in hearing your comments on the API design. Thanks, -Joe From crazybob at crazybob.org Tue Oct 13 23:48:53 2009 From: crazybob at crazybob.org (Bob Lee) Date: Tue, 13 Oct 2009 16:48:53 -0700 Subject: j.u.Objects follow-up: deepEquals(Object, Object)? In-Reply-To: <4AD36A08.4000207@sun.com> References: <4ACE44A9.8060506@sun.com> <4ACF02B9.8070708@sun.com> <4ACF75FB.3000209@sun.com> <17b2302a0910091543m4e9044e8k926ead71fec6aef3@mail.gmail.com> <4AD36A08.4000207@sun.com> Message-ID: On Mon, Oct 12, 2009 at 10:40 AM, Joseph D. Darcy wrote: > I think Objects is a better home for deepEquals(Object, Object) than Arrays > since the arguments are not arrays and since it is a sibling method to > equals(Object, Object). > While the argument types are Object, the behavior and usage is tightly coupled to arrays. It took me awhile to grok what this method does, even after looking at the impl. I think I would have caught on a little faster if the method were in Arrays. Bob -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe.darcy at sun.com Wed Oct 14 00:35:03 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Wed, 14 Oct 2009 00:35:03 +0000 Subject: hg: jdk7/tl/jdk: 6349921: (enum) Include links from java.lang.Enum to EnumSet and EnumMap Message-ID: <20091014003517.45F3141463@hg.openjdk.java.net> Changeset: 151baf5e19ca Author: darcy Date: 2009-10-13 17:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/151baf5e19ca 6349921: (enum) Include links from java.lang.Enum to EnumSet and EnumMap Reviewed-by: martin ! src/share/classes/java/lang/Enum.java From pbenedict at apache.org Wed Oct 14 08:05:01 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 14 Oct 2009 03:05:01 -0500 Subject: java.util.Objects, round two Message-ID: Joe, I am confused over this warning: > * Warning: When a single object reference is supplied, the returned > * value does not equal the hash code of that object reference. This > * value can be computed by calling {@link #hashCode(Object)}. I first looked into Arrays#deepHashCode and did not see any companion warning there; therefore I am presuming this is new functionality. Two questions remain based on looking at the javadoc alone and not knowing its implementation: For when a single object reference is supplied: 1) Why is the hash code not the hash code of the single object? Is there harm in doing so? 2) Then what gets hashed? Dunno... I think the second question is begged but not explicitly answered by the documentation. Paul From i30817 at gmail.com Wed Oct 14 09:11:01 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 14 Oct 2009 10:11:01 +0100 Subject: Why does util.timer does not expose interrupt Message-ID: <212322090910140211w4288cefcwd5f3cbb40ba49bb9@mail.gmail.com> Would be really helpful for those tasks that are "paused" purposefully or not. From i30817 at gmail.com Wed Oct 14 09:54:26 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 14 Oct 2009 10:54:26 +0100 Subject: Why does util.timer does not expose interrupt In-Reply-To: <212322090910140211w4288cefcwd5f3cbb40ba49bb9@mail.gmail.com> References: <212322090910140211w4288cefcwd5f3cbb40ba49bb9@mail.gmail.com> Message-ID: <212322090910140254h16e194d6laea2d0e83aab0918@mail.gmail.com> Never mind, just realized that there is no guarantee of what Task would see it at the correct time. Its easier to set a flag to false before the sleep and check it after it. Not thinking concurrently enough. On Wed, Oct 14, 2009 at 10:11 AM, Paulo Levi wrote: > Would be really helpful for those tasks that are "paused" purposefully or not. > From scolebourne at joda.org Wed Oct 14 10:38:26 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Wed, 14 Oct 2009 11:38:26 +0100 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> <4ACE9030.3030801@sun.com> <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> Message-ID: <4AD5AA22.2060208@joda.org> All, While I agree that the nonNull methods below are useful and should be in the JDK, I question whether they should be on j.u.Objects. I believe that there is a whole category of methods to pre-validate the arguments of a method, such as Commons Lang Validate, or Google Prevalidate. http://commons.apache.org/lang/apidocs/org/apache/commons/lang/Validate.html http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Preconditions.html Adding such a set of validation methods would be a useful way to allow developers to strengthen method input checking. Stephen Joshua Bloch wrote: > Joe, > > Hi. I've attached a file containing the methods and a JTReg "basic > test" for inclusion in your BasicObjectTests. I adhered to your style, > for easy integration. If you could take it from here, I'd be ever so > grateful. > > Thanks, > > Josh > > On Thu, Oct 8, 2009 at 6:21 PM, Joe Darcy > wrote: > > > I strongly suggest that you do add these two methods: > > /** > * Checks that the specified object reference is not {@code > null}. This > * method is designed primarily for doing parameter > validation in methods > * and constructors, as demonstrated below: > *
>             * public Foo(Bar bar) {
>             *     this.bar = Objects.nonNull(bar);
>             * }
>             * 
> * > * @param obj the object reference to check for nullity > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj) { > if (obj == null) > throw new NullPointerException(); > return obj; > } > > /** > * Checks that the specified object reference is not {@code > null} and > * throws a customized {@Link NullPointerException} if it is. > This method > * is designed primarily for doing parameter validation in > methods and > * constructors with multiple parameters, as demonstrated below: > *
>             * public Foo(Bar bar, Baz baz) {
>             *     this.bar = Objects.nonNull(bar, "bar must not be null");
>             *     this.baz = Objects.nonNull(baz, "baz must not be null");
>             * }
>             * 
> * > * @param obj the object reference to check for nullity > * @param message detail message to be used in the event that > a {@code > * NullPointerException} is thrown > * @return {@code obj} if not {@code null} > * @throws NullPointerException if {@code obj} is {@code null} > */ > public static T nonNull(T obj, String message) { > if (obj == null) > throw new NullPointerException(message); > return obj; > } > > They do a great job reducing the verbiage in validity-checking > of arguments that must not be null. > > > I've filed bug 6889858 "Add nonNull methods to java.util.Objects" for > these last two methods. If you want to finish off the engineering > need for a changeset, some light tests, etc., I'll file the > Sun-internal paperwork for these. > From sean.mullan at sun.com Wed Oct 14 13:48:14 2009 From: sean.mullan at sun.com (sean.mullan at sun.com) Date: Wed, 14 Oct 2009 13:48:14 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091014134850.E2D5F41558@hg.openjdk.java.net> Changeset: 5f326176855d Author: mullan Date: 2009-10-14 09:36 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5f326176855d 6885667: CertPath/CertPathValidatorTest/bugs/bug6383078 fails on jdk6u18/b02, jdk7/pit/b73 and passes on b72. Summary: Wrap all OCSP exceptions in CertPathValidatorException so that we can fallback to CRLs, if enabled. Reviewed-by: dgu, xuelei ! src/share/classes/sun/security/provider/certpath/OCSP.java ! src/share/classes/sun/security/provider/certpath/OCSPChecker.java Changeset: edeb687e2d9a Author: mullan Date: 2009-10-14 09:47 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/edeb687e2d9a Merge From Anthony.Petrov at Sun.COM Wed Oct 14 14:02:24 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 14 Oct 2009 18:02:24 +0400 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) Message-ID: <4AD5D9F0.3000801@sun.com> Hello, Please review the next version of the fix contributed by Damjan Jovanovic: RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 There you can also find some latest comments regarding the fix. webrev: http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ Since the patch includes changes to the src/solaris/classes/java/lang/ProcessEnvironment.java, I'm CC'ing the Core Libs alias to review the changes in that file. From AWT perspective, the changes look good to me. -- best regards, Anthony From forax at univ-mlv.fr Wed Oct 14 14:35:02 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Wed, 14 Oct 2009 16:35:02 +0200 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AD50DF4.8010503@sun.com> References: <4AD50DF4.8010503@sun.com> Message-ID: <4AD5E196.5090600@univ-mlv.fr> Le 14/10/2009 01:32, Joseph D. Darcy a ?crit : > Hello. > > Following up from threads earlier this year, > > http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html > > http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html > > > I'm willing and interested to sponsor getting String.join > functionality into JDK 7. > > To address this particular bug, I think there should be new "join" > methods on String as opposed to a general "joiner" class. A more > general class could be added later. > > Remi, please point to a current draft of the specification and > implementation for your change. > > Kevin, I'm interested in hearing your comments on the API design. > > Thanks, > > -Joe Hi Joe, the webrev is here: http://cr.openjdk.java.net/~forax/5015163/webrev.00/ There is no specification, i.e no more than the javadoc. I will dig this evening to find the tests I've used, they are on another computer at home which is currently shutdown. As Kevin said String.join is perhaps better as a static method, see first part of: http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001065.html regards, R?mi From pbenedict at apache.org Wed Oct 14 14:43:51 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 14 Oct 2009 09:43:51 -0500 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] Message-ID: I agree with Stephen. There are a slew of validation methods that would be beneficial, and if you really want to drive the JDK towards standard validation, refactor them out into a Validation class. Look at what Spring has written for themselves: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/util/Assert.html Paul From Ulf.Zibis at gmx.de Wed Oct 14 14:47:42 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 14 Oct 2009 16:47:42 +0200 Subject: Fix for 5015163, and my first webrev In-Reply-To: <498CA4CE.1090207@univ-mlv.fr> References: <498CA4CE.1090207@univ-mlv.fr> Message-ID: <4AD5E48E.80107@gmx.de> R?mi, can you tell me how you got the cr.openjdk.java.net account ? Is there any registration link? Thanks, Ulf Am 06.02.2009 21:59, R?mi Forax schrieb: > Hi all, > bug 5015163 is a RFE that advocate to add a method join (like in Python) > to String/StringBuilder/StringBuffer. > > Here is the corresponding webrev (using the new infrastucture :) > http://cr.openjdk.java.net/~forax/5015163/webrev.00/ > The patch is against tl repository. > > Who want to review it ? > > For the record, i have previously proposed this fix using the > jdk-collaboration forum more than > one year ago but because i am lazy i haven't take the time to post it > here. > > cheers, > R?mi Forax > > > From forax at univ-mlv.fr Wed Oct 14 15:01:49 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Wed, 14 Oct 2009 17:01:49 +0200 Subject: Fix for 5015163, and my first webrev In-Reply-To: <4AD5E48E.80107@gmx.de> References: <498CA4CE.1090207@univ-mlv.fr> <4AD5E48E.80107@gmx.de> Message-ID: <4AD5E7DD.7080509@univ-mlv.fr> Le 14/10/2009 16:47, Ulf Zibis a ?crit : > R?mi, > > can you tell me how you got the cr.openjdk.java.net account ? > Is there any registration link? > > Thanks, > > Ulf I've got it because I've the right to push codes on mlvm repository (the DaVinci machine repository). I can use the same openjdk account to push webrevs on cr.openjdk.java.net. R?mi PS: now, I feel guilty because you remember me that I have to work on a patch to mlvm repository for John Rose . > > > Am 06.02.2009 21:59, R?mi Forax schrieb: >> Hi all, >> bug 5015163 is a RFE that advocate to add a method join (like in Python) >> to String/StringBuilder/StringBuffer. >> >> Here is the corresponding webrev (using the new infrastucture :) >> http://cr.openjdk.java.net/~forax/5015163/webrev.00/ >> The patch is against tl repository. >> >> Who want to review it ? >> >> For the record, i have previously proposed this fix using the >> jdk-collaboration forum more than >> one year ago but because i am lazy i haven't take the time to post it >> here. >> >> cheers, >> R?mi Forax >> >> >> > From serverperformance at gmail.com Wed Oct 14 15:07:23 2009 From: serverperformance at gmail.com (=?iso-8859-1?Q?Jes=FAs_Vi=F1uales?=) Date: Wed, 14 Oct 2009 17:07:23 +0200 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: References: Message-ID: <004401ca4ce0$0ab1cc10$20156430$@com> > I agree with Stephen. There are a slew of validation methods that > would be beneficial, and if you really want to drive the JDK towards > standard validation, refactor them out into a Validation class. Look > at what Spring has written for themselves: > >http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/ut il/Assert.html > >Paul Fully agree with you both, Stephan and Paul. A Validation class with a broad perspective makes much more sense to me. --Jesus From schlosna at gmail.com Wed Oct 14 15:11:17 2009 From: schlosna at gmail.com (David Schlosnagle) Date: Wed, 14 Oct 2009 11:11:17 -0400 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AD5E196.5090600@univ-mlv.fr> References: <4AD50DF4.8010503@sun.com> <4AD5E196.5090600@univ-mlv.fr> Message-ID: <9146341c0910140811j20b6b3a4w98bd96cd0ba001f0@mail.gmail.com> Hi R?mi, One quick comment on AbstractStringBuilder.join(String, Object, Object...) -- I'd propose to check that 'elements' is not null prior to appending 'first' so that if the preconditions are violated and the NullPointerException is thrown, there are no side effects. This would also be a nice use of the proposed java.util.Objects validation/precondition/assert methods. The other two join methods in AbstractStringBuilder will implicitly throw NullPointerException when getting the length or iterator respectively, both prior to any modification to the underlying AbstractStringBuilder. I'd be in favor of making those more explicit, but that is more of a stylistic comment. Thanks, Dave Schlosnagle On Wed, Oct 14, 2009 at 10:35 AM, R?mi Forax wrote: > Le 14/10/2009 01:32, Joseph D. Darcy a ?crit : >> >> Hello. >> >> Following up from threads earlier this year, >> >> >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html >> >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html >> >> I'm willing and interested to sponsor getting String.join functionality >> into JDK 7. >> >> To address this particular bug, I think there should be new "join" methods >> on String as opposed to a general "joiner" class. ?A more general class >> could be added later. >> >> Remi, please point to a current draft of the specification and >> implementation for your change. >> >> Kevin, I'm interested in hearing your comments on the API design. >> >> Thanks, >> >> -Joe > > Hi Joe, > the webrev is here: > http://cr.openjdk.java.net/~forax/5015163/webrev.00/ > There is no specification, i.e no more than the javadoc. > > I will dig this evening to find the tests I've used, > they are on another computer at home which is currently shutdown. > > As Kevin said String.join is perhaps better as a static method, > see first part of: > http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001065.html > > regards, > R?mi > > > From Joe.Darcy at Sun.COM Wed Oct 14 17:14:18 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Wed, 14 Oct 2009 10:14:18 -0700 Subject: java.util.Objects, round two In-Reply-To: References: Message-ID: <4AD606EA.6040009@sun.com> Paul Benedict wrote: > Joe, > > I am confused over this warning: > >> * Warning: When a single object reference is supplied, the returned >> * value does not equal the hash code of that object reference. This >> * value can be computed by calling {@link #hashCode(Object)}. >> > > I first looked into Arrays#deepHashCode and did not see any companion > warning there; therefore I am presuming this is new functionality. No, the behavior is the same. Objects.hash is just a var-arg wrapper around Arrays.hashCode(Object[]). The semantic difference is that for Object.hash, one is passing a number of objects, which happen to get bundled into an array, whereas in Arrays.hashCode an array is being explicitly passed. > Two > questions remain based on looking at the javadoc alone and not knowing > its implementation: > > For when a single object reference is supplied: > 1) Why is the hash code not the hash code of the single object? Is > there harm in doing so? > As implied by the chain of javadocs, for a single object, hashcode + 31 is returned via the List.hashCode algorithm on a single element list. -Joe From pbenedict at apache.org Wed Oct 14 17:42:55 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 14 Oct 2009 12:42:55 -0500 Subject: Constants for @SuppressWarnings Message-ID: Question for anyone on the list. What do you think about adding a limited number of String constants to identify common warning types? I personally don't like raw string in my code and would prefer to use constants for them. I would prefer something like: @SuppressWarnings(UNCHECKED) // static import from SuppressWarnings My choices would be: public static final String ALL = "all"; public static final String FALL_THROUGH = "fallthrough"; public static final String SERIAL = "serial"; public static final String UNCHECKED = "unchecked"; >From what I understand, the warnings are vendor specific, but reality shows me there's a practical pool of constants already in use. From the javadoc: > Compiler vendors should document the warning names they support in > conjunction with this annotation type. They are encouraged to cooperate > to ensure that the same names work across multiple compilers. Would such a patch be considered? Paul From Ulf.Zibis at gmx.de Wed Oct 14 18:35:15 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 14 Oct 2009 20:35:15 +0200 Subject: Request for review: Race conditions in java.nio.charset.Charset In-Reply-To: <4ACD01B6.5030607@sun.com> References: <4ACBC00B.9060602@gmx.de> <4ACCD641.5080809@sun.com> <4ACCF217.6000303@gmx.de> <4ACD01B6.5030607@sun.com> Message-ID: <4AD619E3.1020204@gmx.de> Am 07.10.2009 23:01, Xueming Shen schrieb: > Ulf Zibis wrote: >> Sherman, thanks for your review ... >> >> Am 07.10.2009 19:56, Xueming Shen schrieb: >>> Though I did not write the cache code my reading suggests the >>> existing cache >>> impl tries to avoid the relatively "expensive" synchronization for >>> most use scenarios, >>> your approach however hits the synchronization for each/every lookup >>> invocation. >>> So you should at least consider to put the sync block in a separate >>> lookup2. >> >> Agreed: >> (But why separate lookup2? I suspect that Charset.forName() would >> occur in excessive loops, so hotspot potentially cold inline it.) > > Maybe I meant to say "to put the sync in a separate block" I have updated the changeset accordingly: https://bugs.openjdk.java.net/show_bug.cgi?id=100107 > >> >> Is synchronization more expensive, than instantiating new Object[] >> each time + 2 castings (to String + to Charset)? >> > > The difference is fast cpu + a good gc probably can make > "instantiating new Object[] each time + 2 castings" trivial, > but a synchronization only allows one thread run into the code block > and keeps anyone else outside waiting till the > first done. > See my benchmark I posted yesterday. The synchronized cache is ~10-20 % slower, if only 2 charsets are retrieved, but this should not count much, because the operations after (de/encoding some/many characters) should be much more expensive. If 4 charsets are retrieved, the new synchronized cache is up to 800 % faster. -Ulf From Ulf.Zibis at gmx.de Wed Oct 14 18:38:45 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 14 Oct 2009 20:38:45 +0200 Subject: Fix for 5015163, and my first webrev In-Reply-To: <4AD5E7DD.7080509@univ-mlv.fr> References: <498CA4CE.1090207@univ-mlv.fr> <4AD5E48E.80107@gmx.de> <4AD5E7DD.7080509@univ-mlv.fr> Message-ID: <4AD61AB5.4050409@gmx.de> Am 14.10.2009 17:01, R?mi Forax schrieb: > Le 14/10/2009 16:47, Ulf Zibis a ?crit : >> R?mi, >> >> can you tell me how you got the cr.openjdk.java.net account ? >> Is there any registration link? >> >> Thanks, >> >> Ulf > > I've got it because I've the right to push codes on mlvm repository > (the DaVinci machine repository). > I can use the same openjdk account to push webrevs on > cr.openjdk.java.net. Ah, ok, so I'm wondering why you are asking for sponsorship if you have commit rights. -Ulf From Joe.Darcy at Sun.COM Wed Oct 14 19:24:00 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Wed, 14 Oct 2009 12:24:00 -0700 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: <004401ca4ce0$0ab1cc10$20156430$@com> References: <004401ca4ce0$0ab1cc10$20156430$@com> Message-ID: <4AD62550.5030206@sun.com> Jes?s Vi?uales wrote: >> I agree with Stephen. There are a slew of validation methods that >> would be beneficial, and if you really want to drive the JDK towards >> standard validation, refactor them out into a Validation class. Look >> at what Spring has written for themselves: >> >> http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/ut >> > il/Assert.html > >> Paul >> > > Fully agree with you both, Stephan and Paul. A Validation class with a > broad perspective makes much more sense to me. > --Jesus > > If such a validation class is added to the platform, the nonNull methods can be moved there. Until then, they can live in Objects. -Joe From gnu_andrew at member.fsf.org Wed Oct 14 21:19:44 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 14 Oct 2009 22:19:44 +0100 Subject: Fix for 5015163, and my first webrev In-Reply-To: <4AD61AB5.4050409@gmx.de> References: <498CA4CE.1090207@univ-mlv.fr> <4AD5E48E.80107@gmx.de> <4AD5E7DD.7080509@univ-mlv.fr> <4AD61AB5.4050409@gmx.de> Message-ID: <17c6771e0910141419n7878e9cenb9d0ce8ac4f78d39@mail.gmail.com> 2009/10/14 Ulf Zibis : > Am 14.10.2009 17:01, R?mi Forax schrieb: >> >> Le 14/10/2009 16:47, Ulf Zibis a ?crit : >>> >>> R?mi, >>> >>> can you tell me how you got the cr.openjdk.java.net account ? >>> Is there any registration link? >>> >>> Thanks, >>> >>> Ulf >> >> I've got it because I've the right to push codes on mlvm repository >> (the DaVinci machine repository). >> I can use the same openjdk account to push webrevs on cr.openjdk.java.net. > > Ah, ok, so I'm wondering why you are asking for sponsorship if you have > commit rights. > > -Ulf > > > Ulf, >From what I saw, he was asking for a review and approval of the patch rather than sponsorship. Patches still need to be approved even if the person has commit rights (even if this is not so clear from the number of Sun commits that are approved behind the scenes). -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From scolebourne at joda.org Wed Oct 14 21:42:19 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Wed, 14 Oct 2009 22:42:19 +0100 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] Message-ID: <4AD645BB.5070707@joda.org> Joseph D. Darcy wrote: > If such a validation class is added to the platform, the nonNull > methods can be moved there. Until then, they can live in Objects. At first glance, such an approach makes perfect sense. However, we should really stop and question whether it is right or not. One point that has been made about Java over recent times is that it lacks a clear direction. A number of small changes are being added (Project Coin and here) which don't necessarily have a cohesive goal. To my eye it seems that one reason for these getting the go-ahead is that they are suposedly low-risk and low-issue. Each individual change seems small and relatively minor that sometimes its tempting to think that they can cause no harm. Yet even with these seemingly simple changes we find that the lack of a clear vision for Java kicks in and causes trouble. I mention Coin here, because there have been real debates there on various features (including diamond type inference, ARM and map literals vs pair literals) and their proposed implementation. The question is whether the choices made *now* will hinder future evolution of the Java language. Because we (the Java community, and, I strongly suspect, Sun) have no clear view of where Java is going, it becomes impossible to judge whether those choices are the right ones or not. In this specific case, again we have a case where a change *now* may hinder the future evolution of the JDK libraries. If we add nonNull to "Objects", then it will be in the wrong place and confusing if we then add a "Validate" class in JDK8. Or we all have to accept duplication. More broadly, and looking at this discussion overall and Joe's responses, I read between the lines that Joe only has approval to add a single class "Objects", and no other classes (such as "Hasher", "Joiner", "Strings", "Validate", and many others we might find useful). Because the remit is so narrow, we don't get to properly examine more broadly what additions are needed to the core libraries. As such, it feels like the decisions taken here and now have the potential to be remarkably hit and miss. Stephen From pbenedict at apache.org Wed Oct 14 21:57:23 2009 From: pbenedict at apache.org (Paul Benedict) Date: Wed, 14 Oct 2009 16:57:23 -0500 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] Message-ID: Stephen, My interpretation of Joe's email was that it would stay in j.u.Objects unless someone (other than him) contributes the Validate class and tests. Granting your point, his choice would otherwise stand and re-factoring it after JDK 7 would be impossible. I am interested in such a class and will try submit my first patch for JDK. Do you want to help? I am open to doing it together. Paul From Joe.Darcy at Sun.COM Wed Oct 14 22:06:01 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Wed, 14 Oct 2009 15:06:01 -0700 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: <4AD645BB.5070707@joda.org> References: <4AD645BB.5070707@joda.org> Message-ID: <4AD64B49.40901@sun.com> Stephen Colebourne wrote: > Joseph D. Darcy wrote: >> If such a validation class is added to the platform, the nonNull >> methods can be moved there. Until then, they can live in Objects. > At first glance, such an approach makes perfect sense. However, we > should really stop and question whether it is right or not. > > One point that has been made about Java over recent times is that it > lacks a clear direction. A number of small changes are being added > (Project Coin and here) which don't necessarily have a cohesive goal. To > my eye it seems that one reason for these getting the go-ahead is that > they are suposedly low-risk and low-issue. Each individual change seems > small and relatively minor that sometimes its tempting to think that > they can cause no harm. Yet even with these seemingly simple changes we > find that the lack of a clear vision for Java kicks in and causes > trouble. > > I mention Coin here, because there have been real debates there on There have more often been long exchanges dominated by heat rather than light, but that is not unique to the Coin list. [snip] > More broadly, and looking at this discussion overall and Joe's > responses, I read between the lines that Joe only has approval to add a > single class "Objects", and no other classes (such as "Hasher", > "Joiner", "Strings", "Validate", and many others we might find useful). My side project here is defining java.util.Objects. It is not defining "Hasher," "Joiner," "Splitter," "Validator," or any other possibly useful class. Anyone else is free to send in proposals, implementations, and tests for such facilities and someone might offer to sponsor such proposals through the currently Sun-internal processes to get API changes in JDK 7, as I've recently offered to do for String.join. -Joe From jonathan.gibbons at sun.com Wed Oct 14 22:42:52 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Wed, 14 Oct 2009 22:42:52 +0000 Subject: hg: jdk7/tl/langtools: 6838467: JSR199 FileObjects don't obey general contract of equals. Message-ID: <20091014224254.C62AB41628@hg.openjdk.java.net> Changeset: 86b773b7cb40 Author: jjg Date: 2009-10-14 15:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/86b773b7cb40 6838467: JSR199 FileObjects don't obey general contract of equals. Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/RegularFileObject.java ! src/share/classes/com/sun/tools/javac/file/SymbolArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! test/tools/javac/api/6440528/T6440528.java + test/tools/javac/api/T6838467.java From Mandy.Chung at Sun.COM Wed Oct 14 23:57:50 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Wed, 14 Oct 2009 16:57:50 -0700 Subject: Review request for 6891707: Eliminate the java.io.FilePermission dependency on PolicyFile Message-ID: <4AD6657E.8010907@sun.com> Alan, Sean, Can you review the fix for: 6891707: Eliminate the java.io.FilePermission dependency on PolicyFile Webrev: http://cr.openjdk.java.net/~mchung/6891707/webrev.00/ FilePermission and PolicyFile are the two callers to the sun.security.provider.PolicyFile.canonPath method. Adding a new class for the canonPath method seems unnecessary. So the fix just duplicates the code in FilePermission class. Thanks Mandy From jodastephen at gmail.com Wed Oct 14 21:40:05 2009 From: jodastephen at gmail.com (Stephen Colebourne) Date: Wed, 14 Oct 2009 22:40:05 +0100 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: <4AD62550.5030206@sun.com> References: <004401ca4ce0$0ab1cc10$20156430$@com> <4AD62550.5030206@sun.com> Message-ID: <4AD64535.7060104@gmail.com> Joseph D. Darcy wrote: > If such a validation class is added to the platform, the nonNull > methods can be moved there. Until then, they can live in Objects. At first glance, such an approach makes perfect sense. However, we should really stop and question whether it is right or not. One point that has been made about Java over recent times is that it lacks a clear direction. A number of small changes are being added (Project Coin and here) which don't necessarily have a cohesive goal. To my eye it seems that one reason for these getting the go-ahead is that they are suposedly low-risk and low-issue. Each individual change seems small and relatively minor that sometimes its tempting to think that they can cause no harm. Yet even with these seemingly simple changes we find that the lack of a clear vision for Java kicks in and causes trouble. I mention Coin here, because there have been real debates there on various features (including diamond type inference, ARM and map literals vs pair literals) and their proposed implementation. The question is whether the choices made *now* will hinder future evolution of the Java language. Because we (the Java community, and, I strongly suspect, Sun) have no clear view of where Java is going, it becomes impossible to judge whether those choices are the right ones or not. In this specific case, again we have a case where a change *now* may hinder the future evolution of the JDK libraries. If we add nonNull to "Objects", then it will be in the wrong place and confusing if we then add a "Validate" class in JDK8. Or we all have to accept duplication. More broadly, and looking at this discussion overall and Joe's responses, I read between the lines that Joe only has approval to add a single class "Objects", and no other classes (such as "Hasher", "Joiner", "Strings", "Validate", and many others we might find useful). Because the remit is so narrow, we don't get to properly examine more broadly what additions are needed to the core libraries. As such, it feels like the decisions taken here and now have the potential to be remarkably hit and miss. Stephen From joe.darcy at sun.com Thu Oct 15 01:56:59 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Thu, 15 Oct 2009 01:56:59 +0000 Subject: hg: jdk7/tl/langtools: 6558804: Specification for Elements.getDocComment(Element e) should be clarified Message-ID: <20091015015701.41FC541661@hg.openjdk.java.net> Changeset: b8936a7930fe Author: darcy Date: 2009-10-14 18:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/b8936a7930fe 6558804: Specification for Elements.getDocComment(Element e) should be clarified Reviewed-by: jjg ! src/share/classes/javax/lang/model/util/Elements.java From mandy.chung at sun.com Thu Oct 15 03:22:22 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Thu, 15 Oct 2009 03:22:22 +0000 Subject: hg: jdk7/tl/jdk: 6891701: test/java/lang/management/RuntimeMXBean/GetSystemProperties should restore the system property Message-ID: <20091015032235.2FB2F41679@hg.openjdk.java.net> Changeset: 16b33372af1c Author: mchung Date: 2009-10-14 20:16 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/16b33372af1c 6891701: test/java/lang/management/RuntimeMXBean/GetSystemProperties should restore the system property Summary: Restore the system properties when the test finishes Reviewed-by: jjg ! test/java/lang/management/RuntimeMXBean/GetSystemProperties.java ! test/java/lang/management/RuntimeMXBean/PropertiesTest.java From Alan.Bateman at Sun.COM Thu Oct 15 09:12:01 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 15 Oct 2009 10:12:01 +0100 Subject: Review request for 6891707: Eliminate the java.io.FilePermission dependency on PolicyFile In-Reply-To: <4AD6657E.8010907@sun.com> References: <4AD6657E.8010907@sun.com> Message-ID: <4AD6E761.1030701@sun.com> Mandy Chung wrote: > Alan, Sean, > > Can you review the fix for: > 6891707: Eliminate the java.io.FilePermission dependency on PolicyFile > > Webrev: > http://cr.openjdk.java.net/~mchung/6891707/webrev.00/ > > FilePermission and PolicyFile are the two callers to the > sun.security.provider.PolicyFile.canonPath method. Adding a new class > for the canonPath method seems unnecessary. So the fix just > duplicates the code in FilePermission class. > > Thanks > Mandy This looks okay to me. Minor comment is this is just a wrapper about getCanonicalPath to avoid calling it with paths that are intended to match all entries in the directory. It might be good to include this in a comment in both places (and this would avoid needing to say that it duplicated in FilePermission). -Alan From Ulf.Zibis at gmx.de Thu Oct 15 10:19:57 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 15 Oct 2009 12:19:57 +0200 Subject: Fix for 5015163, and my first webrev In-Reply-To: <17c6771e0910141419n7878e9cenb9d0ce8ac4f78d39@mail.gmail.com> References: <498CA4CE.1090207@univ-mlv.fr> <4AD5E48E.80107@gmx.de> <4AD5E7DD.7080509@univ-mlv.fr> <4AD61AB5.4050409@gmx.de> <17c6771e0910141419n7878e9cenb9d0ce8ac4f78d39@mail.gmail.com> Message-ID: <4AD6F74D.9000501@gmx.de> Am 14.10.2009 23:19, Andrew John Hughes schrieb: > 2009/10/14 Ulf Zibis : > >> Am 14.10.2009 17:01, R?mi Forax schrieb: >> >>> Le 14/10/2009 16:47, Ulf Zibis a ?crit : >>> >>>> R?mi, >>>> >>>> can you tell me how you got the cr.openjdk.java.net account ? >>>> Is there any registration link? >>>> >>>> Thanks, >>>> >>>> Ulf >>>> >>> I've got it because I've the right to push codes on mlvm repository >>> (the DaVinci machine repository). >>> I can use the same openjdk account to push webrevs on cr.openjdk.java.net. >>> >> Ah, ok, so I'm wondering why you are asking for sponsorship if you have >> commit rights. >> >> -Ulf >> >> >> >> > > Ulf, > > >From what I saw, he was asking for a review and approval of the patch > rather than sponsorship. Patches still need to be approved even if > the person has commit rights (even if this is not so clear from the > number of Sun commits that are approved behind the scenes). > Andrew, sorry for the confusion. My question regarding sponsorship referred to http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-October/002967.html Thanks for your answer anyway! -Ulf From michael.mcmahon at sun.com Thu Oct 15 11:06:30 2009 From: michael.mcmahon at sun.com (michael.mcmahon at sun.com) Date: Thu, 15 Oct 2009 11:06:30 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091015110656.4DF32416FB@hg.openjdk.java.net> Changeset: 57fe28f3878a Author: michaelm Date: 2009-10-15 12:03 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/57fe28f3878a 6886436: Lightwight HTTP Container (com.sun.* package) is unstable Reviewed-by: chegar ! src/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/com/sun/net/httpserver/bugs/B6886436.java Changeset: 9cf64e7a9978 Author: michaelm Date: 2009-10-15 12:05 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9cf64e7a9978 Merge - src/share/classes/sun/security/provider/certpath/LDAPCertStore.java From alan.bateman at sun.com Thu Oct 15 13:03:17 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Thu, 15 Oct 2009 13:03:17 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20091015130355.EA3454171B@hg.openjdk.java.net> Changeset: f6833a276c1d Author: alanb Date: 2009-10-15 11:54 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f6833a276c1d 6883983: JarVerifier dependency on sun.security.pkcs should be removed Reviewed-by: sherman, wetmore ! src/share/classes/java/util/jar/JarVerifier.java Changeset: cb903c9eaebf Author: alanb Date: 2009-10-15 11:55 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/cb903c9eaebf 6891404: (fs) ACL tests fail with "Invalid argument" on ZFS (sol) Reviewed-by: sherman ! src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java ! test/java/nio/file/attribute/AclFileAttributeView/Basic.java Changeset: 0f92452973eb Author: alanb Date: 2009-10-15 14:02 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0f92452973eb Merge From frederic.martini at gmail.com Thu Oct 15 13:32:30 2009 From: frederic.martini at gmail.com (=?ISO-8859-1?Q?Fr=E9d=E9ric_Martini?=) Date: Thu, 15 Oct 2009 15:32:30 +0200 Subject: C system() equivalent method. In-Reply-To: References: Message-ID: Hello, Sorry to revive this request, but I think this is as simple but very useful method that must be present on Java 7. No one have an opinion on this? Fred, Le 17 septembre 2009 09:16, Fr?d?ric Martini a ?crit : > Hello (before to start, sorry for my bad english) > > > I have seen in the last JDK's build that ProcessBuilder allow to > manage the process I/O more efficiently. > In particular, the inheritIO() set the subprocess standard I/O to be > the same as those of the current Java process, and offer a behavior > "equivalent" to the standard C library function system(). This is very > great an usefull ! > > But there is another BIG difference between ProcessBuilder and the C > library function system() : ProcessBuilder execute an application, and > C system() evaluate a command-line using the OS's shell. So C's > system() can use a lot of OS's specific syntax ($ENV or %ENV%, * ?, > pipe, redirect, etc...) witch is incorrect on a ProcessBuilder > (because this syntax is not interpreted but directly passed to the > application). > > This is a common misunderstanding for Java's developer... > > > My proposal simply consist to add a method that create a > ProcessBuilder pre-filled with a shell command's line, by invoking the > OS's shell ("/bin/sh" on Unixes, "command.com" on Win9x, "cmd.exe" on > WinNT, etc. ? ) in order to evaluate a more complex command-line. > A "basic" implementation can be like this : > > ====================================================================== > > /** > * Create a new ProcessBuilder initialized to call an OS's > * specific command-line. > */ > public static ProcessBuilder createShellFor(String commandLine) { > String osName = System.getProperty("os.name"); > if (osName.startsWith("Windows")) { > if (osName.startsWith("Windows 95") || > osName.startsWith("Windows 98") || > osName.startsWith("Windows Me") ) { > return new > ProcessBuilder("command.com", "/C", commandLine); > } > return new ProcessBuilder("cmd.exe", "/C", > commandLine); > } > return new ProcessBuilder("/bin/sh", "-c", commandLine); > } > > ====================================================================== > This method can be improved with more specific code depending on OS. > > > > > And a "system()" method with a behavior really equivalent to the > standard C library function system(), like this : > > ====================================================================== > > /** > * Executes a command specified in 'commandLine' by calling > * the OS shell program, and returns after the command has been > completed. > * @param commandLine The command-line to execute, using OS shell. > * @return the exit value of the subprocess > */ > public static int system(String commandLine) throws IOException, > InterruptedException { > final Process process = > createShellFor(commandLine).inheritIO().start(); > try { > return process.waitFor(); > } finally { > process.destroy(); > } > } > > ====================================================================== > > So, more complex and specific command-line can be used directly, like > in lots of others languages... > > > Thanks for reading, > Fred > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at Sun.COM Thu Oct 15 13:47:56 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 15 Oct 2009 14:47:56 +0100 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD5D9F0.3000801@sun.com> References: <4AD5D9F0.3000801@sun.com> Message-ID: <4AD7280C.2010102@sun.com> Martin, Michael - have either of you looked at the filtering that they are proposing to add to ProcessEnvironment? Anthony Petrov wrote: > Hello, > > Please review the next version of the fix contributed by Damjan > Jovanovic: > > RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 > There you can also find some latest comments regarding the fix. > > webrev: > http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ > > Since the patch includes changes to the > src/solaris/classes/java/lang/ProcessEnvironment.java, I'm > CC'ing the Core Libs alias to review the changes in that file. > > > From AWT perspective, the changes look good to me. > > -- > best regards, > Anthony From mario.torre at aicas.com Thu Oct 15 13:50:48 2009 From: mario.torre at aicas.com (Mario Torre) Date: Thu, 15 Oct 2009 15:50:48 +0200 Subject: C system() equivalent method. In-Reply-To: References: Message-ID: <4AD728B8.9080005@aicas.com> Il 15/10/2009 15:32, Fr?d?ric Martini ha scritto: > Hello, > > > Sorry to revive this request, but I think this is as simple but very useful > method that must be present on Java 7. > > No one have an opinion on this? > > Fred, I'm not sure. In my opinion this is easy to do in application code using something similar to what you did or Runtime.exec, but doesn't fit into the core library. Also, in this implementation you are assuming lots of things that are not valid everywhere, like: The system is either Windows or Linux or Solaris (or some other "sane" unix variant), the system has /bin/sh, and it's possible to use it to execute process etc... I would not like much to see this in the standard library, especially in java.lang, as this thing is non portable by definition. Cheers, Mario -- Mario Torre, Software Developer, http://www.jroller.com/neugens/ aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-44 pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim Gesch?ftsf?hrer: Dr. James J. Hunt Please, support open standards: http://endsoftpatents.org/ From Michael.McMahon at Sun.COM Thu Oct 15 15:10:03 2009 From: Michael.McMahon at Sun.COM (Michael McMahon) Date: Thu, 15 Oct 2009 16:10:03 +0100 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD7280C.2010102@sun.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> Message-ID: <4AD73B4B.2020405@sun.com> It doesn't seem right to filter out arbitrary environment variables like that (inside ProcessEnvironment). Sorry, I haven't been following this issue closely, but is it not possible to unset this variable somewhere else? - Michael. Alan Bateman wrote: > > Martin, Michael - have either of you looked at the filtering that they > are proposing to add to ProcessEnvironment? > > > Anthony Petrov wrote: >> Hello, >> >> Please review the next version of the fix contributed by Damjan >> Jovanovic: >> >> RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 >> There you can also find some latest comments regarding the fix. >> >> webrev: >> http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ >> >> Since the patch includes changes to the >> src/solaris/classes/java/lang/ProcessEnvironment.java, I'm >> CC'ing the Core Libs alias to review the changes in that file. >> >> >> From AWT perspective, the changes look good to me. >> >> -- >> best regards, >> Anthony > From gnu_andrew at member.fsf.org Thu Oct 15 15:23:23 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 15 Oct 2009 16:23:23 +0100 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD73B4B.2020405@sun.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> <4AD73B4B.2020405@sun.com> Message-ID: <17c6771e0910150823n5afdc222p3702f7d793a1134@mail.gmail.com> 2009/10/15 Michael McMahon : > It doesn't seem right to filter out arbitrary environment variables > like that (inside ProcessEnvironment). Sorry, I haven't been following this > issue closely, > but is it not possible to unset this variable somewhere else? > I concur. That's a nasty hack that's going to create an artificial difference between the native environment and the environment as seen from Java. > - Michael. > > Alan Bateman wrote: >> >> Martin, Michael - have either of you looked at the filtering that they are >> proposing to add to ProcessEnvironment? >> >> >> Anthony Petrov wrote: >>> >>> Hello, >>> >>> Please review the next version of the fix contributed by Damjan >>> Jovanovic: >>> >>> RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 >>> There you can also find some latest comments regarding the fix. >>> >>> webrev: >>> http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ >>> >>> Since the patch includes changes to the >>> src/solaris/classes/java/lang/ProcessEnvironment.java, I'm >>> CC'ing the Core Libs alias to review the changes in that file. >>> >>> >>> From AWT perspective, the changes look good to me. >>> >>> -- >>> best regards, >>> Anthony >> > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Dmitry.Nadezhin at Sun.COM Thu Oct 15 17:03:41 2009 From: Dmitry.Nadezhin at Sun.COM (Dmitry Nadezhin) Date: Thu, 15 Oct 2009 21:03:41 +0400 Subject: BigInteger.bitLength() can return negative result In-Reply-To: References: Message-ID: <4AD755ED.1040704@sun.com> BigInteger is a class implementing arbitrary-precision integers. Of course, it is an idealization. Let's look at implementation limits of this type. The bits are stored in "int[] mag" array. This sets the maximum bit length 32*(2^31 - 1). The "BigInteger.magSerializedForm()" converts bits to "byte[]" array. Serialization of BigInteger will throw an exception on values with bit length larger than 8*(2^31 - 1). The methods "BigInteger.bitLength()", "BigInteger.bitCount()", "BigInteger.getLowestSetBit()" return result as "int". So they may wrap around when bit length is larger than "2^31 - 1". The method "BigInteger.toByteArray()" can fail on such values because it uses "bitLength()". In fact, the output of this program public static void main(String[] args) { BigInteger x = BigInteger.ONE.shiftLeft(Integer.MAX_VALUE); // x = 2^Integer.MAX_VALUE; System.out.println("bitLength="+x.bitLength()); try { byte[] bytes = x.toByteArray(); } catch (Exception e) { e.printStackTrace(System.out); } } is: bitLength=-2147483648 java.lang.NegativeArraySizeException at java_math.BigInteger.toByteArray(BigInteger.java:2689) Shouldn't BigInteger.bitLength()" conform its specification on all possible values of BigInteger ? This can be achieved in different ways: a) Don't change code but write about the wrap around in the specification of "bitLength()" and other methods ; b) Change the return type of "bitLength()" from "int" to "long"; c) "bitLength()" throws an exception when bit length is larger than 2^31 - 1; d) All BigInteger constructors ensure that the bit length is no larger than 2^31 - 1; Which way is better ? From Joe.Darcy at Sun.COM Thu Oct 15 17:42:31 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 15 Oct 2009 10:42:31 -0700 Subject: BigInteger.bitLength() can return negative result In-Reply-To: <4AD755ED.1040704@sun.com> References: <4AD755ED.1040704@sun.com> Message-ID: <4AD75F07.805@sun.com> Dmitry Nadezhin wrote: > BigInteger is a class implementing arbitrary-precision integers. Of > course, it is an idealization. Let's look at implementation limits of > this type. > > The bits are stored in "int[] mag" array. This sets the maximum bit > length 32*(2^31 - 1). > > The "BigInteger.magSerializedForm()" converts bits to "byte[]" array. > Serialization of BigInteger will throw an exception on values with bit > length larger than 8*(2^31 - 1). > > The methods "BigInteger.bitLength()", "BigInteger.bitCount()", > "BigInteger.getLowestSetBit()" return result as "int". > So they may wrap around when bit length is larger than "2^31 - 1". The > method "BigInteger.toByteArray()" can fail on such values because it > uses "bitLength()". > > In fact, the output of this program > public static void main(String[] args) { > BigInteger x = BigInteger.ONE.shiftLeft(Integer.MAX_VALUE); // x = > 2^Integer.MAX_VALUE; > System.out.println("bitLength="+x.bitLength()); > try { > byte[] bytes = x.toByteArray(); > } catch (Exception e) { > e.printStackTrace(System.out); > } > } > is: > bitLength=-2147483648 > java.lang.NegativeArraySizeException > at java_math.BigInteger.toByteArray(BigInteger.java:2689) Yes, the internal bookkeeping of BigInteger is not robust when extremely large values are used. > Shouldn't BigInteger.bitLength()" conform its specification on all > possible values of BigInteger ? > This can be achieved in different ways: > a) Don't change code but write about the wrap around in the > specification of "bitLength()" and other methods ; > b) Change the return type of "bitLength()" from "int" to "long"; Should we break binary compatibility of a commonly used class by changing the return type to fix this problem? Obviously not. > c) "bitLength()" throws an exception when bit length is larger than > 2^31 - 1; > d) All BigInteger constructors ensure that the bit length is no larger > than 2^31 - 1; d) is arguably the most correct approach to address the problem. However, I think the practical consequences of this flaw are low. -Joe From martinrb at google.com Thu Oct 15 17:59:09 2009 From: martinrb at google.com (Martin Buchholz) Date: Thu, 15 Oct 2009 10:59:09 -0700 Subject: C system() equivalent method. In-Reply-To: References: Message-ID: <1ccfd1c10910151059r22aaa62by45646467d1ffdaf3@mail.gmail.com> Hi Fr?d?ric, Thanks for your suggestion. The JDK has long had a culture of pushing people to write portable code, and so any facility that would make it easier to interact with the operating system in a non-portable way meets resistance. Another issue is that the "default" C system shell tends to become dated over time - there are often better command interpreters. Nevertheless, the existence of C "system" and the "shell" keyword arg to python's subprocess.Popen are strong arguments that the concept of a default shell is entrenched in the programmer community. Therefore, I support this proposal in principle. Would someone at Sun like to sponsor this API change? The spec probably needs a bit more work, so that readers will know that we're talking about e.g. /bin/sh without making that explicit. Martin 2009/9/17 Fr?d?ric Martini : > Hello (before to start, sorry for my bad english) > > > I have seen in the last JDK's build that ProcessBuilder allow to > manage the process I/O more efficiently. > In particular, the inheritIO() set the subprocess standard I/O to be > the same as those of the current Java process, and offer a behavior > "equivalent" to the standard C library function system(). This is very > great an usefull ! > > But there is another BIG difference between ProcessBuilder and the C > library function system() : ProcessBuilder execute an application, and > C system() evaluate a command-line using the OS's shell. So C's > system() can use a lot of OS's specific syntax ($ENV or %ENV%, * ?, > pipe, redirect, etc...) witch is incorrect on a ProcessBuilder > (because this syntax is not interpreted but directly passed to the > application). > > This is a common misunderstanding for Java's developer... > > > My proposal simply consist to add a method that create a > ProcessBuilder pre-filled with a shell command's line, by invoking the > OS's shell ("/bin/sh" on Unixes, "command.com" on Win9x, "cmd.exe" on > WinNT, etc. ? ) in order to evaluate a more complex command-line. > A "basic" implementation can be like this : > > ====================================================================== > > ? ? ? /** > ? ? ? ?* Create a new ProcessBuilder initialized to call an OS's > ? ? ? ?* specific command-line. > ? ? ? ?*/ > ? ? ? public static ProcessBuilder createShellFor(String commandLine) { > ? ? ? ? ? ? ? String osName = System.getProperty("os.name"); > ? ? ? ? ? ? ? if (osName.startsWith("Windows")) { > ? ? ? ? ? ? ? ? ? ? ? if (osName.startsWith("Windows 95") || > ? ? ? ? ? ? ? ? ? ? ? ?osName.startsWith("Windows 98") || > ? ? ? ? ? ? ? ? ? ? ? ?osName.startsWith("Windows Me") ) { > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return new > ProcessBuilder("command.com", "/C", commandLine); > ? ? ? ? ? ? ? ? ? ? ? } > ? ? ? ? ? ? ? ? ? ? ? return new ProcessBuilder("cmd.exe", "/C", commandLine); > ? ? ? ? ? ? ? } > ? ? ? ? ? ? ? return new ProcessBuilder("/bin/sh", "-c", commandLine); > ? ? ? } > > ====================================================================== > This method can be improved with more specific code depending on OS. > > > > > And a "system()" method with a behavior really equivalent to the > standard C library function system(), like this : > > ====================================================================== > > ? ? ? /** > ? ? ? ?* Executes a command specified in 'commandLine' by calling > ? ? ? ?* the OS shell program, and returns after the command has been > completed. > ? ? ? ?* @param commandLine The command-line to execute, using OS shell. > ? ? ? ?* @return the exit value of the subprocess > ? ? ? ?*/ > ? ? ? public static int system(String commandLine) throws IOException, > InterruptedException { > ? ? ? ? ? ? ? final Process process = > createShellFor(commandLine).inheritIO().start(); > ? ? ? ? ? ? ? try { > ? ? ? ? ? ? ? ? ? ? ? return process.waitFor(); > ? ? ? ? ? ? ? } finally { > ? ? ? ? ? ? ? ? ? ? ? process.destroy(); > ? ? ? ? ? ? ? } > ? ? ? } > > ====================================================================== > > So, more complex and specific command-line can be used directly, like > in lots of others languages... > > > Thanks for reading, > Fred > From damjan.jov at gmail.com Thu Oct 15 18:04:30 2009 From: damjan.jov at gmail.com (Damjan Jovanovic) Date: Thu, 15 Oct 2009 20:04:30 +0200 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD73B4B.2020405@sun.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> <4AD73B4B.2020405@sun.com> Message-ID: <9e89675b0910151104u130a23c4ka3de99295f618076@mail.gmail.com> The environment variable: * Must not be inherited by child processes * Ideally, should not be seen by Java apps AFAIK Java has no API to unset environment variables. Even if it did, it would be too late for an AWT window to unset it, because child processes can be launched sooner and would still inherit the environment variable. My previous solution (http://bugs.openjdk.java.net/attachment.cgi?id=119) was to modify the *nix launcher so it moves the variable into a java.lang.System property early during Java startup, but then people were unhappy about modifying the launcher (http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002216.html and replies). So what's left? What solution would be acceptable? Please suggest something. Thank you Damjan On Thu, Oct 15, 2009 at 5:10 PM, Michael McMahon wrote: > It doesn't seem right to filter out arbitrary environment variables > like that (inside ProcessEnvironment). Sorry, I haven't been following this > issue closely, > but is it not possible to unset this variable somewhere else? > > - Michael. > > Alan Bateman wrote: >> >> Martin, Michael - have either of you looked at the filtering that they are >> proposing to add to ProcessEnvironment? >> >> >> Anthony Petrov wrote: >>> >>> Hello, >>> >>> Please review the next version of the fix contributed by Damjan >>> Jovanovic: >>> >>> RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 >>> There you can also find some latest comments regarding the fix. >>> >>> webrev: >>> http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ >>> >>> Since the patch includes changes to the >>> src/solaris/classes/java/lang/ProcessEnvironment.java, I'm >>> CC'ing the Core Libs alias to review the changes in that file. >>> >>> >>> From AWT perspective, the changes look good to me. >>> >>> -- >>> best regards, >>> Anthony >> > > From Dmitry.Nadezhin at Sun.COM Thu Oct 15 18:11:11 2009 From: Dmitry.Nadezhin at Sun.COM (Dmitry Nadezhin) Date: Thu, 15 Oct 2009 22:11:11 +0400 Subject: BigInteger.bitLength() can return negative result In-Reply-To: <4AD75F07.805@sun.com> References: <4AD755ED.1040704@sun.com> <4AD75F07.805@sun.com> Message-ID: <4AD765BF.5050909@sun.com> >> d) All BigInteger constructors ensure that the bit length is no >> larger than 2^31 - 1; > > d) is arguably the most correct approach to address the problem. > However, I think the practical consequences of this flaw are low. Nevertheless, may I use this unimportant flaw as a lesson of Java bug fixing ? -Dima From Joe.Darcy at Sun.COM Thu Oct 15 18:27:16 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Thu, 15 Oct 2009 11:27:16 -0700 Subject: BigInteger.bitLength() can return negative result In-Reply-To: <4AD765BF.5050909@sun.com> References: <4AD755ED.1040704@sun.com> <4AD75F07.805@sun.com> <4AD765BF.5050909@sun.com> Message-ID: <4AD76984.4080208@sun.com> Dmitry Nadezhin wrote: > >>> d) All BigInteger constructors ensure that the bit length is no >>> larger than 2^31 - 1; >> >> d) is arguably the most correct approach to address the problem. >> However, I think the practical consequences of this flaw are low. > Nevertheless, may I use this unimportant flaw as a lesson of Java bug > fixing ? > No fix for the bug has yet been offered. You're independently rediscovered a bug that has been in the platform for about 12 years. -Joe From Joe.Darcy at Sun.COM Fri Oct 16 00:16:59 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Thu, 15 Oct 2009 17:16:59 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AD5E196.5090600@univ-mlv.fr> References: <4AD50DF4.8010503@sun.com> <4AD5E196.5090600@univ-mlv.fr> Message-ID: <4AD7BB7B.2030802@sun.com> R?mi Forax wrote: > Le 14/10/2009 01:32, Joseph D. Darcy a ?crit : >> Hello. >> >> Following up from threads earlier this year, >> >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html >> >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html >> >> >> I'm willing and interested to sponsor getting String.join >> functionality into JDK 7. >> >> To address this particular bug, I think there should be new "join" >> methods on String as opposed to a general "joiner" class. A more >> general class could be added later. >> >> Remi, please point to a current draft of the specification and >> implementation for your change. >> >> Kevin, I'm interested in hearing your comments on the API design. >> >> Thanks, >> >> -Joe > > Hi Joe, > the webrev is here: > http://cr.openjdk.java.net/~forax/5015163/webrev.00/ > There is no specification, i.e no more than the javadoc. > > I will dig this evening to find the tests I've used, > they are on another computer at home which is currently shutdown. > > As Kevin said String.join is perhaps better as a static method, > see first part of: > http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001065.html > Yes, I'd also lean toward static methods for this functionality. -Joe From joe.darcy at sun.com Fri Oct 16 01:26:45 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Fri, 16 Oct 2009 01:26:45 +0000 Subject: hg: jdk7/tl/jdk: 4428022: System.out.println(0.001) outputs 0.0010 Message-ID: <20091016012658.432BA41803@hg.openjdk.java.net> Changeset: f85aa3aedf41 Author: darcy Date: 2009-10-15 18:27 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f85aa3aedf41 4428022: System.out.println(0.001) outputs 0.0010 Reviewed-by: darcy Contributed-by: aph at redhat.com ! src/share/classes/sun/misc/FloatingDecimal.java + test/java/lang/Double/ToString.java From mandy.chung at sun.com Fri Oct 16 04:44:56 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Fri, 16 Oct 2009 04:44:56 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091016044521.B5B7E4183F@hg.openjdk.java.net> Changeset: 16e4bbb7488d Author: mchung Date: 2009-10-15 17:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/16e4bbb7488d 6891707: Eliminate the java.io.FilePermission dependency on PolicyFile Summary: Replace call to PolicyFile.canonPath with its own implementation Reviewed-by: alanb, mullan ! src/share/classes/java/io/FilePermission.java ! src/share/classes/sun/security/provider/PolicyFile.java Changeset: f1dab27d668a Author: mchung Date: 2009-10-15 20:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f1dab27d668a Merge From martinrb at google.com Fri Oct 16 07:09:54 2009 From: martinrb at google.com (Martin Buchholz) Date: Fri, 16 Oct 2009 00:09:54 -0700 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD73B4B.2020405@sun.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> <4AD73B4B.2020405@sun.com> Message-ID: <1ccfd1c10910160009h6d6cac43vb31ace4cd4efd72c@mail.gmail.com> (I'm the original author of ProcessEnvironment) I agree with other nay-sayers that we really don't want to have special treatment of magic environment variables. It's no surprise that the launcher and process maintainers resist the addition of AWT-specific code into their area. Immutability of the process environment is generally considered a feature, even though it is occasionally annoying - just like the immutability of String. The party line as of 7 years ago was that environment variables were evil and shouldn't be used at all - favor system properties instead. Martin On Thu, Oct 15, 2009 at 08:10, Michael McMahon wrote: > It doesn't seem right to filter out arbitrary environment variables > like that (inside ProcessEnvironment). Sorry, I haven't been following this > issue closely, > but is it not possible to unset this variable somewhere else? > > - Michael. > > Alan Bateman wrote: >> >> Martin, Michael - have either of you looked at the filtering that they are >> proposing to add to ProcessEnvironment? >> >> >> Anthony Petrov wrote: >>> >>> Hello, >>> >>> Please review the next version of the fix contributed by Damjan >>> Jovanovic: >>> >>> RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 >>> There you can also find some latest comments regarding the fix. >>> >>> webrev: >>> http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ >>> >>> Since the patch includes changes to the >>> src/solaris/classes/java/lang/ProcessEnvironment.java, I'm >>> CC'ing the Core Libs alias to review the changes in that file. >>> >>> >>> From AWT perspective, the changes look good to me. >>> >>> -- >>> best regards, >>> Anthony >> > > From Michael.McMahon at Sun.COM Fri Oct 16 11:21:56 2009 From: Michael.McMahon at Sun.COM (Michael McMahon) Date: Fri, 16 Oct 2009 12:21:56 +0100 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <9e89675b0910151104u130a23c4ka3de99295f618076@mail.gmail.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> <4AD73B4B.2020405@sun.com> <9e89675b0910151104u130a23c4ka3de99295f618076@mail.gmail.com> Message-ID: <4AD85754.3050809@sun.com> Damjan Jovanovic wrote: > The environment variable: > * Must not be inherited by child processes > * Ideally, should not be seen by Java apps > > AFAIK Java has no API to unset environment variables. > > It is possible to manipulate the environment passed to sub-processes though. However, the spec is clear on the point that :- "environment variables which are not modified by Java code will have an unmodified native representation in the subprocess." I wonder if it might make sense to change this, so that some kind of default filtering could be applied? I don't know if it warrants a new API to do this, but maybe a system property could define a list of environment variables that are not passed to child processes. And this could be used in the desktop launcher scripts. - Michael. From martinrb at google.com Fri Oct 16 13:41:08 2009 From: martinrb at google.com (Martin Buchholz) Date: Fri, 16 Oct 2009 06:41:08 -0700 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AD85754.3050809@sun.com> References: <4AD5D9F0.3000801@sun.com> <4AD7280C.2010102@sun.com> <4AD73B4B.2020405@sun.com> <9e89675b0910151104u130a23c4ka3de99295f618076@mail.gmail.com> <4AD85754.3050809@sun.com> Message-ID: <1ccfd1c10910160641g41e3abe4wdc3afdee9d2377fa@mail.gmail.com> On Fri, Oct 16, 2009 at 04:21, Michael McMahon wrote: > Damjan Jovanovic wrote: > "environment variables which are not modified by Java code will have > ?an unmodified native representation in the subprocess." The intent of that statement is to promise not to mangle environment variables that cannot be represented as a String, perhaps because they contain undecodable binary data. IIRC, bash doesn't get this right. > > I wonder if it might make sense to change this, so that some kind > of default filtering could be applied? I don't know if it warrants a new API > to do this, but maybe a system property could define a list of environment > variables that are not passed to child processes. And this could be used > in the desktop launcher scripts. I continue to resist the addition of such a global mechanism. Martin From tim.bell at sun.com Fri Oct 16 17:36:49 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:36:49 +0000 Subject: hg: jdk7/tl: 2 new changesets Message-ID: <20091016173649.9102141929@hg.openjdk.java.net> Changeset: 2c88089b6e1c Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/2c88089b6e1c Added tag jdk7-b73 for changeset 3ac6dcf78232 ! .hgtags Changeset: d1516b9f2395 Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/d1516b9f2395 Added tag jdk7-b74 for changeset 2c88089b6e1c ! .hgtags From tim.bell at sun.com Fri Oct 16 17:36:54 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:36:54 +0000 Subject: hg: jdk7/tl/corba: 2 new changesets Message-ID: <20091016173655.F1DC54192A@hg.openjdk.java.net> Changeset: 5d0cf59a3203 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/5d0cf59a3203 Added tag jdk7-b73 for changeset b751c528c555 ! .hgtags Changeset: 0fb137085952 Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/0fb137085952 Added tag jdk7-b74 for changeset 5d0cf59a3203 ! .hgtags From tim.bell at sun.com Fri Oct 16 17:38:19 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:38:19 +0000 Subject: hg: jdk7/tl/hotspot: 54 new changesets Message-ID: <20091016174008.A133B4192B@hg.openjdk.java.net> Changeset: 489a4f8dcd0f Author: twisti Date: 2009-08-27 06:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/489a4f8dcd0f 6865583: Verbose CIPrintMethodCodes asserts when ldc an empty String Summary: ldc seems to load an empty String and that leads to an assert on offset < length, which are both zero. Reviewed-by: kvn, never ! src/share/vm/classfile/javaClasses.cpp Changeset: 8fe1963e3964 Author: kvn Date: 2009-08-28 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8fe1963e3964 6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp Summary: Fix do_null_check to check for unloaded klass for all oop pointers. Reviewed-by: never, cfang ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp Changeset: 1fbd5d696bf4 Author: twisti Date: 2009-08-31 02:24 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1fbd5d696bf4 6875967: CTW fails with./generated/adfiles/ad_sparc.cpp:6711 Reviewed-by: cfang, never ! src/cpu/sparc/vm/sparc.ad Changeset: ace8397c8563 Author: cfang Date: 2009-08-31 08:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ace8397c8563 6876276: assert(!is_visited,"visit only once") Summary: schedule the superword loads based on dependence constraints Reviewed-by: kvn, never ! src/share/vm/opto/superword.cpp ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java Changeset: ff1a29907b6c Author: never Date: 2009-08-31 17:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ff1a29907b6c 6855215: Calculation error (NaN) after about 1500 calculations Reviewed-by: kvn ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp + test/compiler/6855215/Test6855215.java Changeset: 0f1c19b7a52d Author: kvn Date: 2009-09-08 10:42 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0f1c19b7a52d 6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp Summary: In load_array_length() cast array's type to TypeOopPtr when calling make_ideal_length() method. Reviewed-by: never ! src/share/vm/opto/graphKit.cpp Changeset: 26fbe81d30cf Author: kvn Date: 2009-09-08 16:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/26fbe81d30cf 6880052: SIGSEGV in GraphKit::null_check_common() Summary: Check that a klass is not NULL before the is_loaded() call. Reviewed-by: never ! src/share/vm/opto/graphKit.cpp Changeset: 9a4e87ba1a90 Author: kvn Date: 2009-09-09 16:28 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9a4e87ba1a90 6880533: test/compiler/6865031/Test.java miss -XX:+IgnoreUnrecognizedVMOptions Summary: Add missing test option -XX:+IgnoreUnrecognizedVMOptions. Reviewed-by: never ! test/compiler/6865031/Test.java Changeset: 159d56b94894 Author: kvn Date: 2009-09-10 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/159d56b94894 6880574: C2 assert in escape.cpp:445 on linux-amd64 Summary: Look through chained AddP nodes in get_addp_base(). Reviewed-by: jrose ! src/share/vm/opto/escape.cpp Changeset: c7e94e8fff43 Author: kvn Date: 2009-09-10 18:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7e94e8fff43 6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL) Summary: Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object. Reviewed-by: never ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: a6f533fc33e0 Author: kvn Date: 2009-09-14 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a6f533fc33e0 Merge Changeset: eb058abd0562 Author: ysr Date: 2009-09-15 16:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eb058abd0562 6861557: G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or ...") Summary: Druing heap shrinking, check for emptiness of a region before modifying its ZF status. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: d7c9544cc141 Author: apetrusenko Date: 2009-09-18 06:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d7c9544cc141 Merge Changeset: aafa4232dfd7 Author: asaha Date: 2009-08-28 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/aafa4232dfd7 6821003: Update hotspot windows os_win32 for windows 7 Reviewed-by: xlu ! src/os/windows/vm/os_windows.cpp Changeset: 9601152ccfc1 Author: dcubed Date: 2009-08-28 12:25 -0600 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9601152ccfc1 6875393: 2/3 JNI itable index cache is broken Summary: Add missing initialization of cache size. Reviewed-by: tbell ! src/share/vm/oops/instanceKlass.cpp Changeset: 75e30968ebe1 Author: dcubed Date: 2009-08-28 12:32 -0600 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/75e30968ebe1 Merge ! src/share/vm/oops/instanceKlass.cpp Changeset: df97b1cf46d8 Author: dcubed Date: 2009-08-28 15:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/df97b1cf46d8 Merge Changeset: bb287c042e99 Author: apangin Date: 2009-08-30 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bb287c042e99 Merge Changeset: 6918603297f7 Author: poonam Date: 2009-09-01 23:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6918603297f7 6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0 Summary: Add an explicit check for TypeProfileWidth == 0 in record_klass_in_profile_helper() functions. Reviewed-by: never, coleenp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp Changeset: 5fdbe2cdf565 Author: andrew Date: 2009-09-08 09:01 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5fdbe2cdf565 6879689: Fix warning about ignored return value when compiling with -O2 Summary: Store the return value of fwrite and check it matches the size of the array. Reviewed-by: twisti, dholmes ! src/share/vm/adlc/archDesc.cpp Changeset: 0804a88ed4f5 Author: andrew Date: 2009-09-08 09:02 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0804a88ed4f5 Merge Changeset: 682194ca1d8d Author: acorn Date: 2009-09-10 09:04 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/682194ca1d8d Merge - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/oops/instanceKlass.cpp Changeset: 0fc81f0a8ca8 Author: andrew Date: 2009-09-12 12:50 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0fc81f0a8ca8 6873059: Explicitly use -source 6 -target 6 when compiling with the boot jdk Summary: The build fails if the bootstrap JDK defaults to <1.5 Reviewed-by: jcoomes ! make/linux/makefiles/jvmti.make ! make/linux/makefiles/rules.make ! make/linux/makefiles/sa.make ! make/linux/makefiles/top.make ! make/solaris/makefiles/jvmti.make ! make/solaris/makefiles/rules.make ! make/solaris/makefiles/sa.make ! make/solaris/makefiles/top.make ! make/windows/makefiles/generated.make ! make/windows/makefiles/jvmti.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! make/windows/projectfiles/common/Makefile Changeset: e5b31fd85b72 Author: acorn Date: 2009-09-15 16:28 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e5b31fd85b72 Merge Changeset: ad6585fd4087 Author: acorn Date: 2009-09-04 12:53 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ad6585fd4087 6830542: Performance: JVM_DefineClass already verified. Reviewed-by: kamg, phh ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 26b774d693aa Author: acorn Date: 2009-09-16 09:10 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/26b774d693aa Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp Changeset: 83c29a26f67c Author: acorn Date: 2009-09-16 15:42 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/83c29a26f67c 6879572: SA fails _is_marked_dependent not found Reviewed-by: kamg, dcubed ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 723131383de6 Author: acorn Date: 2009-09-18 15:14 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/723131383de6 Merge Changeset: 74a5db69c1fe Author: dcubed Date: 2009-09-21 09:30 -0600 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/74a5db69c1fe 6419370: 4/4 new jmethodID code has tiny holes in synchronization Summary: Fix races in jmethodID cache and JNI itable index cache. Reviewed-by: ikrylov, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/methodOop.hpp Changeset: d72ba3205918 Author: acorn Date: 2009-09-21 18:10 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d72ba3205918 Merge Changeset: 87770dcf831b Author: dcubed Date: 2009-09-22 21:12 -0600 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/87770dcf831b 6876794: 4/4 sp07t002 hangs very intermittently Summary: remove over locking by VMThread on "is thread suspended?" check Reviewed-by: dholmes, acorn, andrew ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: c3c4a1d3801a Author: andrew Date: 2009-09-23 11:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c3c4a1d3801a 6884552: remove some unnecessary #ifdef's introduced in the fix for 4957990 Summary: Removed the unnecessary #ifdef's which were interfering with the build of the Zero-assembler port Reviewed-by: ysr, jcoomes ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp Changeset: 1af62b6ca0f9 Author: apetrusenko Date: 2009-09-25 04:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1af62b6ca0f9 Merge Changeset: 7a102acc9f17 Author: trims Date: 2009-09-25 12:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7a102acc9f17 Merge ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/prims/jvm.h Changeset: faf94d94786b Author: trims Date: 2009-09-25 12:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/faf94d94786b 6885900: Bump the HS17 build number to 02 Summary: Update the HS17 build number to 02 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 6ddec5389232 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6ddec5389232 Added tag jdk7-b73 for changeset faf94d94786b ! .hgtags Changeset: 685e959d09ea Author: cfang Date: 2009-09-14 09:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/685e959d09ea 6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default) Summary: design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node Reviewed-by: kvn, never ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/superword.cpp + test/compiler/6877254/Test.java Changeset: 62001a362ce9 Author: kvn Date: 2009-09-14 12:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/62001a362ce9 6827605: new String intrinsics may prevent EA scalar replacement 6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2 Summary: Modify String intrinsic methods to pass char[] pointers instead of string oops. Reviewed-by: never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp + test/compiler/6875866/Test.java Changeset: 00977607da34 Author: cfang Date: 2009-09-15 11:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/00977607da34 6879921: CTW failure jdk6_18/hotspot/src/share/vm/utilities/globalDefinitions.cpp:268 Summary: filter out non-primitives before deciding whether two ops can be packed Reviewed-by: kvn, never ! src/share/vm/opto/superword.cpp Changeset: 7e309ecb83ce Author: kvn Date: 2009-09-15 19:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7e309ecb83ce 6879362: assert(!klass_is_exact(),"only non-exact klass") Summary: Do nothing for AddP node which has type not related to the type of allocated object. Reviewed-by: never ! src/share/vm/opto/escape.cpp Changeset: 148e5441d916 Author: jrose Date: 2009-09-15 21:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/148e5441d916 6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr ! agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_ValueType.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciObject.cpp ! src/share/vm/ci/ciObject.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/debugInfoRec.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline2.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp ! src/share/vm/utilities/debug.cpp Changeset: be094e0c089a Author: jrose Date: 2009-09-15 22:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/be094e0c089a Merge Changeset: 3a2aa26bdc58 Author: never Date: 2009-09-16 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3a2aa26bdc58 6854812: 6.0_14-b08 crashes with a SIGSEGV Reviewed-by: kvn, twisti ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/opto/parse1.cpp Changeset: 6a8ccac44f41 Author: kvn Date: 2009-09-18 09:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6a8ccac44f41 6820514: meet not symmetric failure in ctw Summary: Add missing instance_id meet. Reviewed-by: never ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: 54b3b351d6f9 Author: jrose Date: 2009-09-23 23:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/54b3b351d6f9 Merge ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 753cf9794df9 Author: jrose Date: 2009-09-23 23:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/753cf9794df9 6885169: merge of 4957990 and 6863023 causes conflict on do_nmethods Summary: After mechanically merging changes, some by-hand adjustments are needed. Reviewed-by: ysr ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp Changeset: ddd6f1182ae3 Author: kvn Date: 2009-09-25 13:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ddd6f1182ae3 6883468: C2 compiler enters infinite loop in PhaseIterGVN::transform Summary: Avoid ideal transformation ping-pong between AddPNode::Ideal() and CastX2PNode::Ideal(). Reviewed-by: cfang ! src/share/vm/opto/connode.cpp Changeset: d6b9fd78f389 Author: cfang Date: 2009-09-28 17:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d6b9fd78f389 6886353: For DeoptimizeALot, JTreg tests should "IgnoreUnrecognizedVMOptions on a product build Summary: Add IgnoreUnrecognizedVMOptions for JTreg tests (on a product build) to pass with DeoptimizeALot Reviewed-by: kvn ! test/compiler/6823453/Test.java ! test/compiler/6833129/Test.java Changeset: 46b819ba120b Author: jrose Date: 2009-09-30 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/46b819ba120b Merge ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: a0107ba3bc53 Author: johnc Date: 2009-10-01 15:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a0107ba3bc53 6887186: G1: Incorrect code generated for G1 pre-barrier by C1 on SPARC Summary: Modify operand passed to C1 pre-barrier to be the operand representing the address of the object field that is being stored. Reviewed-by: never ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Changeset: 708275a44e4a Author: tonyp Date: 2009-10-03 10:53 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/708275a44e4a Merge ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Changeset: a1423fe86a18 Author: trims Date: 2009-10-09 15:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a1423fe86a18 Merge ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/runtime/sweeper.cpp Changeset: f4b900403d6e Author: trims Date: 2009-10-09 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f4b900403d6e 6890293: Bump the HS17 build number to 03 Summary: Update the HS17 build number to 03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 411c9c4ca96a Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/411c9c4ca96a Added tag jdk7-b74 for changeset f4b900403d6e ! .hgtags From tim.bell at sun.com Fri Oct 16 17:42:24 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:42:24 +0000 Subject: hg: jdk7/tl/jaxp: 3 new changesets Message-ID: <20091016174229.3E0634192F@hg.openjdk.java.net> Changeset: feb05980f9f2 Author: ohair Date: 2009-09-28 19:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/feb05980f9f2 6886359: Missing jaxws property files and missing changes in jaxp/jaxws drop bundles Reviewed-by: jjg, tbell ! build-defs.xml ! jaxp.properties Changeset: ea7b88c676dd Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/ea7b88c676dd Added tag jdk7-b73 for changeset feb05980f9f2 ! .hgtags Changeset: 555fb78ee4ce Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/555fb78ee4ce Added tag jdk7-b74 for changeset ea7b88c676dd ! .hgtags From tim.bell at sun.com Fri Oct 16 17:42:36 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:42:36 +0000 Subject: hg: jdk7/tl/jaxws: 3 new changesets Message-ID: <20091016174240.574D341930@hg.openjdk.java.net> Changeset: 558985e26fe1 Author: ohair Date: 2009-09-28 19:38 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/558985e26fe1 6886359: Missing jaxws property files and missing changes in jaxp/jaxws drop bundles Reviewed-by: jjg, tbell ! build-defs.xml ! jaxws.properties Changeset: f4466e1b6080 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/f4466e1b6080 Added tag jdk7-b73 for changeset 558985e26fe1 ! .hgtags Changeset: fcf2b8b5d606 Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/fcf2b8b5d606 Added tag jdk7-b74 for changeset f4466e1b6080 ! .hgtags From tim.bell at sun.com Fri Oct 16 17:46:18 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 17:46:18 +0000 Subject: hg: jdk7/tl/jdk: 42 new changesets Message-ID: <20091016175515.C9DCC41934@hg.openjdk.java.net> Changeset: 59b45d636384 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/59b45d636384 Added tag jdk7-b73 for changeset f708138c9aca ! .hgtags Changeset: 8e5d45fc8d1e Author: jgodinez Date: 2009-07-01 12:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8e5d45fc8d1e 6848799: Reg-test java/awt/print/PageFormat/PageFormatFromAttributes.java fails on Rhel_5 Reviewed-by: tdv, prr ! src/solaris/classes/sun/print/IPPPrintService.java + test/java/awt/print/PageFormat/PageFormatFromAttributes.java Changeset: 837bb8760bad Author: yan Date: 2009-07-13 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/837bb8760bad Merge - src/share/classes/java/nio/file/DirectoryStreamFilters.java - src/share/classes/java/nio/file/FileAction.java - src/share/classes/java/nio/file/spi/AbstractPath.java - src/share/classes/sun/io/ByteToCharMS932DB.java - src/share/classes/sun/io/CharToByteMS932DB.java - src/share/classes/sun/nio/cs/ext/EUC_CN.java - src/share/classes/sun/nio/cs/ext/EUC_KR.java - src/share/classes/sun/nio/cs/ext/GBK.java - src/share/classes/sun/nio/cs/ext/Johab.java - src/share/classes/sun/nio/cs/ext/MS932.java - src/share/classes/sun/nio/cs/ext/MS932DB.java - src/share/classes/sun/nio/cs/ext/MS936.java - src/share/classes/sun/nio/cs/ext/MS949.java - src/share/classes/sun/nio/cs/ext/MS950.java - src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java - src/share/classes/sun/nio/fs/MimeType.java - src/share/classes/sun/swing/AccessibleMethod.java - test/java/nio/file/DirectoryStream/Filters.java - test/java/nio/file/Files/content_type.sh - test/java/nio/file/Path/temporary_files.sh - test/java/nio/file/attribute/Attributes/Basic.java Changeset: a0b315ecdc78 Author: rkennke Date: 2009-07-22 15:52 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a0b315ecdc78 6857358: Two testcases are failing in jdk7 b64 pit build with java.security.AccessControlException Summary: Try to load GraphicsEnvironment with bootclassloader first, only then try app classloader. Reviewed-by: prr, tdv, igor ! src/share/classes/java/awt/GraphicsEnvironment.java Changeset: 9fa696ed1f38 Author: jgodinez Date: 2009-07-30 12:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9fa696ed1f38 Merge Changeset: 7fe0497ee5b5 Author: jgodinez Date: 2009-08-04 17:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/7fe0497ee5b5 6829673: ThinLineTest: A line < 1 pixel disappears. Reviewed-by: igor, prr Contributed-by: rkennke ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java + test/sun/pisces/ThinLineTest.java Changeset: 64b0c953635d Author: rkennke Date: 2009-08-07 18:31 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/64b0c953635d 6795908: Refactor FontManager Reviewed-by: prr, igor ! make/sun/awt/FILES_export_windows.gmk ! make/sun/awt/make.depend ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/font/mapfile-vers ! make/sun/font/mapfile-vers.openjdk ! make/sun/headless/mapfile-vers ! make/sun/xawt/mapfile-vers ! src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/javax/swing/plaf/nimbus/Defaults.template ! src/share/classes/javax/swing/text/StyleContext.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/font/CMap.java ! src/share/classes/sun/font/CompositeFont.java ! src/share/classes/sun/font/CompositeGlyphMapper.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/FontDesignMetrics.java ! src/share/classes/sun/font/FontFamily.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/FontManagerNativeLibrary.java ! src/share/classes/sun/font/FontResolver.java ! src/share/classes/sun/font/FontScaler.java ! src/share/classes/sun/font/FreetypeFontScaler.java ! src/share/classes/sun/font/GlyphLayout.java ! src/share/classes/sun/font/PhysicalStrike.java ! src/share/classes/sun/font/StandardGlyphVector.java ! src/share/classes/sun/font/StrikeCache.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/TrueTypeGlyphMapper.java ! src/share/classes/sun/font/Type1Font.java ! src/share/classes/sun/font/Type1GlyphMapper.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/share/classes/sun/print/PSPrinterJob.java ! src/share/classes/sun/print/PathGraphics.java ! src/share/classes/sun/swing/SwingUtilities2.java ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/font/sunfontids.h ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/font/FcFontConfiguration.java ! src/solaris/classes/sun/font/NativeFont.java ! src/solaris/classes/sun/font/NativeStrike.java ! src/solaris/native/sun/awt/fontpath.c ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java ! src/windows/classes/sun/awt/windows/WFontConfiguration.java ! src/windows/classes/sun/awt/windows/WPathGraphics.java ! src/windows/classes/sun/awt/windows/WPrinterJob.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/native/sun/font/fontpath.c ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Changeset: 92607d652d7a Author: rkennke Date: 2009-08-07 19:36 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/92607d652d7a 6869705: Missing files of CR6795908, FontManager refactoring Reviewed-by: prr, igor + src/share/classes/sun/font/FontAccess.java + src/share/classes/sun/font/FontManagerFactory.java + src/share/classes/sun/font/FontManagerForSGE.java + src/share/classes/sun/font/FontUtilities.java + src/share/classes/sun/font/SunFontManager.java + src/solaris/classes/sun/awt/X11FontManager.java + src/solaris/classes/sun/font/FontConfigManager.java + src/windows/classes/sun/awt/Win32FontManager.java Changeset: 11b38980893c Author: rkennke Date: 2009-08-12 17:21 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/11b38980893c 6870238: Font2DTest fails on Debian after FontManager refactoring Summary: Use fontManager field instead of querying the FontManagerFactory Reviewed-by: igor, prr ! src/solaris/classes/sun/font/FcFontConfiguration.java Changeset: a389af17df10 Author: prr Date: 2009-08-14 14:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a389af17df10 6867603: sun.font.FontManager.getDefaultPlatformFont throws NPE in OpenJDK on Solaris 10 10/08 Reviewed-by: igor, jgodinez ! src/solaris/classes/sun/font/FontConfigManager.java ! src/solaris/native/sun/awt/fontpath.c Changeset: e90f58148115 Author: jgodinez Date: 2009-09-16 19:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e90f58148115 Merge - make/javax/swing/plaf/nimbus/Makefile - make/tools/swing-nimbus/Makefile - make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Canvas.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/ControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Designer.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/EllipseShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/GraphicsHelper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Layer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PaintedShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PathShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/RectangleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/TemplateLayer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/DropShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/Effect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtilsTemp.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/OuterGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/ShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/CanvasMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/ColorMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/DimensionMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/InsetsMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/AbstractGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/GradientStop.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Matte.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Texture.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasPath.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasResources.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasUIDefaults.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/DefaultsGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/Generator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/GeneratorUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/TemplateWriter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/PainterBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIColor.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIComponent.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDimension.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIFont.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIcon.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIconRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIInsets.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIPaint.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIProperty.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStateType.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/BorderMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassConverter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/UIPropertyMapper.java - src/share/classes/com/sun/crypto/provider/JarVerifier.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Component.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java ! src/share/classes/javax/swing/plaf/nimbus/Defaults.template - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/classes/sun/security/pkcs11/JarVerifier.java ! src/share/classes/sun/swing/SwingUtilities2.java - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h ! src/solaris/classes/sun/awt/X11/XToolkit.java - src/windows/classes/sun/security/mscapi/JarVerifier.java - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 27d58a02bb9d Author: srl Date: 2009-09-28 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/27d58a02bb9d 6795060: VM crash on Linux in ICU layout library when processing \u0DDD (Sinhalese) Reviewed-by: igor, prr ! src/share/native/sun/font/layout/IndicClassTables.cpp + test/java/awt/font/TextLayout/TestSinhalaChar.java Changeset: e6ced7714609 Author: jgodinez Date: 2009-09-29 09:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e6ced7714609 Merge - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java - src/share/native/sun/security/ec/ec.c Changeset: c74d38ef118c Author: srl Date: 2009-09-29 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c74d38ef118c 6501644: sync LayoutEngine *code* structure to match ICU Reviewed-by: prr ! make/sun/font/Makefile ! src/share/native/sun/font/layout/AlternateSubstSubtables.cpp ! src/share/native/sun/font/layout/AlternateSubstSubtables.h ! src/share/native/sun/font/layout/AnchorTables.cpp ! src/share/native/sun/font/layout/AnchorTables.h ! src/share/native/sun/font/layout/ArabicLayoutEngine.cpp ! src/share/native/sun/font/layout/ArabicLayoutEngine.h ! src/share/native/sun/font/layout/ArabicShaping.cpp ! src/share/native/sun/font/layout/ArabicShaping.h ! src/share/native/sun/font/layout/AttachmentPosnSubtables.h ! src/share/native/sun/font/layout/CanonData.cpp ! src/share/native/sun/font/layout/CanonShaping.cpp ! src/share/native/sun/font/layout/CanonShaping.h ! src/share/native/sun/font/layout/CharSubstitutionFilter.h ! src/share/native/sun/font/layout/ClassDefinitionTables.cpp ! src/share/native/sun/font/layout/ClassDefinitionTables.h ! src/share/native/sun/font/layout/ContextualGlyphInsertion.h ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/ContextualGlyphSubstitution.h ! src/share/native/sun/font/layout/ContextualSubstSubtables.cpp ! src/share/native/sun/font/layout/ContextualSubstSubtables.h ! src/share/native/sun/font/layout/CoverageTables.cpp ! src/share/native/sun/font/layout/CoverageTables.h ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.h ! src/share/native/sun/font/layout/DefaultCharMapper.h ! src/share/native/sun/font/layout/DeviceTables.cpp ! src/share/native/sun/font/layout/DeviceTables.h ! src/share/native/sun/font/layout/ExtensionSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.h ! src/share/native/sun/font/layout/Features.cpp ! src/share/native/sun/font/layout/Features.h ! src/share/native/sun/font/layout/GDEFMarkFilter.cpp ! src/share/native/sun/font/layout/GDEFMarkFilter.h ! src/share/native/sun/font/layout/GXLayoutEngine.cpp ! src/share/native/sun/font/layout/GXLayoutEngine.h ! src/share/native/sun/font/layout/GlyphDefinitionTables.cpp ! src/share/native/sun/font/layout/GlyphDefinitionTables.h ! src/share/native/sun/font/layout/GlyphIterator.cpp ! src/share/native/sun/font/layout/GlyphIterator.h ! src/share/native/sun/font/layout/GlyphLookupTables.cpp ! src/share/native/sun/font/layout/GlyphLookupTables.h ! src/share/native/sun/font/layout/GlyphPositionAdjustments.cpp ! src/share/native/sun/font/layout/GlyphPositionAdjustments.h ! src/share/native/sun/font/layout/GlyphPositioningTables.cpp ! src/share/native/sun/font/layout/GlyphPositioningTables.h ! src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp ! src/share/native/sun/font/layout/GlyphPosnLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp ! src/share/native/sun/font/layout/GlyphSubstLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstitutionTables.cpp ! src/share/native/sun/font/layout/GlyphSubstitutionTables.h ! src/share/native/sun/font/layout/HanLayoutEngine.cpp ! src/share/native/sun/font/layout/HanLayoutEngine.h ! src/share/native/sun/font/layout/IndicClassTables.cpp ! src/share/native/sun/font/layout/IndicLayoutEngine.cpp ! src/share/native/sun/font/layout/IndicLayoutEngine.h ! src/share/native/sun/font/layout/IndicRearrangement.h ! src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp ! src/share/native/sun/font/layout/IndicRearrangementProcessor.h ! src/share/native/sun/font/layout/IndicReordering.cpp ! src/share/native/sun/font/layout/IndicReordering.h ! src/share/native/sun/font/layout/KernTable.cpp ! src/share/native/sun/font/layout/KernTable.h ! src/share/native/sun/font/layout/KhmerLayoutEngine.cpp ! src/share/native/sun/font/layout/KhmerLayoutEngine.h ! src/share/native/sun/font/layout/KhmerReordering.cpp ! src/share/native/sun/font/layout/KhmerReordering.h ! src/share/native/sun/font/layout/LEFontInstance.cpp ! src/share/native/sun/font/layout/LEFontInstance.h ! src/share/native/sun/font/layout/LEGlyphFilter.h ! src/share/native/sun/font/layout/LEGlyphStorage.cpp ! src/share/native/sun/font/layout/LEGlyphStorage.h ! src/share/native/sun/font/layout/LEInsertionList.cpp ! src/share/native/sun/font/layout/LEInsertionList.h ! src/share/native/sun/font/layout/LELanguages.h ! src/share/native/sun/font/layout/LEScripts.h + src/share/native/sun/font/layout/LEStandalone.h ! src/share/native/sun/font/layout/LESwaps.h ! src/share/native/sun/font/layout/LETypes.h ! src/share/native/sun/font/layout/LayoutEngine.cpp ! src/share/native/sun/font/layout/LayoutEngine.h ! src/share/native/sun/font/layout/LayoutTables.h ! src/share/native/sun/font/layout/LigatureSubstProc.cpp ! src/share/native/sun/font/layout/LigatureSubstProc.h ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.h ! src/share/native/sun/font/layout/LigatureSubstitution.h ! src/share/native/sun/font/layout/LookupProcessor.cpp ! src/share/native/sun/font/layout/LookupProcessor.h ! src/share/native/sun/font/layout/LookupTables.cpp ! src/share/native/sun/font/layout/LookupTables.h ! src/share/native/sun/font/layout/Lookups.cpp ! src/share/native/sun/font/layout/Lookups.h ! src/share/native/sun/font/layout/MPreFixups.cpp ! src/share/native/sun/font/layout/MPreFixups.h ! src/share/native/sun/font/layout/MarkArrays.cpp ! src/share/native/sun/font/layout/MarkArrays.h ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.h ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.h ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.h ! src/share/native/sun/font/layout/MirroredCharData.cpp ! src/share/native/sun/font/layout/MorphStateTables.h ! src/share/native/sun/font/layout/MorphTables.cpp ! src/share/native/sun/font/layout/MorphTables.h ! src/share/native/sun/font/layout/MultipleSubstSubtables.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.h ! src/share/native/sun/font/layout/NonContextualGlyphSubst.h ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.h ! src/share/native/sun/font/layout/OpenTypeTables.h ! src/share/native/sun/font/layout/OpenTypeUtilities.cpp ! src/share/native/sun/font/layout/OpenTypeUtilities.h ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.h ! src/share/native/sun/font/layout/ScriptAndLanguage.cpp ! src/share/native/sun/font/layout/ScriptAndLanguage.h ! src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp ! src/share/native/sun/font/layout/ScriptAndLanguageTags.h ! src/share/native/sun/font/layout/SegmentArrayProcessor.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor.h ! src/share/native/sun/font/layout/SegmentSingleProcessor.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor.h ! src/share/native/sun/font/layout/ShapingTypeData.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.h ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.h ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.h ! src/share/native/sun/font/layout/SingleTableProcessor.cpp ! src/share/native/sun/font/layout/SingleTableProcessor.h ! src/share/native/sun/font/layout/StateTableProcessor.cpp ! src/share/native/sun/font/layout/StateTableProcessor.h ! src/share/native/sun/font/layout/StateTables.h ! src/share/native/sun/font/layout/SubstitutionLookups.cpp ! src/share/native/sun/font/layout/SubstitutionLookups.h ! src/share/native/sun/font/layout/SubtableProcessor.cpp ! src/share/native/sun/font/layout/SubtableProcessor.h ! src/share/native/sun/font/layout/ThaiLayoutEngine.cpp ! src/share/native/sun/font/layout/ThaiLayoutEngine.h ! src/share/native/sun/font/layout/ThaiShaping.cpp ! src/share/native/sun/font/layout/ThaiShaping.h ! src/share/native/sun/font/layout/ThaiStateTables.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor.h ! src/share/native/sun/font/layout/ValueRecords.cpp ! src/share/native/sun/font/layout/ValueRecords.h Changeset: e8a764450aa7 Author: srl Date: 2009-09-29 15:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e8a764450aa7 Merge - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java - src/share/native/sun/security/ec/ec.c Changeset: e8b1b4c00e8a Author: srl Date: 2009-09-29 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e8b1b4c00e8a 6886718: missing license info Reviewed-by: igor, prr ! test/java/awt/font/TextLayout/TestSinhalaChar.java Changeset: ec67b240b727 Author: mchung Date: 2009-09-29 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ec67b240b727 6879044: Eliminate the dependency on logging from the AWT/2D/Swing classes Summary: Replace calls to Logger with sun.util.logging.PlatformLogger Reviewed-by: prr, art, alexp, dcherepanov, igor, dav, anthony ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AttributeValue.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/share/classes/java/awt/Cursor.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/ComponentAccessor.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/ScrollPaneWheelScroller.java ! src/share/classes/sun/awt/SunDisplayChanger.java ! src/share/classes/sun/awt/SunGraphicsCallback.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/WindowAccessor.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/ListHelper.java ! src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java ! src/solaris/classes/sun/awt/X11/XCheckboxPeer.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFocusProxyWindow.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XInputMethod.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/XListPeer.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XMenuBarPeer.java ! src/solaris/classes/sun/awt/X11/XMenuItemPeer.java ! src/solaris/classes/sun/awt/X11/XMenuPeer.java ! src/solaris/classes/sun/awt/X11/XMenuWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XQueryTree.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XWrapperBase.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/keysym2ucs.h ! src/solaris/classes/sun/awt/X11FontManager.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/font/FcFontConfiguration.java ! src/solaris/classes/sun/font/FontConfigManager.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WDesktopProperties.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WPanelPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: 5b52851b0927 Author: mchung Date: 2009-09-29 22:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5b52851b0927 Merge Changeset: 633806cdab51 Author: jgodinez Date: 2009-10-05 18:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/633806cdab51 Merge Changeset: 405fd587f13f Author: tbell Date: 2009-10-07 14:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/405fd587f13f Merge ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java Changeset: 317ac0bf2285 Author: anthony Date: 2009-09-15 16:15 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/317ac0bf2285 6868255: Requirements for correct operating of the HW/LW Mixing feature need to be specified Summary: The specification is updated Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java Changeset: 986ec552383f Author: yan Date: 2009-09-22 01:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/986ec552383f Merge - make/javax/swing/plaf/nimbus/Makefile - make/tools/swing-nimbus/Makefile - make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Canvas.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/ControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Designer.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/EllipseShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/GraphicsHelper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Layer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PaintedShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PathShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/RectangleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/TemplateLayer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/DropShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/Effect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtilsTemp.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/OuterGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/ShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/CanvasMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/ColorMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/DimensionMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/InsetsMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/AbstractGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/GradientStop.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Matte.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Texture.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasPath.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasResources.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasUIDefaults.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/DefaultsGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/Generator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/GeneratorUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/TemplateWriter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/PainterBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIColor.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIComponent.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDimension.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIFont.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIcon.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIconRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIInsets.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIPaint.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIProperty.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStateType.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/BorderMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassConverter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/UIPropertyMapper.java - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: b6980b0d8440 Author: dcherepanov Date: 2009-09-30 13:21 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b6980b0d8440 6853592: VM test nsk.regression.b4261880 fails with "X Error of failed request: BadWindow" inconsistently. Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: a21d00087df9 Author: dcherepanov Date: 2009-09-30 15:48 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a21d00087df9 6878284: Sometimes test/javax/swing/system/6799345/TestShutdown.java "hangs" Reviewed-by: art, ant ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/sun/awt/AWTAutoShutdown.java Changeset: cf3f9c09ba1d Author: anthony Date: 2009-10-01 14:48 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/cf3f9c09ba1d 6886868: giflib has a memory leak in the MakeMapObject() function Summary: free() the object before returning NULL Reviewed-by: art, dcherepanov ! src/share/native/sun/awt/giflib/gifalloc.c Changeset: 80db944866a9 Author: anthony Date: 2009-10-01 15:06 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/80db944866a9 6862611: Reg testcase closed/java/awt/Component/NativeInLightShow/NativeInLightShow.html fails Summary: The recursiveShowHeavyweightChildren() must be invoked unconditionally in mixOnShowing() Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java Changeset: 4358934555bc Author: yan Date: 2009-10-06 23:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4358934555bc Merge ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 6216604c05e2 Author: alexp Date: 2009-09-09 17:32 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6216604c05e2 6878792: Sample provided in javax.swing.JLayer class description is not usable Reviewed-by: rupashka ! src/share/classes/javax/swing/JLayer.java Changeset: afd85f72784b Author: peterz Date: 2009-09-10 12:30 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/afd85f72784b 6827786: Mnemonic cycling for multiple equal mnemonic armed menu items stops when encountering a submenu Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java Changeset: 51ccbb892a1f Author: alexp Date: 2009-09-15 16:26 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/51ccbb892a1f 6875716: JLayer.remove((Component)null) should behave consistently in (not) throwing NPE Reviewed-by: rupashka ! src/share/classes/javax/swing/JLayer.java + test/javax/swing/JLayer/6875716/bug6875716.java Changeset: a64dbe61a984 Author: gsm Date: 2009-09-16 16:15 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a64dbe61a984 4337267: Arabic Numeral Shaping Reviewed-by: peterz ! src/share/classes/javax/swing/text/TextLayoutStrategy.java ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JComponent/4337267/bug4337267.java Changeset: 481c01572c62 Author: alexp Date: 2009-09-17 19:08 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/481c01572c62 4833524: BasicTreeUI.isToggleSelectionEvent() does not properly handle popup triggers Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java ! src/share/classes/javax/swing/plaf/basic/BasicListUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/text/DefaultCaret.java Changeset: 1c7abc800502 Author: rupashka Date: 2009-09-18 15:11 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1c7abc800502 6840086: JFileChooser lacks icons on top right when running on Windows 7 Reviewed-by: peterz, uta ! src/share/classes/sun/awt/shell/ShellFolderManager.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/native/sun/windows/ShellFolder2.cpp + test/javax/swing/JFileChooser/6840086/bug6840086.java Changeset: fa71ca7a3655 Author: yan Date: 2009-09-21 01:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/fa71ca7a3655 Merge - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 9d78c3d9def2 Author: alexp Date: 2009-09-21 17:58 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d78c3d9def2 6883341: SWAT: jdk7-b72 swat build(2009-09-17) threw exceptions when running Java2D demo by clicking Paint ta Reviewed-by: peterz ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JMenuItem/6883341/bug6883341.java Changeset: 6115613a3386 Author: peterz Date: 2009-09-23 21:14 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6115613a3386 6857888: closed/javax/swing/JMenuItem/6458123/bug6458123.java fails with InvocationTargetException. Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java Changeset: d5045dd60c29 Author: rupashka Date: 2009-10-06 17:01 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d5045dd60c29 6489130: FileChooserDemo hung by keeping pressing Enter key Reviewed-by: alexp ! src/share/classes/javax/swing/JFileChooser.java + test/javax/swing/JFileChooser/6489130/bug6489130.java Changeset: dca0ab1a1ac3 Author: yan Date: 2009-10-06 23:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dca0ab1a1ac3 Merge ! src/share/classes/sun/swing/SwingUtilities2.java Changeset: 77f213891ce3 Author: lana Date: 2009-10-13 15:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/77f213891ce3 Merge Changeset: eacb36e30327 Author: vinnie Date: 2009-10-14 23:41 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eacb36e30327 6891632: Remove duplicate ECC source files Reviewed-by: wetmore - src/share/native/sun/security/ec/ec.h - src/share/native/sun/security/ec/ec2.h - src/share/native/sun/security/ec/ec2_163.c - src/share/native/sun/security/ec/ec2_193.c - src/share/native/sun/security/ec/ec2_233.c - src/share/native/sun/security/ec/ec2_aff.c - src/share/native/sun/security/ec/ec2_mont.c - src/share/native/sun/security/ec/ec_naf.c - src/share/native/sun/security/ec/ecc_impl.h - src/share/native/sun/security/ec/ecdecode.c - src/share/native/sun/security/ec/ecl-curve.h - src/share/native/sun/security/ec/ecl-exp.h - src/share/native/sun/security/ec/ecl-priv.h - src/share/native/sun/security/ec/ecl.c - src/share/native/sun/security/ec/ecl.h - src/share/native/sun/security/ec/ecl_curve.c - src/share/native/sun/security/ec/ecl_gf.c - src/share/native/sun/security/ec/ecl_mult.c - src/share/native/sun/security/ec/ecp.h - src/share/native/sun/security/ec/ecp_192.c - src/share/native/sun/security/ec/ecp_224.c - src/share/native/sun/security/ec/ecp_256.c - src/share/native/sun/security/ec/ecp_384.c - src/share/native/sun/security/ec/ecp_521.c - src/share/native/sun/security/ec/ecp_aff.c - src/share/native/sun/security/ec/ecp_jac.c - src/share/native/sun/security/ec/ecp_jm.c - src/share/native/sun/security/ec/ecp_mont.c - src/share/native/sun/security/ec/logtab.h - src/share/native/sun/security/ec/mp_gf2m-priv.h - src/share/native/sun/security/ec/mp_gf2m.c - src/share/native/sun/security/ec/mp_gf2m.h - src/share/native/sun/security/ec/mpi-config.h - src/share/native/sun/security/ec/mpi-priv.h - src/share/native/sun/security/ec/mpi.c - src/share/native/sun/security/ec/mpi.h - src/share/native/sun/security/ec/mplogic.c - src/share/native/sun/security/ec/mplogic.h - src/share/native/sun/security/ec/mpmontg.c - src/share/native/sun/security/ec/mpprime.h - src/share/native/sun/security/ec/oid.c - src/share/native/sun/security/ec/secitem.c - src/share/native/sun/security/ec/secoidt.h Changeset: 99dfeece98e2 Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/99dfeece98e2 Added tag jdk7-b74 for changeset eacb36e30327 ! .hgtags Changeset: 368bb282464a Author: tbell Date: 2009-10-15 22:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/368bb282464a Merge - src/share/classes/sun/security/provider/certpath/LDAPCertStore.java From tim.bell at sun.com Fri Oct 16 18:00:39 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 16 Oct 2009 18:00:39 +0000 Subject: hg: jdk7/tl/langtools: 4 new changesets Message-ID: <20091016180046.D16FD41936@hg.openjdk.java.net> Changeset: d498d6ef9c6c Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/d498d6ef9c6c Added tag jdk7-b73 for changeset 9596dff46093 ! .hgtags Changeset: 1a66b08deed0 Author: tbell Date: 2009-10-07 14:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/1a66b08deed0 Merge - src/share/classes/com/sun/tools/javac/file/Old199.java - src/share/classes/com/sun/tools/javah/MainDoclet.java - src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties - src/share/classes/com/sun/tools/javah/resources/Linux_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties - src/share/classes/com/sun/tools/javah/resources/win32_x86.properties Changeset: 79c13af9217e Author: xdono Date: 2009-10-15 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/79c13af9217e Added tag jdk7-b74 for changeset 1a66b08deed0 ! .hgtags Changeset: d1e62f78c48b Author: tbell Date: 2009-10-15 22:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/d1e62f78c48b Merge From jonathan.gibbons at sun.com Fri Oct 16 19:57:56 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Fri, 16 Oct 2009 19:57:56 +0000 Subject: hg: jdk7/tl/langtools: 6888367: classfile library parses signature attributes incorrectly Message-ID: <20091016195758.9DEF341956@hg.openjdk.java.net> Changeset: 6ba399eff2cb Author: jjg Date: 2009-10-16 12:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/6ba399eff2cb 6888367: classfile library parses signature attributes incorrectly Reviewed-by: ksrini ! src/share/classes/com/sun/tools/classfile/Signature.java ! src/share/classes/com/sun/tools/classfile/Type.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java + test/tools/javap/classfile/6888367/T6888367.java From pbenedict at apache.org Fri Oct 16 20:25:30 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 16 Oct 2009 15:25:30 -0500 Subject: JDK7 b74: Where is j.u.Objects? Message-ID: I saw in the release notes the tickets regarding j.u.Objects, but I don't see the class in the javadoc: http://download.java.net/jdk7/docs/api/java/util/package-summary.html Thoughts? Paul From Joe.Darcy at Sun.COM Fri Oct 16 21:14:55 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 16 Oct 2009 14:14:55 -0700 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: References: Message-ID: <4AD8E24F.5030505@sun.com> Paul Benedict wrote: > I saw in the release notes the tickets regarding j.u.Objects, but I > don't see the class in the javadoc: > http://download.java.net/jdk7/docs/api/java/util/package-summary.html > > Thoughts? > > Paul > I believe there was a problem in either generating or posting the b74 docs and the currently posted docs are from b73. -Joe From pbenedict at apache.org Fri Oct 16 21:19:56 2009 From: pbenedict at apache.org (Paul Benedict) Date: Fri, 16 Oct 2009 16:19:56 -0500 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: <4AD8E24F.5030505@sun.com> References: <4AD8E24F.5030505@sun.com> Message-ID: All the labels and titles on the API doc say its b74, so it must be some generation problem. On Fri, Oct 16, 2009 at 4:14 PM, Joseph D. Darcy wrote: > Paul Benedict wrote: >> >> I saw in the release notes the tickets regarding j.u.Objects, but I >> don't see the class in the javadoc: >> http://download.java.net/jdk7/docs/api/java/util/package-summary.html >> >> Thoughts? >> >> Paul >> > > I believe there was a problem in either generating or posting the b74 docs > and the currently posted docs are from b73. > > -Joe > From Joe.Darcy at Sun.COM Fri Oct 16 21:28:10 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 16 Oct 2009 14:28:10 -0700 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: References: <4AD8E24F.5030505@sun.com> Message-ID: <4AD8E56A.709@sun.com> Upon further inspection, j.u.Objects is in the TL staging repository but has not yet hit the master. j.u.Objects will be included in the next build TL integrates into. -Joe Paul Benedict wrote: > All the labels and titles on the API doc say its b74, so it must be > some generation problem. > > On Fri, Oct 16, 2009 at 4:14 PM, Joseph D. Darcy wrote: > >> Paul Benedict wrote: >> >>> I saw in the release notes the tickets regarding j.u.Objects, but I >>> don't see the class in the javadoc: >>> http://download.java.net/jdk7/docs/api/java/util/package-summary.html >>> >>> Thoughts? >>> >>> Paul >>> >>> >> I believe there was a problem in either generating or posting the b74 docs >> and the currently posted docs are from b73. >> >> -Joe >> >> From Tim.Bell at Sun.COM Fri Oct 16 21:58:54 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Fri, 16 Oct 2009 14:58:54 -0700 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: <4AD8E56A.709@sun.com> References: <4AD8E24F.5030505@sun.com> <4AD8E56A.709@sun.com> Message-ID: <4AD8EC9E.5070101@sun.com> Joseph D. Darcy wrote: > Upon further inspection, j.u.Objects is in the TL staging repository but > has not yet hit the master. j.u.Objects will be included in the next > build TL integrates into. If you want these changes today, you could 'hg fclone'[1] them from the TL forest: http://hg.openjdk.java.net/jdk7/tl and build your own copy. If all goes as planned (standard disclaimer applies when making forward-looking statements :-) TL will integrate into the master for b75 on October 23. b75 should be promoted on October 29. If you want the very latest thing during the interval between October 23 ... 29, you could look at the nightly builds of the JDK7 master, available here: http://download.java.net/jdk7/nightly/ That nightly download does not include the javadocs, unfortunately. You would need to build them from source yourself. HTH - Tim Bell [gatekeeper for the TL (tools and libraries) forest] [1] http://openjdk.java.net/guide/repositories.html#clone From pbenedict at apache.org Sun Oct 18 05:06:53 2009 From: pbenedict at apache.org (Paul Benedict) Date: Sun, 18 Oct 2009 00:06:53 -0500 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: <4AD8E56A.709@sun.com> References: <4AD8E24F.5030505@sun.com> <4AD8E56A.709@sun.com> Message-ID: Since the Javadocs are being updated without everything integrated into master, wouldn't this indicate a process problem? On Fri, Oct 16, 2009 at 4:28 PM, Joseph D. Darcy wrote: > Upon further inspection, j.u.Objects is in the TL staging repository but has > not yet hit the master. ?j.u.Objects will be included in the next build TL > integrates into. > > -Joe > > Paul Benedict wrote: >> >> All the labels and titles on the API doc say its b74, so it must be >> some generation problem. >> >> On Fri, Oct 16, 2009 at 4:14 PM, Joseph D. Darcy >> wrote: >> >>> >>> Paul Benedict wrote: >>> >>>> >>>> I saw in the release notes the tickets regarding j.u.Objects, but I >>>> don't see the class in the javadoc: >>>> http://download.java.net/jdk7/docs/api/java/util/package-summary.html >>>> >>>> Thoughts? >>>> >>>> Paul >>>> >>>> >>> >>> I believe there was a problem in either generating or posting the b74 >>> docs >>> and the currently posted docs are from b73. >>> >>> -Joe >>> >>> > > From Alan.Bateman at Sun.COM Sun Oct 18 07:44:28 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Sun, 18 Oct 2009 08:44:28 +0100 Subject: JDK7 b74: Where is j.u.Objects? In-Reply-To: References: <4AD8E24F.5030505@sun.com> <4AD8E56A.709@sun.com> Message-ID: <4ADAC75C.10307@sun.com> Paul Benedict wrote: > Since the Javadocs are being updated without everything integrated > into master, wouldn't this indicate a process problem? > As Tim said, all going well, TL is due to integrate on Oct 23 for b75. That build is due to be promoted on Oct 29 so that's when the b75 javadoc and builds should come out. In the mean-time you can use your own build (or the other alternative, as Tim also suggested, is to use the nightly builds in the days leading up to the promotion). -Alan From iaroslavski at mail.ru Mon Oct 19 13:18:16 2009 From: iaroslavski at mail.ru (Vladimir Iaroslavski) Date: Mon, 19 Oct 2009 17:18:16 +0400 Subject: Replacement of Quicksort in java.util.Arrays with new Dual-Pivot Quicksort In-Reply-To: References: Message-ID: <4ADC6718.7000603@mail.ru> > Date: Tue, 6 Oct 2009 23:11:25 +0000 (UTC) > From: quitos > Subject: Re: Replacement of Quicksort in java.util.Arrays with new Dual-Pivot Quicksort > To: core-libs-dev at openjdk.java.net > > I suppose if the array is small enough, it is better to use simple Quicksort. > And the larger the array, the more sense it makes to use more pivots, because > the calculation cost of comparing against many pivots becomes more affordable > than iterating for a larger subset. > So you think the optimal number of pivots to use could be directly linked to the > size of the array you're trying to sort? I've tried several cases with different numbers of pivots on different length, and experiments show that 2 pivots from 5 candidates is optimal. Note that if you have many pivots (> 3) the loop of sorting becomes more complex and slower. For small arrays the best choice is Insertion sort which is simpler and faster than any quicksort. Vladimir From iaroslavski at mail.ru Mon Oct 19 14:05:29 2009 From: iaroslavski at mail.ru (Vladimir Iaroslavski) Date: Mon, 19 Oct 2009 18:05:29 +0400 Subject: Final version of Dual-Pivot Quicksort for replacement quicksort in java.util.Arrays Message-ID: <4ADC7229.1070103@mail.ru> Hello, I'd like to provide you the final version of Dual-Pivot Quicksort for replacement of Quicksort in java.util.Arrays. Here is the webrev of changes: http://cr.openjdk.java.net/~alanb/6880672/webrev.02 also you can see classes in attachment. The following modifications have been done to improve the code (thank you very much to Josh, Jon and other for your ideas and suggestions): 1. Implementation of Dual-Pivot Quicksort has been moved to separate class DualPivotQuicksort.java, it makes Arrays.java more readable and easy to maintain. If in the future somebody suggests new very fast Quicksort, the replacement "DualPivotQuicksort.sort(...)" with "NewVeryFastQuicksort.sort(...)" should be done only in class Arrays.java. 2. Improved and added javadoc. 3. Method swap(a, i, j) has been eliminated. All sort loops had the structure: for (int k = ...; ...) { int ak = a[k]; if (ak < ...) swap(a, k, ..) This standard method "swap" swaps the values of two elements using 3 assignments, but we already have value of a[k] stored in temporary local variable ak, so we can do it via 2 assignments only: a[k] = a[...]; a[...] = ak; 4. Standard implementation of Insertion sort (with swaps inside inner loop) has been replaced by faster one: for (int k = left + 1; k <= right; k++) { int ak = a[k]; int j; for (j = k - 1; j >= left && ak < a[j]; j--) { a[j + 1] = a[j]; } a[j + 1] = ak; } 5. Insertion sort threshold has been changed to 32. 6. Five candidates, evenly spaced elements, are used for choosing 2 pivots (in previous version only 2 evenly spaced elements are used). 7. These five elements are sorted by sorting network 8. Main sorting loop was separated into two: when pivots are equal and not. 9. Swap of conditions in inner while loop: a[great] > pivot2 && k < great (was k < great && a[great] > pivot2). 10. Changes in code after main sorting loop: if pivots are equals, no need to handle and sort central part: if (!pivotsDiffer) { return; } 11. Condition of handling central part (looking of elements, equal to pivots, and swap them to ends) has been simplified: if (less < e1 && e5 < great) ... instead of if (dist > len - 13 && pivot1 != pivot2) 12. Loop of handling central part has been corrected and updated. 13. Parameter "dist" has been eliminated. Also I'd like to show you how the new version works faster. I run two versions against current jdk's implementation on jdk 1.7.0-ea-b66, Windows XP. The test framework is Bentley's tests which were used for testing Quicksort. I run for arrays with length = 1'000'000 and calculated arithmetics and geometric means: Client VM Server VM old version: arithm = 81.78%, geom = 76.15% arithm = 91.97%, geom = 72.58% new version: arithm = 74.71%, geom = 65.95% arithm = 64.54%, geom = 54.21% Thank you, Vladimir -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Arrays.java URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: DualPivotQuicksort.java URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: DualPivotQuicksort_old.java URL: From alan.bateman at sun.com Mon Oct 19 19:19:29 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 19 Oct 2009 19:19:29 +0000 Subject: hg: jdk7/tl/jdk: 4 new changesets Message-ID: <20091019192022.6E0D841DC1@hg.openjdk.java.net> Changeset: d9f41daf8bcc Author: alanb Date: 2009-10-19 19:58 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d9f41daf8bcc 6892710: (file) test/java/nio/file/Path/CheckPermissions.java fails in samevm mode Reviewed-by: ohair ! test/java/nio/file/Files/ContentType.java ! test/java/nio/file/Path/CheckPermissions.java Changeset: 5c6c6627b0b7 Author: alanb Date: 2009-10-19 19:59 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5c6c6627b0b7 6892711: (file) test/java/nio/file/Path/CopyAndMove.java fails on Windows 2000 Reviewed-by: ohair ! test/java/nio/file/Path/CopyAndMove.java Changeset: 169ced1d9939 Author: alanb Date: 2009-10-19 20:01 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/169ced1d9939 6879463: (file) DirectoryStream#iterator's remove method throws wrong exception when stream is closed Reviewed-by: sherman ! src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! test/java/nio/file/DirectoryStream/Basic.java Changeset: d71241866584 Author: alanb Date: 2009-10-19 20:02 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d71241866584 6884480: (file) Path.relativize has typo in parameter description Reviewed-by: chegar ! src/share/classes/java/nio/file/Path.java From jonathan.gibbons at sun.com Mon Oct 19 20:42:19 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Mon, 19 Oct 2009 20:42:19 +0000 Subject: hg: jdk7/tl/langtools: 6889255: javac MethodSymbol throws NPE if ClassReader does not read parameter names correctly Message-ID: <20091019204222.3991541DD8@hg.openjdk.java.net> Changeset: 2485f5641ed0 Author: jjg Date: 2009-10-19 13:38 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/2485f5641ed0 6889255: javac MethodSymbol throws NPE if ClassReader does not read parameter names correctly Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/tools/javac/6889255/T6889255.java From jonathan.gibbons at sun.com Mon Oct 19 20:44:08 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Mon, 19 Oct 2009 20:44:08 +0000 Subject: hg: jdk7/tl/jdk: 6889255: javac MethodSymbol throws NPE if ClassReader does not read parameter names correctly Message-ID: <20091019204423.3353541DD9@hg.openjdk.java.net> Changeset: 121284d0489d Author: jjg Date: 2009-10-19 13:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/121284d0489d 6889255: javac MethodSymbol throws NPE if ClassReader does not read parameter names correctly Reviewed-by: darcy ! make/common/shared/Defs-java.gmk From joe.darcy at sun.com Mon Oct 19 23:32:13 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Mon, 19 Oct 2009 23:32:13 +0000 Subject: hg: jdk7/tl/jdk: 6889858: Add nonNull methods to java.util.Objects Message-ID: <20091019233227.2797B41E08@hg.openjdk.java.net> Changeset: 1602e8848bde Author: darcy Date: 2009-10-19 16:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1602e8848bde 6889858: Add nonNull methods to java.util.Objects Reviewed-by: darcy Contributed-by: jjb at google.com ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java From Joe.Darcy at Sun.COM Tue Oct 20 00:42:26 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 19 Oct 2009 17:42:26 -0700 Subject: Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError Message-ID: <4ADD0772.9040809@sun.com> Hello. Please review this simple improvement in handling an exceptional condition in BigInteger. A stack overflow on an argument of BigInteger.shitf{Left, Right}(Integer.MIN_VALUE) is handled as an explicit ArithmeticException, the same exception used throughout BigInteger for other invalid inputs. Patch below; webrev at http://cr.openjdk.java.net/~darcy/6371401.0/ Thanks, -Joe --- old/src/share/classes/java/math/BigInteger.java 2009-10-19 17:37:36.000000000 -0700 +++ new/src/share/classes/java/math/BigInteger.java 2009-10-19 17:37:35.000000000 -0700 @@ -2051,6 +2051,8 @@ * * @param n shift distance, in bits. * @return {@code this << n} + * @throws ArithmeticException if the shift distance is {@code + * Integer.MIN_VALUE}. * @see #shiftRight */ public BigInteger shiftLeft(int n) { @@ -2058,8 +2060,13 @@ return ZERO; if (n==0) return this; - if (n<0) - return shiftRight(-n); + if (n<0) { + if (n == Integer.MIN_VALUE) { + throw new ArithmeticException("Shift distance of Integer.MIN_VALUE not supported."); + } else { + return shiftRight(-n); + } + } int nInts = n >>> 5; int nBits = n & 0x1f; @@ -2097,13 +2104,20 @@ * * @param n shift distance, in bits. * @return {@code this >> n} + * @throws ArithmeticException if the shift distance is {@code + * Integer.MIN_VALUE}. * @see #shiftLeft */ public BigInteger shiftRight(int n) { if (n==0) return this; - if (n<0) - return shiftLeft(-n); + if (n<0) { + if (n == Integer.MIN_VALUE) { + throw new ArithmeticException("Shift distance of Integer.MIN_VALUE not supported."); + } else { + return shiftLeft(-n); + } + } int nInts = n >>> 5; int nBits = n & 0x1f; --- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/test/java/math/BigInteger/ExtremeShiftingTests.java 2009-10-19 17:37:36.000000000 -0700 @@ -0,0 +1,49 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6371401 + * @summary Tests of shiftLeft and shiftRight on Integer.MIN_VALUE + * @author Joseph D. Darcy + */ +import java.math.*; +import static java.math.BigInteger.*; + +public class ExtremeShiftingTests { + public static void main(String... args) { + try { + ONE.shiftLeft(Integer.MIN_VALUE); + throw new RuntimeException("Should not reach here."); + } catch (ArithmeticException ae) { + ; // Expected + } + + try { + ONE.shiftRight(Integer.MIN_VALUE); + throw new RuntimeException("Should not reach here."); + } catch (ArithmeticException ae) { + ; // Expected + } + } +} From Dmitry.Nadezhin at Sun.COM Tue Oct 20 04:03:19 2009 From: Dmitry.Nadezhin at Sun.COM (Dmitry Nadezhin) Date: Tue, 20 Oct 2009 08:03:19 +0400 Subject: Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError In-Reply-To: References: Message-ID: <4ADD3687.5010601@sun.com> I want to make comments to this change from point of view of the post "BigInteger.bitLength() can return negative results". Suppose that the range of valid BigInteger is restiricted either to [-2^Integer.MAX_VALUE , 2^Integer.MAX_VALUE-1] or to [-2^Integer.MAX_VALUE+1, 2^Integer.MAX_VALUE-1]. In this case the exact result of x.shiftRight(Integer.MIN_VALUE) will be 0 for x==0; will be out of BigInteger range for any x != 0. The exact result of x.shiftLeft(Integer.MIN_VALUE) will be 0 for any valid x >= 0; and will be -1 for any valid x < 0. So it seems to me that x.shiftLeft(Integer.MIN_VALUE) should never throw ArithmeticException and x.shiftRight(Integer.MIN_VALUE) should throw ArithmeticException only when x is nonzero. -Dima From Dmitry.Nadezhin at Sun.COM Tue Oct 20 04:18:10 2009 From: Dmitry.Nadezhin at Sun.COM (Dmitry Nadezhin) Date: Tue, 20 Oct 2009 08:18:10 +0400 Subject: BigInteger.bitLength() can return negative result In-Reply-To: References: Message-ID: <4ADD3A02.1090703@sun.com> I'm preparing a fix which restricts the range of BigInteger so that bitLength() always return correct result. I can't choose between two variants of range of valid BigInteger. A) Two's complement range [-2^Integer.MAX_VALUE, 2^Integer.MAX_VALUE-1] This is exactly those numbers with bitLength() <= Integer.MAX_VALUE. B) Symmetrical range [-2^Integer.MAX_VALUE+1, 2^Integer.MAX_VALUE-1] In variant A) - x.neg() and x.abs() will throw ArithmeticException on minimum BigInteger value, because the exact result is out of range; - bit operations or(), and(), xor(), andNot() will always return valid result. In variant B) - x.neg() and x.abs() will never throw ArithmeticException; - and(), andNot(), xor() may throw ArithmeticException for certain arguments. Which variant do you prefer ? -Dima / />>>>/ d) All BigInteger constructors ensure that the bit length is no />>>>/ larger than 2^31 - 1; />>>/ />>>/ d) is arguably the most correct approach to address the problem. />>>/ However, I think the practical consequences of this flaw are low. />>/ Nevertheless, may I use this unimportant flaw as a lesson of Java bug />>/ fixing ? />>/ /> >No fix for the bug has yet been offered. > >You're independently rediscovered a bug that has been in the platform >for about 12 years. > >-Joe From Alan.Bateman at Sun.COM Tue Oct 20 09:00:33 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 20 Oct 2009 10:00:33 +0100 Subject: Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError In-Reply-To: <4ADD0772.9040809@sun.com> References: <4ADD0772.9040809@sun.com> Message-ID: <4ADD7C31.2090702@sun.com> Joseph D. Darcy wrote: > Hello. > > Please review this simple improvement in handling an exceptional > condition in BigInteger. A stack overflow on an argument of > BigInteger.shitf{Left, Right}(Integer.MIN_VALUE) is handled as an > explicit ArithmeticException, the same exception used throughout > BigInteger for other invalid inputs. > > Patch below; webrev at > http://cr.openjdk.java.net/~darcy/6371401.0/ > > Thanks, > > -Joe This looks okay to me. Minor comment is that ExtremeShiftingTests probably doesn't need to import java.math. -Alan. From michael.mcmahon at sun.com Tue Oct 20 14:57:16 2009 From: michael.mcmahon at sun.com (michael.mcmahon at sun.com) Date: Tue, 20 Oct 2009 14:57:16 +0000 Subject: hg: jdk7/tl/jdk: 6890349: Fix #6870935 in jdk7/pit/b74 caused HttpClinet's check for "proxy capture" attack by-passed. Message-ID: <20091020145730.72CC941F02@hg.openjdk.java.net> Changeset: 052f056f7ba1 Author: michaelm Date: 2009-10-20 15:35 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/052f056f7ba1 6890349: Fix #6870935 in jdk7/pit/b74 caused HttpClinet's check for "proxy capture" attack by-passed. Summary: pass exception up stack Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/B6890349.java From joe.darcy at sun.com Tue Oct 20 16:51:48 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Tue, 20 Oct 2009 16:51:48 +0000 Subject: hg: jdk7/tl/jdk: 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError Message-ID: <20091020165200.B6BE441F22@hg.openjdk.java.net> Changeset: 0dd3d16e8183 Author: darcy Date: 2009-10-20 09:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0dd3d16e8183 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError Reviewed-by: alanb ! src/share/classes/java/math/BigInteger.java + test/java/math/BigInteger/ExtremeShiftingTests.java From Joe.Darcy at Sun.COM Tue Oct 20 16:52:22 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 20 Oct 2009 09:52:22 -0700 Subject: Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError In-Reply-To: <4ADD7C31.2090702@sun.com> References: <4ADD0772.9040809@sun.com> <4ADD7C31.2090702@sun.com> Message-ID: <4ADDEAC6.5090200@sun.com> Alan Bateman wrote: > Joseph D. Darcy wrote: >> Hello. >> >> Please review this simple improvement in handling an exceptional >> condition in BigInteger. A stack overflow on an argument of >> BigInteger.shitf{Left, Right}(Integer.MIN_VALUE) is handled as an >> explicit ArithmeticException, the same exception used throughout >> BigInteger for other invalid inputs. >> >> Patch below; webrev at >> http://cr.openjdk.java.net/~darcy/6371401.0/ >> >> Thanks, >> >> -Joe > This looks okay to me. Minor comment is that ExtremeShiftingTests > probably doesn't need to import java.math. > Import removed; thanks, -Joe From Joe.Darcy at Sun.COM Tue Oct 20 17:22:42 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 20 Oct 2009 10:22:42 -0700 Subject: Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError In-Reply-To: <4ADD3687.5010601@sun.com> References: <4ADD3687.5010601@sun.com> Message-ID: <4ADDF1E2.5030407@sun.com> Dmitry Nadezhin wrote: > I want to make comments to this change from point of view of the post > "BigInteger.bitLength() can return negative results". > > Suppose that the range of valid BigInteger is restiricted either to > [-2^Integer.MAX_VALUE , 2^Integer.MAX_VALUE-1] > or to > [-2^Integer.MAX_VALUE+1, 2^Integer.MAX_VALUE-1]. Which is not the case today because BigInteger allows the creation of partially overflowed values, values so large that various internal counters in the class overflow or otherwise misbehave. > In this case the exact result of x.shiftRight(Integer.MIN_VALUE) > will be 0 for x==0; > will be out of BigInteger range for any x != 0. > > The exact result of x.shiftLeft(Integer.MIN_VALUE) > will be 0 for any valid x >= 0; > and will be -1 for any valid x < 0. > > So it seems to me that x.shiftLeft(Integer.MIN_VALUE) should never > throw ArithmeticException > and x.shiftRight(Integer.MIN_VALUE) should throw ArithmeticException > only when x is nonzero. That is arguably more correct, but in my estimation screening out MIN_VALUE as an unsupported value is reasonable. If an when BigInteger is made robust in the face of huge values, these decisions and be reexamined. -Joe From jonathan.gibbons at sun.com Tue Oct 20 18:00:18 2009 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 20 Oct 2009 18:00:18 +0000 Subject: hg: jdk7/tl/langtools: 6893062: remove support for obsolete attributes Message-ID: <20091020180021.997B841F35@hg.openjdk.java.net> Changeset: a491ad1bb624 Author: jjg Date: 2009-10-20 10:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/a491ad1bb624 6893062: remove support for obsolete attributes Reviewed-by: ksrini ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java - src/share/classes/com/sun/tools/classfile/ModuleExportTable_attribute.java - src/share/classes/com/sun/tools/classfile/ModuleMemberTable_attribute.java - src/share/classes/com/sun/tools/classfile/Module_attribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java From Joe.Darcy at Sun.COM Tue Oct 20 21:45:13 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Tue, 20 Oct 2009 14:45:13 -0700 Subject: Code review request for 6560935: BigInteger.modPow() throws ArithmeticException for negative exponent Message-ID: <4ADE2F69.2030605@sun.com> Hello. Please review this small doc clarification; modPow is not defined for negative exponents unless the BigInteger being operated on is relatively prime to the modulus. There are a few stylistic javadoc cleanups in the patch below too. Webrev: http://cr.openjdk.java.net/~darcy/6560935.0/ Thanks, -Joe --- old/src/share/classes/java/math/BigInteger.java 2009-10-20 14:40:35.000000000 -0700 +++ new/src/share/classes/java/math/BigInteger.java 2009-10-20 14:40:35.000000000 -0700 @@ -478,7 +478,7 @@ /** * Constructs a randomly generated BigInteger, uniformly distributed over - * the range {@code 0} to (2{@code numBits} - 1), inclusive. + * the range 0 to (2{@code numBits} - 1), inclusive. * The uniformity of the distribution assumes that a fair source of random * bits is provided in {@code rnd}. Note that this constructor always * constructs a non-negative BigInteger. @@ -1332,7 +1332,7 @@ * * @param val value by which this BigInteger is to be divided. * @return {@code this / val} - * @throws ArithmeticException {@code val==0} + * @throws ArithmeticException if {@code val} is zero. */ public BigInteger divide(BigInteger val) { MutableBigInteger q = new MutableBigInteger(), @@ -1352,7 +1352,7 @@ * @return an array of two BigIntegers: the quotient {@code (this / val)} * is the initial element, and the remainder {@code (this % val)} * is the final element. - * @throws ArithmeticException {@code val==0} + * @throws ArithmeticException if {@code val} is zero. */ public BigInteger[] divideAndRemainder(BigInteger val) { BigInteger[] result = new BigInteger[2]; @@ -1371,7 +1371,7 @@ * @param val value by which this BigInteger is to be divided, and the * remainder computed. * @return {@code this % val} - * @throws ArithmeticException {@code val==0} + * @throws ArithmeticException if {@code val} is zero. */ public BigInteger remainder(BigInteger val) { MutableBigInteger q = new MutableBigInteger(), @@ -1547,7 +1547,7 @@ * * @param m the modulus. * @return {@code this mod m} - * @throws ArithmeticException {@code m <= 0} + * @throws ArithmeticException {@code m} ≤ 0 * @see #remainder */ public BigInteger mod(BigInteger m) { @@ -1566,7 +1566,9 @@ * @param exponent the exponent. * @param m the modulus. * @return thisexponent mod m - * @throws ArithmeticException {@code m <= 0} + * @throws ArithmeticException {@code m} ≤ 0 or the exponent is + * negative and this BigInteger is not relatively + * prime to m. * @see #modInverse */ public BigInteger modPow(BigInteger exponent, BigInteger m) { @@ -2015,7 +2017,7 @@ * * @param m the modulus. * @return {@code this}-1 {@code mod m}. - * @throws ArithmeticException {@code m <= 0}, or this BigInteger + * @throws ArithmeticException {@code m} ≤ 0, or this BigInteger * has no multiplicative inverse mod m (that is, this BigInteger * is not relatively prime to m). */ @@ -2449,7 +2451,7 @@ /** * Returns {@code true} if this BigInteger is probably prime, * {@code false} if it's definitely composite. If - * {@code certainty} is {@code <= 0}, {@code true} is + * {@code certainty} is ≤ 0, {@code true} is * returned. * * @param certainty a measure of the uncertainty that the caller is From Xueming.Shen at Sun.COM Tue Oct 20 21:54:54 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Tue, 20 Oct 2009 14:54:54 -0700 Subject: Code review request for 4206909 : adding Z_SYNC_FLUSH support to deflaters Message-ID: <4ADE31AE.7030504@sun.com> Martin, Alan. Finally got the CCC approval. Here is the final webrev http://cr.openjdk.java.net/~sherman/4206909/webrev The only difference compared to the webrev you guys reviewed last time at http://cr.openjdk.java.net/~sherman/zipflush/webrev is to use the Google copyright in test case InflateIn_DeflateOut.java Thanks, Sherman From Xueming.Shen at Sun.COM Tue Oct 20 22:14:01 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Tue, 20 Oct 2009 15:14:01 -0700 Subject: Review request for 6878475: Better regex named-group and backreference syntax In-Reply-To: <4AA001B2.6080103@sun.com> References: <20090902194742.C8A3E1B37@eggemoggin.niobe.net> <4A9EEFD8.3060002@sun.com> <4AA001B2.6080103@sun.com> Message-ID: <4ADE3629.1060205@sun.com> Alan, Martin The CCC also approved this change. Would you please help review? There is no doc/impl change in the webrev since you guys reviewed (for CCC) last time. http://cr.openjdk.java.net/~sherman/6878475/webrev Thanks, Sherman Xueming Shen wrote: > Hi > > Guess you might be interested to help review the change for this RFE, > here is the webrev. > > http://cr.openjdk.java.net/~sherman/6878475/webrev > > Since this is an API update, the change will need to go through a > review process before it can > be integrated into the workspace, so it might take a little while. > > Regards, > Sherman > > Alan Moore wrote: >> On Wed, Sep 2, 2009 at 3:21 PM, Xueming Shen >> wrote: >> >>> RFE#6878475 has been filed to trace this issue. >>> >>> At this point we are going to update the doc and implementation to >>> (1)disallow the group name started with digit character >>> (2)use ${name} for the group reference in replacement string. >>> >> >> Great! Thank you. >> >> >>> The \k and ${n} can leave for further discussion (whether or not we >>> really need this NEW feature, while there is existing syntax that can >>> do the job just fine). >>> >> >> Agreed--it's a separate issue. But at least now we'll have the option. >> > > From weijun.wang at sun.com Wed Oct 21 00:18:06 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Wed, 21 Oct 2009 00:18:06 +0000 Subject: hg: jdk7/tl/jdk: 6870812: enhance security tools to use ECC algorithms Message-ID: <20091021001819.1722741FA5@hg.openjdk.java.net> Changeset: 0d7c64c023c6 Author: weijun Date: 2009-10-21 08:17 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0d7c64c023c6 6870812: enhance security tools to use ECC algorithms Reviewed-by: vinnie, mullan ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/security/jca/Providers.java ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/tools/TimestampedSigner.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! src/share/classes/sun/security/x509/AlgorithmId.java ! src/share/classes/sun/tools/jar/SignatureFile.java + test/sun/security/tools/jarsigner/ec.sh From tim.bell at sun.com Wed Oct 21 07:13:24 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Wed, 21 Oct 2009 07:13:24 +0000 Subject: hg: jdk7/tl/jdk: 6893426: ShellScaffold.sh fails on Solaris 10 update releases: /usr/bin/id: illegal option -- u Message-ID: <20091021071337.3CF90412CB@hg.openjdk.java.net> Changeset: b0433598e26d Author: tbell Date: 2009-10-21 00:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b0433598e26d 6893426: ShellScaffold.sh fails on Solaris 10 update releases: /usr/bin/id: illegal option -- u Reviewed-by: ohair, dcubed ! test/com/sun/jdi/ShellScaffold.sh From jean-christophe.collet at sun.com Wed Oct 21 11:49:32 2009 From: jean-christophe.collet at sun.com (jean-christophe.collet at sun.com) Date: Wed, 21 Oct 2009 11:49:32 +0000 Subject: hg: jdk7/tl/jdk: 6873543: CookieManager doesn't enforce httpOnly Message-ID: <20091021114944.DAFE3413E6@hg.openjdk.java.net> Changeset: 5ab37d9d9260 Author: jccollet Date: 2009-10-21 13:42 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5ab37d9d9260 6873543: CookieManager doesn't enforce httpOnly Summary: Adds check for httpOnly tag and clarifies javadoc Reviewed-by: chegar ! src/share/classes/java/net/CookieHandler.java ! src/share/classes/java/net/CookieManager.java ! test/java/net/CookieHandler/B6644726.java From Alan.Bateman at Sun.COM Wed Oct 21 13:01:04 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 21 Oct 2009 14:01:04 +0100 Subject: Code review request for 6560935: BigInteger.modPow() throws ArithmeticException for negative exponent In-Reply-To: <4ADE2F69.2030605@sun.com> References: <4ADE2F69.2030605@sun.com> Message-ID: <4ADF0610.5010701@sun.com> Joseph D. Darcy wrote: > Hello. > > Please review this small doc clarification; modPow is not defined for > negative exponents unless the BigInteger being operated on is > relatively prime to the modulus. There are a few stylistic javadoc > cleanups in the patch below too. > > Webrev: > http://cr.openjdk.java.net/~darcy/6560935.0/ > > Thanks, > > -Joe This looks right (and the stylistic changes are okay too). -Alan. From Alan.Bateman at Sun.COM Wed Oct 21 13:22:33 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 21 Oct 2009 14:22:33 +0100 Subject: Code review request for 4206909 : adding Z_SYNC_FLUSH support to deflaters In-Reply-To: <4ADE31AE.7030504@sun.com> References: <4ADE31AE.7030504@sun.com> Message-ID: <4ADF0B19.6020504@sun.com> Xueming Shen wrote: > Martin, Alan. > > Finally got the CCC approval. Here is the final webrev > > http://cr.openjdk.java.net/~sherman/4206909/webrev > > The only difference compared to the webrev you guys reviewed last > time at > http://cr.openjdk.java.net/~sherman/zipflush/webrev is to use the > Google copyright > in test case InflateIn_DeflateOut.java > > Thanks, > Sherman > Good to see this one coming near to the finish. The changes mostly look good to me and the test looks good (thanks Martin). One comment is that DeflaterOutputStream.syncFlush be final. Other than that, I only have a few minor nits: 1. In DeflaterOutputStream.flush() it would be nicer if the test was: if (syncFlush && !def.finished()) { ... } That might the line wrap in the middle of the while expression. 2. Should you use @throws instead of @exception? (I haven't seen the latter in several years). 3. Do you need the blank line between the @see and @since tags in Deflater's constants? (seems locally inconsistent). -Alan. From jean-christophe.collet at sun.com Wed Oct 21 14:35:59 2009 From: jean-christophe.collet at sun.com (jean-christophe.collet at sun.com) Date: Wed, 21 Oct 2009 14:35:59 +0000 Subject: hg: jdk7/tl/jdk: 6893702: Overhaul of Ftp Client internal code Message-ID: <20091021143617.C5ADD41424@hg.openjdk.java.net> Changeset: 75c453fa1aa1 Author: jccollet Date: 2009-10-21 16:28 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/75c453fa1aa1 6893702: Overhaul of Ftp Client internal code Summary: Major reorg of internal FTP client code Reviewed-by: chegar ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/net/ftp/FtpClient.java + src/share/classes/sun/net/ftp/FtpClientProvider.java + src/share/classes/sun/net/ftp/FtpDirEntry.java + src/share/classes/sun/net/ftp/FtpDirParser.java ! src/share/classes/sun/net/ftp/FtpLoginException.java ! src/share/classes/sun/net/ftp/FtpProtocolException.java + src/share/classes/sun/net/ftp/FtpReplyCode.java + src/share/classes/sun/net/ftp/impl/DefaultFtpClientProvider.java + src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java From Alan.Bateman at Sun.COM Wed Oct 21 14:44:40 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 21 Oct 2009 15:44:40 +0100 Subject: Review request for 6878475: Better regex named-group and backreference syntax In-Reply-To: <4ADE3629.1060205@sun.com> References: <20090902194742.C8A3E1B37@eggemoggin.niobe.net> <4A9EEFD8.3060002@sun.com> <4AA001B2.6080103@sun.com> <4ADE3629.1060205@sun.com> Message-ID: <4ADF1E58.2090407@sun.com> Xueming Shen wrote: > Alan, Martin > > The CCC also approved this change. Would you please help review? There > is no doc/impl change > in the webrev since you guys reviewed (for CCC) last time. > > http://cr.openjdk.java.net/~sherman/6878475/webrev > > Thanks, > Sherman This looks good to me. -Alan From eamonn.mcmanus at sun.com Wed Oct 21 15:34:04 2009 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 21 Oct 2009 15:34:04 +0000 Subject: hg: jdk7/tl/jdk: 6851617: Remove JSR 255 (JMX API 2.0) from JDK 7 Message-ID: <20091021153423.6DFCF41434@hg.openjdk.java.net> Changeset: f23a3ae59169 Author: emcmanus Date: 2009-10-21 17:33 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f23a3ae59169 6851617: Remove JSR 255 (JMX API 2.0) from JDK 7 Summary: See http://weblogs.java.net/blog/2009/06/16/jsr-255-jmx-api-20-postponed Reviewed-by: dfuchs ! make/docs/CORE_PKGS.gmk ! src/share/classes/com/sun/jmx/defaults/JmxProperties.java ! src/share/classes/com/sun/jmx/defaults/ServiceName.java - src/share/classes/com/sun/jmx/event/DaemonThreadFactory.java - src/share/classes/com/sun/jmx/event/EventBuffer.java - src/share/classes/com/sun/jmx/event/EventClientFactory.java - src/share/classes/com/sun/jmx/event/EventConnection.java - src/share/classes/com/sun/jmx/event/EventParams.java - src/share/classes/com/sun/jmx/event/LeaseManager.java - src/share/classes/com/sun/jmx/event/LeaseRenewer.java - src/share/classes/com/sun/jmx/event/ReceiverBuffer.java - src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java - src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.java - src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java ! src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java ! src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java ! src/share/classes/com/sun/jmx/mbeanserver/DynamicMBean2.java ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java - src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java + src/share/classes/com/sun/jmx/mbeanserver/MXBeanMapping.java + src/share/classes/com/sun/jmx/mbeanserver/MXBeanMappingFactory.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanProxy.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanSupport.java - src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java - src/share/classes/com/sun/jmx/mbeanserver/NotifySupport.java ! src/share/classes/com/sun/jmx/mbeanserver/PerInterface.java - src/share/classes/com/sun/jmx/mbeanserver/PerThreadGroupPool.java ! src/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java ! src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanSupport.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java - src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java - src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java - src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java - src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java - src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java - src/share/classes/com/sun/jmx/namespace/RoutingProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java - src/share/classes/com/sun/jmx/namespace/package.html - src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java - src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/package.html ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/util/EnvHelp.java - src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/javax/management/AndQueryExp.java ! src/share/classes/javax/management/AttributeList.java ! src/share/classes/javax/management/AttributeValueExp.java ! src/share/classes/javax/management/BetweenQueryExp.java ! src/share/classes/javax/management/BinaryOpValueExp.java ! src/share/classes/javax/management/BinaryRelQueryExp.java - src/share/classes/javax/management/ClientContext.java - src/share/classes/javax/management/Description.java ! src/share/classes/javax/management/Descriptor.java - src/share/classes/javax/management/DescriptorFields.java ! src/share/classes/javax/management/DescriptorKey.java - src/share/classes/javax/management/DynamicWrapperMBean.java - src/share/classes/javax/management/GenericMBeanException.java - src/share/classes/javax/management/Impact.java ! src/share/classes/javax/management/InstanceNotFoundException.java ! src/share/classes/javax/management/JMRuntimeException.java ! src/share/classes/javax/management/JMX.java - src/share/classes/javax/management/MBean.java ! src/share/classes/javax/management/MBeanAttributeInfo.java ! src/share/classes/javax/management/MBeanConstructorInfo.java ! src/share/classes/javax/management/MBeanException.java ! src/share/classes/javax/management/MBeanInfo.java ! src/share/classes/javax/management/MBeanOperationInfo.java ! src/share/classes/javax/management/MBeanPermission.java ! src/share/classes/javax/management/MBeanRegistration.java ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/MBeanServerConnection.java ! src/share/classes/javax/management/MBeanServerDelegate.java ! src/share/classes/javax/management/MBeanServerFactory.java ! src/share/classes/javax/management/MBeanServerInvocationHandler.java ! src/share/classes/javax/management/MBeanServerNotification.java ! src/share/classes/javax/management/MXBean.java - src/share/classes/javax/management/ManagedAttribute.java - src/share/classes/javax/management/ManagedOperation.java ! src/share/classes/javax/management/NotQueryExp.java ! src/share/classes/javax/management/Notification.java ! src/share/classes/javax/management/NotificationBroadcasterSupport.java - src/share/classes/javax/management/NotificationInfo.java - src/share/classes/javax/management/NotificationInfos.java ! src/share/classes/javax/management/ObjectName.java - src/share/classes/javax/management/ObjectNameTemplate.java ! src/share/classes/javax/management/OrQueryExp.java ! src/share/classes/javax/management/QualifiedAttributeValueExp.java ! src/share/classes/javax/management/Query.java ! src/share/classes/javax/management/QueryEval.java - src/share/classes/javax/management/QueryNotificationFilter.java - src/share/classes/javax/management/QueryParser.java - src/share/classes/javax/management/SendNotification.java ! src/share/classes/javax/management/StandardEmitterMBean.java ! src/share/classes/javax/management/StandardMBean.java - src/share/classes/javax/management/event/EventClient.java - src/share/classes/javax/management/event/EventClientDelegate.java - src/share/classes/javax/management/event/EventClientDelegateMBean.java - src/share/classes/javax/management/event/EventClientNotFoundException.java - src/share/classes/javax/management/event/EventConsumer.java - src/share/classes/javax/management/event/EventForwarder.java - src/share/classes/javax/management/event/EventReceiver.java - src/share/classes/javax/management/event/EventRelay.java - src/share/classes/javax/management/event/EventSubscriber.java - src/share/classes/javax/management/event/FetchingEventForwarder.java - src/share/classes/javax/management/event/FetchingEventRelay.java - src/share/classes/javax/management/event/ListenerInfo.java - src/share/classes/javax/management/event/NotificationManager.java - src/share/classes/javax/management/event/RMIPushEventForwarder.java - src/share/classes/javax/management/event/RMIPushEventRelay.java - src/share/classes/javax/management/event/RMIPushServer.java - src/share/classes/javax/management/event/package-info.java ! src/share/classes/javax/management/modelmbean/DescriptorSupport.java ! src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanInfoSupport.java ! src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java ! src/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/share/classes/javax/management/monitor/MonitorNotification.java - src/share/classes/javax/management/namespace/JMXDomain.java - src/share/classes/javax/management/namespace/JMXNamespace.java - src/share/classes/javax/management/namespace/JMXNamespaceMBean.java - src/share/classes/javax/management/namespace/JMXNamespacePermission.java - src/share/classes/javax/management/namespace/JMXNamespaceView.java - src/share/classes/javax/management/namespace/JMXNamespaces.java - src/share/classes/javax/management/namespace/JMXRemoteNamespace.java - src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java - src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java - src/share/classes/javax/management/namespace/MBeanServerSupport.java - src/share/classes/javax/management/namespace/VirtualEventManager.java - src/share/classes/javax/management/namespace/package-info.java ! src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java ! src/share/classes/javax/management/openmbean/CompositeDataSupport.java ! src/share/classes/javax/management/openmbean/CompositeType.java - src/share/classes/javax/management/openmbean/MXBeanMapping.java - src/share/classes/javax/management/openmbean/MXBeanMappingClass.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactoryClass.java ! src/share/classes/javax/management/openmbean/OpenType.java ! src/share/classes/javax/management/package.html - src/share/classes/javax/management/remote/IdentityMBeanServerForwarder.java ! src/share/classes/javax/management/remote/JMXConnector.java ! src/share/classes/javax/management/remote/JMXConnectorServer.java ! src/share/classes/javax/management/remote/JMXConnectorServerMBean.java ! src/share/classes/javax/management/remote/JMXServiceURL.java ! src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/share/classes/javax/management/remote/rmi/RMIServerImpl.java ! src/share/classes/sun/management/ClassLoadingImpl.java ! src/share/classes/sun/management/CompilationImpl.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/classes/sun/management/HotspotInternal.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! src/share/classes/sun/management/MemoryImpl.java ! src/share/classes/sun/management/OperatingSystemImpl.java ! src/share/classes/sun/management/RuntimeImpl.java ! src/share/classes/sun/management/ThreadImpl.java ! src/share/classes/sun/management/Util.java - test/javax/management/Introspector/AnnotatedMBeanTest.java - test/javax/management/Introspector/AnnotatedNotificationInfoTest.java ! test/javax/management/Introspector/AnnotationTest.java - test/javax/management/Introspector/ExceptionsDescriptorTest.java - test/javax/management/Introspector/MBeanDescriptionTest.java - test/javax/management/Introspector/ObjectNameTemplateTest.java - test/javax/management/Introspector/ParameterNameTest.java - test/javax/management/Introspector/ResourceInjectionTest.java - test/javax/management/MBeanServer/AttributeListMapTest.java - test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java - test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java ! test/javax/management/MBeanServer/MBeanExceptionTest.java - test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java ! test/javax/management/ObjectName/ApplyWildcardTest.java - test/javax/management/ObjectName/ValueOfTest.java - test/javax/management/context/ContextForwarderTest.java - test/javax/management/context/ContextTest.java - test/javax/management/context/LocaleAwareBroadcasterTest.java - test/javax/management/context/LocaleTest.java - test/javax/management/context/LocalizableTest.java - test/javax/management/context/RemoteContextTest.java - test/javax/management/context/localizable/MBeanDescriptions.properties - test/javax/management/context/localizable/MBeanDescriptions_fr.java - test/javax/management/context/localizable/Whatsit.java - test/javax/management/context/localizable/WhatsitMBean.java - test/javax/management/descriptor/DescriptorConstructorTest.java - test/javax/management/eventService/AddRemoveListenerTest.java - test/javax/management/eventService/CustomForwarderTest.java - test/javax/management/eventService/EventClientExecutorTest.java - test/javax/management/eventService/EventClientThreadTest.java - test/javax/management/eventService/EventDelegateSecurityTest.java - test/javax/management/eventService/EventManagerTest.java - test/javax/management/eventService/FetchingTest.java - test/javax/management/eventService/LeaseManagerDeadlockTest.java - test/javax/management/eventService/LeaseTest.java - test/javax/management/eventService/ListenerTest.java - test/javax/management/eventService/MyFetchingEventForwarder.java - test/javax/management/eventService/NotSerializableNotifTest.java - test/javax/management/eventService/PublishTest.java - test/javax/management/eventService/ReconnectableConnectorTest.java - test/javax/management/eventService/SharingThreadTest.java - test/javax/management/eventService/SubUnsubTest.java - test/javax/management/eventService/SubscribeTest.java - test/javax/management/eventService/UsingEventService.java - test/javax/management/interop/MBeanExceptionInteropTest.java - test/javax/management/modelmbean/DefaultDescriptorFieldTest.java ! test/javax/management/monitor/AttributeArbitraryDataTypeTest.java - test/javax/management/monitor/InstantiateMonitorNotificationTest.java - test/javax/management/mxbean/CustomTypeTest.java ! test/javax/management/mxbean/ExceptionDiagnosisTest.java - test/javax/management/mxbean/JMXServiceURLTest.java - test/javax/management/mxbean/customtypes/CustomLongMXBean.java - test/javax/management/mxbean/customtypes/CustomMXBean.java - test/javax/management/mxbean/customtypes/IntegerIsLongFactory.java - test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java - test/javax/management/mxbean/customtypes/package-info.java - test/javax/management/namespace/DomainCreationTest.java - test/javax/management/namespace/EventWithNamespaceControlTest.java - test/javax/management/namespace/EventWithNamespaceTest.java - test/javax/management/namespace/ExportNamespaceTest.java - test/javax/management/namespace/JMXDomainTest.java - test/javax/management/namespace/JMXNamespaceSecurityTest.java - test/javax/management/namespace/JMXNamespaceTest.java - test/javax/management/namespace/JMXNamespaceViewTest.java - test/javax/management/namespace/JMXNamespacesTest.java - test/javax/management/namespace/JMXRemoteNamespaceTest.java - test/javax/management/namespace/JMXRemoteTargetNamespace.java - test/javax/management/namespace/LazyDomainTest.java - test/javax/management/namespace/LeadingSeparatorsTest.java - test/javax/management/namespace/MXBeanRefTest.java - test/javax/management/namespace/NamespaceController.java - test/javax/management/namespace/NamespaceControllerMBean.java - test/javax/management/namespace/NamespaceCreationTest.java - test/javax/management/namespace/NamespaceNotificationsTest.java - test/javax/management/namespace/NullDomainObjectNameTest.java - test/javax/management/namespace/NullObjectNameTest.java - test/javax/management/namespace/QueryNamesTest.java - test/javax/management/namespace/RemoveNotificationListenerTest.java - test/javax/management/namespace/RoutingServerProxyTest.java - test/javax/management/namespace/SerialParamProcessorTest.java - test/javax/management/namespace/SourceNamespaceTest.java - test/javax/management/namespace/VirtualMBeanNotifTest.java - test/javax/management/namespace/VirtualMBeanTest.java - test/javax/management/namespace/VirtualNamespaceQueryTest.java - test/javax/management/namespace/VirtualPropsTest.java - test/javax/management/namespace/Wombat.java - test/javax/management/namespace/WombatMBean.java - test/javax/management/namespace/namespace.policy - test/javax/management/notification/SupportClearTest.java - test/javax/management/openmbean/CompositeDataToMapTest.java - test/javax/management/openmbean/GenericMBeanExceptionTest.java - test/javax/management/query/QueryDottedAttrTest.java ! test/javax/management/query/QueryExpStringTest.java - test/javax/management/query/QueryNotifFilterTest.java - test/javax/management/query/QueryParseTest.java ! test/javax/management/remote/mandatory/connection/CloseServerTest.java ! test/javax/management/remote/mandatory/connection/DeadLockTest.java ! test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java ! test/javax/management/remote/mandatory/connection/RMIExitTest.java ! test/javax/management/remote/mandatory/connection/ReconnectTest.java - test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java - test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java - test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java ! test/javax/management/remote/mandatory/loading/MissingClassTest.java ! test/javax/management/remote/mandatory/notif/AddRemoveTest.java ! test/javax/management/remote/mandatory/notif/DiffHBTest.java ! test/javax/management/remote/mandatory/notif/EmptyDomainNotificationTest.java ! test/javax/management/remote/mandatory/notif/ListenerScaleTest.java ! test/javax/management/remote/mandatory/notif/NotifBufferSizePropertyNameTest.java ! test/javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java ! test/javax/management/remote/mandatory/notif/NotificationBufferCreationTest.java ! test/javax/management/remote/mandatory/notif/NotificationBufferDeadlockTest.java ! test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java ! test/javax/management/remote/mandatory/notif/RMINotifTest.java ! test/javax/management/remote/mandatory/notif/UnexpectedNotifTest.java - test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java - test/javax/management/standardmbean/FindMethodTest.java - test/javax/management/standardmbean/RegistrationTest.java From christopher.hegarty at sun.com Wed Oct 21 15:55:26 2009 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Wed, 21 Oct 2009 15:55:26 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20091021155624.0CE9D4143A@hg.openjdk.java.net> Changeset: 44fa9caa1727 Author: chegar Date: 2009-10-21 15:41 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/44fa9caa1727 6893238: Move NTLM and SPNEGO implementations into separate packages Reviewed-by: michaelm, alanb ! make/java/net/Makefile ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java - src/share/classes/sun/net/www/protocol/http/NegotiateCallbackHandler.java + src/share/classes/sun/net/www/protocol/http/Negotiator.java - src/share/classes/sun/net/www/protocol/http/NegotiatorImpl.java + src/share/classes/sun/net/www/protocol/http/spnego/NegotiateCallbackHandler.java + src/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java ! src/share/classes/sun/security/jgss/GSSUtil.java + src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthSequence.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java + src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java + src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java - src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c + src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c Changeset: 2358eb4bef69 Author: chegar Date: 2009-10-21 15:47 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2358eb4bef69 Merge ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: 138cbd3dd44d Author: chegar Date: 2009-10-21 16:50 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/138cbd3dd44d Merge - src/share/classes/com/sun/jmx/event/DaemonThreadFactory.java - src/share/classes/com/sun/jmx/event/EventBuffer.java - src/share/classes/com/sun/jmx/event/EventClientFactory.java - src/share/classes/com/sun/jmx/event/EventConnection.java - src/share/classes/com/sun/jmx/event/EventParams.java - src/share/classes/com/sun/jmx/event/LeaseManager.java - src/share/classes/com/sun/jmx/event/LeaseRenewer.java - src/share/classes/com/sun/jmx/event/ReceiverBuffer.java - src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java - src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.java - src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java - src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java - src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java - src/share/classes/com/sun/jmx/mbeanserver/NotifySupport.java - src/share/classes/com/sun/jmx/mbeanserver/PerThreadGroupPool.java - src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java - src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java - src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java - src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java - src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java - src/share/classes/com/sun/jmx/namespace/RoutingProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java - src/share/classes/com/sun/jmx/namespace/package.html - src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java - src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/package.html - src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java - src/share/classes/javax/management/ClientContext.java - src/share/classes/javax/management/Description.java - src/share/classes/javax/management/DescriptorFields.java - src/share/classes/javax/management/DynamicWrapperMBean.java - src/share/classes/javax/management/GenericMBeanException.java - src/share/classes/javax/management/Impact.java - src/share/classes/javax/management/MBean.java - src/share/classes/javax/management/ManagedAttribute.java - src/share/classes/javax/management/ManagedOperation.java - src/share/classes/javax/management/NotificationInfo.java - src/share/classes/javax/management/NotificationInfos.java - src/share/classes/javax/management/ObjectNameTemplate.java - src/share/classes/javax/management/QueryNotificationFilter.java - src/share/classes/javax/management/QueryParser.java - src/share/classes/javax/management/SendNotification.java - src/share/classes/javax/management/event/EventClient.java - src/share/classes/javax/management/event/EventClientDelegate.java - src/share/classes/javax/management/event/EventClientDelegateMBean.java - src/share/classes/javax/management/event/EventClientNotFoundException.java - src/share/classes/javax/management/event/EventConsumer.java - src/share/classes/javax/management/event/EventForwarder.java - src/share/classes/javax/management/event/EventReceiver.java - src/share/classes/javax/management/event/EventRelay.java - src/share/classes/javax/management/event/EventSubscriber.java - src/share/classes/javax/management/event/FetchingEventForwarder.java - src/share/classes/javax/management/event/FetchingEventRelay.java - src/share/classes/javax/management/event/ListenerInfo.java - src/share/classes/javax/management/event/NotificationManager.java - src/share/classes/javax/management/event/RMIPushEventForwarder.java - src/share/classes/javax/management/event/RMIPushEventRelay.java - src/share/classes/javax/management/event/RMIPushServer.java - src/share/classes/javax/management/event/package-info.java - src/share/classes/javax/management/namespace/JMXDomain.java - src/share/classes/javax/management/namespace/JMXNamespace.java - src/share/classes/javax/management/namespace/JMXNamespaceMBean.java - src/share/classes/javax/management/namespace/JMXNamespacePermission.java - src/share/classes/javax/management/namespace/JMXNamespaceView.java - src/share/classes/javax/management/namespace/JMXNamespaces.java - src/share/classes/javax/management/namespace/JMXRemoteNamespace.java - src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java - src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java - src/share/classes/javax/management/namespace/MBeanServerSupport.java - src/share/classes/javax/management/namespace/VirtualEventManager.java - src/share/classes/javax/management/namespace/package-info.java - src/share/classes/javax/management/openmbean/MXBeanMapping.java - src/share/classes/javax/management/openmbean/MXBeanMappingClass.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactoryClass.java - src/share/classes/javax/management/remote/IdentityMBeanServerForwarder.java - test/javax/management/Introspector/AnnotatedMBeanTest.java - test/javax/management/Introspector/AnnotatedNotificationInfoTest.java - test/javax/management/Introspector/ExceptionsDescriptorTest.java - test/javax/management/Introspector/MBeanDescriptionTest.java - test/javax/management/Introspector/ObjectNameTemplateTest.java - test/javax/management/Introspector/ParameterNameTest.java - test/javax/management/Introspector/ResourceInjectionTest.java - test/javax/management/MBeanServer/AttributeListMapTest.java - test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java - test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java - test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java - test/javax/management/ObjectName/ValueOfTest.java - test/javax/management/context/ContextForwarderTest.java - test/javax/management/context/ContextTest.java - test/javax/management/context/LocaleAwareBroadcasterTest.java - test/javax/management/context/LocaleTest.java - test/javax/management/context/LocalizableTest.java - test/javax/management/context/RemoteContextTest.java - test/javax/management/context/localizable/MBeanDescriptions.properties - test/javax/management/context/localizable/MBeanDescriptions_fr.java - test/javax/management/context/localizable/Whatsit.java - test/javax/management/context/localizable/WhatsitMBean.java - test/javax/management/descriptor/DescriptorConstructorTest.java - test/javax/management/eventService/AddRemoveListenerTest.java - test/javax/management/eventService/CustomForwarderTest.java - test/javax/management/eventService/EventClientExecutorTest.java - test/javax/management/eventService/EventClientThreadTest.java - test/javax/management/eventService/EventDelegateSecurityTest.java - test/javax/management/eventService/EventManagerTest.java - test/javax/management/eventService/FetchingTest.java - test/javax/management/eventService/LeaseManagerDeadlockTest.java - test/javax/management/eventService/LeaseTest.java - test/javax/management/eventService/ListenerTest.java - test/javax/management/eventService/MyFetchingEventForwarder.java - test/javax/management/eventService/NotSerializableNotifTest.java - test/javax/management/eventService/PublishTest.java - test/javax/management/eventService/ReconnectableConnectorTest.java - test/javax/management/eventService/SharingThreadTest.java - test/javax/management/eventService/SubUnsubTest.java - test/javax/management/eventService/SubscribeTest.java - test/javax/management/eventService/UsingEventService.java - test/javax/management/interop/MBeanExceptionInteropTest.java - test/javax/management/modelmbean/DefaultDescriptorFieldTest.java - test/javax/management/monitor/InstantiateMonitorNotificationTest.java - test/javax/management/mxbean/CustomTypeTest.java - test/javax/management/mxbean/JMXServiceURLTest.java - test/javax/management/mxbean/customtypes/CustomLongMXBean.java - test/javax/management/mxbean/customtypes/CustomMXBean.java - test/javax/management/mxbean/customtypes/IntegerIsLongFactory.java - test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java - test/javax/management/mxbean/customtypes/package-info.java - test/javax/management/namespace/DomainCreationTest.java - test/javax/management/namespace/EventWithNamespaceControlTest.java - test/javax/management/namespace/EventWithNamespaceTest.java - test/javax/management/namespace/ExportNamespaceTest.java - test/javax/management/namespace/JMXDomainTest.java - test/javax/management/namespace/JMXNamespaceSecurityTest.java - test/javax/management/namespace/JMXNamespaceTest.java - test/javax/management/namespace/JMXNamespaceViewTest.java - test/javax/management/namespace/JMXNamespacesTest.java - test/javax/management/namespace/JMXRemoteNamespaceTest.java - test/javax/management/namespace/JMXRemoteTargetNamespace.java - test/javax/management/namespace/LazyDomainTest.java - test/javax/management/namespace/LeadingSeparatorsTest.java - test/javax/management/namespace/MXBeanRefTest.java - test/javax/management/namespace/NamespaceController.java - test/javax/management/namespace/NamespaceControllerMBean.java - test/javax/management/namespace/NamespaceCreationTest.java - test/javax/management/namespace/NamespaceNotificationsTest.java - test/javax/management/namespace/NullDomainObjectNameTest.java - test/javax/management/namespace/NullObjectNameTest.java - test/javax/management/namespace/QueryNamesTest.java - test/javax/management/namespace/RemoveNotificationListenerTest.java - test/javax/management/namespace/RoutingServerProxyTest.java - test/javax/management/namespace/SerialParamProcessorTest.java - test/javax/management/namespace/SourceNamespaceTest.java - test/javax/management/namespace/VirtualMBeanNotifTest.java - test/javax/management/namespace/VirtualMBeanTest.java - test/javax/management/namespace/VirtualNamespaceQueryTest.java - test/javax/management/namespace/VirtualPropsTest.java - test/javax/management/namespace/Wombat.java - test/javax/management/namespace/WombatMBean.java - test/javax/management/namespace/namespace.policy - test/javax/management/notification/SupportClearTest.java - test/javax/management/openmbean/CompositeDataToMapTest.java - test/javax/management/openmbean/GenericMBeanExceptionTest.java - test/javax/management/query/QueryDottedAttrTest.java - test/javax/management/query/QueryNotifFilterTest.java - test/javax/management/query/QueryParseTest.java - test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java - test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java - test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java - test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java - test/javax/management/standardmbean/FindMethodTest.java - test/javax/management/standardmbean/RegistrationTest.java From joe.darcy at sun.com Wed Oct 21 16:53:40 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Wed, 21 Oct 2009 16:53:40 +0000 Subject: hg: jdk7/tl/jdk: 6560935: BigInteger.modPow() throws ArithmeticException for negative exponent Message-ID: <20091021165420.63A6541452@hg.openjdk.java.net> Changeset: 98558a60c555 Author: darcy Date: 2009-10-21 09:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/98558a60c555 6560935: BigInteger.modPow() throws ArithmeticException for negative exponent Reviewed-by: alanb ! src/share/classes/java/math/BigInteger.java From Xueming.Shen at Sun.COM Wed Oct 21 17:50:19 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 21 Oct 2009 10:50:19 -0700 Subject: Code review request for 4206909 : adding Z_SYNC_FLUSH support to deflaters In-Reply-To: <4ADF0B19.6020504@sun.com> References: <4ADE31AE.7030504@sun.com> <4ADF0B19.6020504@sun.com> Message-ID: <4ADF49DB.9020107@sun.com> Thanks Alan, the webrev has been updated according. http://cr.openjdk.java.net/~sherman/4206909/webrev sherman Alan Bateman wrote: > Xueming Shen wrote: >> Martin, Alan. >> >> Finally got the CCC approval. Here is the final webrev >> >> http://cr.openjdk.java.net/~sherman/4206909/webrev >> >> The only difference compared to the webrev you guys reviewed last >> time at >> http://cr.openjdk.java.net/~sherman/zipflush/webrev is to use the >> Google copyright >> in test case InflateIn_DeflateOut.java >> >> Thanks, >> Sherman >> > Good to see this one coming near to the finish. The changes mostly > look good to me and the test looks good (thanks Martin). One comment > is that DeflaterOutputStream.syncFlush be final. Other than that, I > only have a few minor nits: > > 1. In DeflaterOutputStream.flush() it would be nicer if the test was: > if (syncFlush && !def.finished()) { ... } > That might the line wrap in the middle of the while expression. > > 2. Should you use @throws instead of @exception? (I haven't seen the > latter in several years). > > 3. Do you need the blank line between the @see and @since tags in > Deflater's constants? (seems locally inconsistent). > > -Alan. > From xueming.shen at sun.com Wed Oct 21 19:02:02 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Wed, 21 Oct 2009 19:02:02 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20091021190259.799724140F@hg.openjdk.java.net> Changeset: a88ca066dad4 Author: sherman Date: 2009-10-21 11:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a88ca066dad4 6878475: Better syntax for the named capture group in regex Summary: Updated the syntax of the newly added named capture group Reviewed-by: martin, alanb ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: 5176725c94fc Author: sherman Date: 2009-10-21 11:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5176725c94fc 4206909: want java.util.zip to work for interactive use (Z_SYNC_FLUSH) Summary: Add sync_flush option into Deflater/DefalterOutputStream Reviewed-by: martin, alanb ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/DeflaterOutputStream.java ! src/share/native/java/util/zip/Deflater.c + test/java/util/zip/InflateIn_DeflateOut.java Changeset: 62ec45ff652f Author: sherman Date: 2009-10-21 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/62ec45ff652f Merge - src/share/classes/com/sun/jmx/event/DaemonThreadFactory.java - src/share/classes/com/sun/jmx/event/EventBuffer.java - src/share/classes/com/sun/jmx/event/EventClientFactory.java - src/share/classes/com/sun/jmx/event/EventConnection.java - src/share/classes/com/sun/jmx/event/EventParams.java - src/share/classes/com/sun/jmx/event/LeaseManager.java - src/share/classes/com/sun/jmx/event/LeaseRenewer.java - src/share/classes/com/sun/jmx/event/ReceiverBuffer.java - src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java - src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.java - src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java - src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java - src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java - src/share/classes/com/sun/jmx/mbeanserver/NotifySupport.java - src/share/classes/com/sun/jmx/mbeanserver/PerThreadGroupPool.java - src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java - src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java - src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java - src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java - src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java - src/share/classes/com/sun/jmx/namespace/RoutingProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java - src/share/classes/com/sun/jmx/namespace/package.html - src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java - src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/package.html - src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java - src/share/classes/javax/management/ClientContext.java - src/share/classes/javax/management/Description.java - src/share/classes/javax/management/DescriptorFields.java - src/share/classes/javax/management/DynamicWrapperMBean.java - src/share/classes/javax/management/GenericMBeanException.java - src/share/classes/javax/management/Impact.java - src/share/classes/javax/management/MBean.java - src/share/classes/javax/management/ManagedAttribute.java - src/share/classes/javax/management/ManagedOperation.java - src/share/classes/javax/management/NotificationInfo.java - src/share/classes/javax/management/NotificationInfos.java - src/share/classes/javax/management/ObjectNameTemplate.java - src/share/classes/javax/management/QueryNotificationFilter.java - src/share/classes/javax/management/QueryParser.java - src/share/classes/javax/management/SendNotification.java - src/share/classes/javax/management/event/EventClient.java - src/share/classes/javax/management/event/EventClientDelegate.java - src/share/classes/javax/management/event/EventClientDelegateMBean.java - src/share/classes/javax/management/event/EventClientNotFoundException.java - src/share/classes/javax/management/event/EventConsumer.java - src/share/classes/javax/management/event/EventForwarder.java - src/share/classes/javax/management/event/EventReceiver.java - src/share/classes/javax/management/event/EventRelay.java - src/share/classes/javax/management/event/EventSubscriber.java - src/share/classes/javax/management/event/FetchingEventForwarder.java - src/share/classes/javax/management/event/FetchingEventRelay.java - src/share/classes/javax/management/event/ListenerInfo.java - src/share/classes/javax/management/event/NotificationManager.java - src/share/classes/javax/management/event/RMIPushEventForwarder.java - src/share/classes/javax/management/event/RMIPushEventRelay.java - src/share/classes/javax/management/event/RMIPushServer.java - src/share/classes/javax/management/event/package-info.java - src/share/classes/javax/management/namespace/JMXDomain.java - src/share/classes/javax/management/namespace/JMXNamespace.java - src/share/classes/javax/management/namespace/JMXNamespaceMBean.java - src/share/classes/javax/management/namespace/JMXNamespacePermission.java - src/share/classes/javax/management/namespace/JMXNamespaceView.java - src/share/classes/javax/management/namespace/JMXNamespaces.java - src/share/classes/javax/management/namespace/JMXRemoteNamespace.java - src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java - src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java - src/share/classes/javax/management/namespace/MBeanServerSupport.java - src/share/classes/javax/management/namespace/VirtualEventManager.java - src/share/classes/javax/management/namespace/package-info.java - src/share/classes/javax/management/openmbean/MXBeanMapping.java - src/share/classes/javax/management/openmbean/MXBeanMappingClass.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactoryClass.java - src/share/classes/javax/management/remote/IdentityMBeanServerForwarder.java - src/share/classes/sun/net/www/protocol/http/NegotiateCallbackHandler.java - src/share/classes/sun/net/www/protocol/http/NegotiatorImpl.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthSequence.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java - src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c - test/javax/management/Introspector/AnnotatedMBeanTest.java - test/javax/management/Introspector/AnnotatedNotificationInfoTest.java - test/javax/management/Introspector/ExceptionsDescriptorTest.java - test/javax/management/Introspector/MBeanDescriptionTest.java - test/javax/management/Introspector/ObjectNameTemplateTest.java - test/javax/management/Introspector/ParameterNameTest.java - test/javax/management/Introspector/ResourceInjectionTest.java - test/javax/management/MBeanServer/AttributeListMapTest.java - test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java - test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java - test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java - test/javax/management/ObjectName/ValueOfTest.java - test/javax/management/context/ContextForwarderTest.java - test/javax/management/context/ContextTest.java - test/javax/management/context/LocaleAwareBroadcasterTest.java - test/javax/management/context/LocaleTest.java - test/javax/management/context/LocalizableTest.java - test/javax/management/context/RemoteContextTest.java - test/javax/management/context/localizable/MBeanDescriptions.properties - test/javax/management/context/localizable/MBeanDescriptions_fr.java - test/javax/management/context/localizable/Whatsit.java - test/javax/management/context/localizable/WhatsitMBean.java - test/javax/management/descriptor/DescriptorConstructorTest.java - test/javax/management/eventService/AddRemoveListenerTest.java - test/javax/management/eventService/CustomForwarderTest.java - test/javax/management/eventService/EventClientExecutorTest.java - test/javax/management/eventService/EventClientThreadTest.java - test/javax/management/eventService/EventDelegateSecurityTest.java - test/javax/management/eventService/EventManagerTest.java - test/javax/management/eventService/FetchingTest.java - test/javax/management/eventService/LeaseManagerDeadlockTest.java - test/javax/management/eventService/LeaseTest.java - test/javax/management/eventService/ListenerTest.java - test/javax/management/eventService/MyFetchingEventForwarder.java - test/javax/management/eventService/NotSerializableNotifTest.java - test/javax/management/eventService/PublishTest.java - test/javax/management/eventService/ReconnectableConnectorTest.java - test/javax/management/eventService/SharingThreadTest.java - test/javax/management/eventService/SubUnsubTest.java - test/javax/management/eventService/SubscribeTest.java - test/javax/management/eventService/UsingEventService.java - test/javax/management/interop/MBeanExceptionInteropTest.java - test/javax/management/modelmbean/DefaultDescriptorFieldTest.java - test/javax/management/monitor/InstantiateMonitorNotificationTest.java - test/javax/management/mxbean/CustomTypeTest.java - test/javax/management/mxbean/JMXServiceURLTest.java - test/javax/management/mxbean/customtypes/CustomLongMXBean.java - test/javax/management/mxbean/customtypes/CustomMXBean.java - test/javax/management/mxbean/customtypes/IntegerIsLongFactory.java - test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java - test/javax/management/mxbean/customtypes/package-info.java - test/javax/management/namespace/DomainCreationTest.java - test/javax/management/namespace/EventWithNamespaceControlTest.java - test/javax/management/namespace/EventWithNamespaceTest.java - test/javax/management/namespace/ExportNamespaceTest.java - test/javax/management/namespace/JMXDomainTest.java - test/javax/management/namespace/JMXNamespaceSecurityTest.java - test/javax/management/namespace/JMXNamespaceTest.java - test/javax/management/namespace/JMXNamespaceViewTest.java - test/javax/management/namespace/JMXNamespacesTest.java - test/javax/management/namespace/JMXRemoteNamespaceTest.java - test/javax/management/namespace/JMXRemoteTargetNamespace.java - test/javax/management/namespace/LazyDomainTest.java - test/javax/management/namespace/LeadingSeparatorsTest.java - test/javax/management/namespace/MXBeanRefTest.java - test/javax/management/namespace/NamespaceController.java - test/javax/management/namespace/NamespaceControllerMBean.java - test/javax/management/namespace/NamespaceCreationTest.java - test/javax/management/namespace/NamespaceNotificationsTest.java - test/javax/management/namespace/NullDomainObjectNameTest.java - test/javax/management/namespace/NullObjectNameTest.java - test/javax/management/namespace/QueryNamesTest.java - test/javax/management/namespace/RemoveNotificationListenerTest.java - test/javax/management/namespace/RoutingServerProxyTest.java - test/javax/management/namespace/SerialParamProcessorTest.java - test/javax/management/namespace/SourceNamespaceTest.java - test/javax/management/namespace/VirtualMBeanNotifTest.java - test/javax/management/namespace/VirtualMBeanTest.java - test/javax/management/namespace/VirtualNamespaceQueryTest.java - test/javax/management/namespace/VirtualPropsTest.java - test/javax/management/namespace/Wombat.java - test/javax/management/namespace/WombatMBean.java - test/javax/management/namespace/namespace.policy - test/javax/management/notification/SupportClearTest.java - test/javax/management/openmbean/CompositeDataToMapTest.java - test/javax/management/openmbean/GenericMBeanExceptionTest.java - test/javax/management/query/QueryDottedAttrTest.java - test/javax/management/query/QueryNotifFilterTest.java - test/javax/management/query/QueryParseTest.java - test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java - test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java - test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java - test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java - test/javax/management/standardmbean/FindMethodTest.java - test/javax/management/standardmbean/RegistrationTest.java From i30817 at gmail.com Wed Oct 21 20:33:01 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 21 Oct 2009 21:33:01 +0100 Subject: Why does the for each loop doesn't work with naturals? Message-ID: <212322090910211333q5e62d164l7aacb5d4d374892a@mail.gmail.com> For example: for(int i : intNumberVariable) From Ulf.Zibis at gmx.de Wed Oct 21 23:08:50 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 22 Oct 2009 01:08:50 +0200 Subject: Why does the for each loop doesn't work with naturals? In-Reply-To: <212322090910211333q5e62d164l7aacb5d4d374892a@mail.gmail.com> References: <212322090910211333q5e62d164l7aacb5d4d374892a@mail.gmail.com> Message-ID: <4ADF9482.2040803@gmx.de> Maybe better post to coin-dev at openjdk.java.net. -Ulf Am 21.10.2009 22:33, Paulo Levi schrieb: > For example: > for(int i : intNumberVariable) > > > From Joe.Darcy at Sun.COM Thu Oct 22 00:24:06 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Wed, 21 Oct 2009 17:24:06 -0700 Subject: Code review request for 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default Message-ID: <4ADFA626.6020104@sun.com> Hello. Please review this webrev to add deepEquals(Object, Object), hash(Object...) and toString(Object, String) to j.u.Objects: 6891113 More methods for java.util.Objects: deepEquals, hash, toString with default http://cr.openjdk.java.net/~darcy/6891113.0/ Thanks, -Joe From neal at gafter.com Thu Oct 22 01:26:33 2009 From: neal at gafter.com (Neal Gafter) Date: Wed, 21 Oct 2009 18:26:33 -0700 Subject: Code review request for 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default In-Reply-To: <4ADFA626.6020104@sun.com> References: <4ADFA626.6020104@sun.com> Message-ID: <15e8b9d20910211826v6b63dd7bibbb1fd0f3fd32585@mail.gmail.com> There should be a shortcut in Arrays.deepEquals0 when e1==e2. Also, the code will throw an assertion error if e1!=null and e2==null (which can occur when called from Arrays.deepEquals). The simplest way to fix these is to move the if statements from Objects.deepEquals into Arrays.deepEquals0. Alternately, change the call of Arrays.deepEquals0 in Arrays.deepEquals to a call to Objects.deepEquals. If you do the latter, you might as well move all the code of deepEquals0 into the body of Object.deepEquals. Cheers, Neal On Wed, Oct 21, 2009 at 5:24 PM, Joseph D. Darcy wrote: > Hello. > > Please review this webrev to add deepEquals(Object, Object), > hash(Object...) and toString(Object, String) to j.u.Objects: > > 6891113 More methods for java.util.Objects: deepEquals, hash, toString with > default > http://cr.openjdk.java.net/~darcy/6891113.0/ > > Thanks, > > -Joe > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Thu Oct 22 01:48:08 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Wed, 21 Oct 2009 18:48:08 -0700 Subject: Code review request for 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default In-Reply-To: <15e8b9d20910211826v6b63dd7bibbb1fd0f3fd32585@mail.gmail.com> References: <4ADFA626.6020104@sun.com> <15e8b9d20910211826v6b63dd7bibbb1fd0f3fd32585@mail.gmail.com> Message-ID: <4ADFB9D8.70503@sun.com> Neal Gafter wrote: > There should be a shortcut in Arrays.deepEquals0 when e1==e2. That shortcut is in Objects.deepEquals(Object a, Object b) and Arrays.deepEquals on lines 3947 and 3948. The nested call in deepEquals0 is to deepEquals rather than deepEquals0 so the shortcut is used on all levels. > Also, the code will throw an assertion error if e1!=null and e2==null > (which can occur when called from Arrays.deepEquals). Good catch! Yes, my mistake; only e1 != null is guaranteed when being called from Arrays.deepEquals. > The simplest way to fix these is to move the if statements from > Objects.deepEquals into Arrays.deepEquals0. Alternately, change the > call of Arrays.deepEquals0 in Arrays.deepEquals to a call to > Objects.deepEquals. If you do the latter, you might as well move all > the code of deepEquals0 into the body of Object.deepEquals. For correctness, I think removing the assertion that e2 != null in deepEquals0 is sufficient. Thanks, -Joe > > Cheers, > Neal > > On Wed, Oct 21, 2009 at 5:24 PM, Joseph D. Darcy > wrote: > > Hello. > > Please review this webrev to add deepEquals(Object, Object), > hash(Object...) and toString(Object, String) to j.u.Objects: > > 6891113 More methods for java.util.Objects: deepEquals, hash, > toString with default > http://cr.openjdk.java.net/~darcy/6891113.0/ > > > Thanks, > > -Joe > > From martinrb at google.com Thu Oct 22 03:46:36 2009 From: martinrb at google.com (Martin Buchholz) Date: Wed, 21 Oct 2009 20:46:36 -0700 Subject: Code review request for 4206909 : adding Z_SYNC_FLUSH support to deflaters In-Reply-To: <4ADE31AE.7030504@sun.com> References: <4ADE31AE.7030504@sun.com> Message-ID: <1ccfd1c10910212046n48eb6ccai9222dfc192e19aee@mail.gmail.com> Thanks, Sherman, This looks fine to me. [+ Brandon Long, who deserves more credit than I] Martin On Tue, Oct 20, 2009 at 14:54, Xueming Shen wrote: > Martin, Alan. > > Finally got the CCC approval. Here is the final webrev > > http://cr.openjdk.java.net/~sherman/4206909/webrev > > The only difference compared to the ?webrev you guys reviewed last time at > http://cr.openjdk.java.net/~sherman/zipflush/webrev is to use the Google > copyright > in test case InflateIn_DeflateOut.java > > Thanks, > Sherman > > From christopher.hegarty at sun.com Thu Oct 22 14:43:48 2009 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Thu, 22 Oct 2009 14:43:48 +0000 Subject: hg: jdk7/tl/jdk: 6894169: Move HttpLogFormatter into a separate package Message-ID: <20091022144410.3FD49415AD@hg.openjdk.java.net> Changeset: 93f8d9494e05 Author: chegar Date: 2009-10-22 15:44 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/93f8d9494e05 6894169: Move HttpLogFormatter into a separate package Reviewed-by: alanb ! make/sun/net/FILES_java.gmk - src/share/classes/sun/net/www/protocol/http/HttpLogFormatter.java + src/share/classes/sun/net/www/protocol/http/logging/HttpLogFormatter.java From Joe.Darcy at Sun.COM Fri Oct 23 01:53:27 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Thu, 22 Oct 2009 18:53:27 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AD7BB7B.2030802@sun.com> References: <4AD50DF4.8010503@sun.com> <4AD5E196.5090600@univ-mlv.fr> <4AD7BB7B.2030802@sun.com> Message-ID: <4AE10C97.8080606@sun.com> Joe Darcy wrote: > R?mi Forax wrote: >> Le 14/10/2009 01:32, Joseph D. Darcy a ?crit : >>> Hello. >>> >>> Following up from threads earlier this year, >>> >>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html >>> >>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html >>> >>> >>> I'm willing and interested to sponsor getting String.join >>> functionality into JDK 7. >>> >>> To address this particular bug, I think there should be new "join" >>> methods on String as opposed to a general "joiner" class. A more >>> general class could be added later. >>> >>> Remi, please point to a current draft of the specification and >>> implementation for your change. >>> >>> Kevin, I'm interested in hearing your comments on the API design. >>> >>> Thanks, >>> >>> -Joe >> >> Hi Joe, >> the webrev is here: >> http://cr.openjdk.java.net/~forax/5015163/webrev.00/ >> There is no specification, i.e no more than the javadoc. >> >> I will dig this evening to find the tests I've used, >> they are on another computer at home which is currently shutdown. >> >> As Kevin said String.join is perhaps better as a static method, >> see first part of: >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001065.html >> > > Yes, I'd also lean toward static methods for this functionality. > > Following up on this, what is the exact revised proposal? In java.lang.String: public static String join(String separator, Iterable objects); public static String join(String separator, Object[] objects); public static String join(String separator, Object first, Object... rest); with analogous methods in StringBuffer and StringBuilder return that type, respectively, instead of String? I assume the motivation for having both the Object[] and (Object, Object...) versions is to avoid unnecessary array creation in the case of one argument since the single method join(String, Object...) could also be used. -Joe From Weijun.Wang at Sun.COM Fri Oct 23 02:15:47 2009 From: Weijun.Wang at Sun.COM (Wang Weijun) Date: Fri, 23 Oct 2009 10:15:47 +0800 Subject: =?utf-8?q?Re:_Sponsoring_getting_5015163_"(str)_String_merge/join_that_is_the_inverse_of_String.split()"_into_JDK_7?= In-Reply-To: <4AE10C97.8080606@sun.com> Message-ID: <7165814255.940760147@sun.com> Anyone will really use the single Object argument version? There's nothing to join here. - Max ------- Original message ------- > From: Joe Darcy > Cc: core-libs-dev at openjdk.java.net > Sent: 23.10.'09, 9:49 > > Joe Darcy wrote: > public static String join(String separator, Iterable objects); > public static String join(String separator, Object[] objects); > public static String join(String separator, Object first, Object... > rest); > > with analogous methods in StringBuffer and StringBuilder return that > type, respectively, instead of String? > > I assume the motivation for having both the Object[] and (Object, > Object...) versions is to avoid unnecessary array creation in the case of > one argument since the single method join(String, Object...) could also be > used. > > -Joe From forax at univ-mlv.fr Fri Oct 23 08:10:35 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 23 Oct 2009 10:10:35 +0200 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE10C97.8080606@sun.com> References: <4AD50DF4.8010503@sun.com> <4AD5E196.5090600@univ-mlv.fr> <4AD7BB7B.2030802@sun.com> <4AE10C97.8080606@sun.com> Message-ID: <4AE164FB.9020309@univ-mlv.fr> Le 23/10/2009 03:53, Joe Darcy a ?crit : > Joe Darcy wrote: >> R?mi Forax wrote: >>> Le 14/10/2009 01:32, Joseph D. Darcy a ?crit : >>>> Hello. >>>> >>>> Following up from threads earlier this year, >>>> >>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001061.html >>>> >>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-March/001191.html >>>> >>>> >>>> I'm willing and interested to sponsor getting String.join >>>> functionality into JDK 7. >>>> >>>> To address this particular bug, I think there should be new "join" >>>> methods on String as opposed to a general "joiner" class. A more >>>> general class could be added later. >>>> >>>> Remi, please point to a current draft of the specification and >>>> implementation for your change. >>>> >>>> Kevin, I'm interested in hearing your comments on the API design. >>>> >>>> Thanks, >>>> >>>> -Joe >>> >>> Hi Joe, >>> the webrev is here: >>> http://cr.openjdk.java.net/~forax/5015163/webrev.00/ >>> There is no specification, i.e no more than the javadoc. >>> >>> I will dig this evening to find the tests I've used, >>> they are on another computer at home which is currently shutdown. >>> >>> As Kevin said String.join is perhaps better as a static method, >>> see first part of: >>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001065.html >>> >> >> Yes, I'd also lean toward static methods for this functionality. >> >> > > Following up on this, what is the exact revised proposal? > > In java.lang.String: > > public static String join(String separator, Iterable objects); > public static String join(String separator, Object[] objects); > public static String join(String separator, Object first, Object... > rest); > > with analogous methods in StringBuffer and StringBuilder return that > type, respectively, instead of String? I don't know. In my opinion, the main problem with join specified using static methods is that split is not currently specified as a static method. Because join is the dual of split, one could find the usage of static methods weird. > > I assume the motivation for having both the Object[] and (Object, > Object...) versions is to avoid unnecessary array creation in the case > of one argument since the single method join(String, Object...) could > also be used. No. The problem is that if there is only one method: public static String join(String separator, Object... objects); then a call to that method with by example an array of String will raise a warning. So this method was split (no pun intended) in two to avoid this warning. > > -Joe R?mi From i30817 at gmail.com Fri Oct 23 15:01:35 2009 From: i30817 at gmail.com (Paulo Levi) Date: Fri, 23 Oct 2009 16:01:35 +0100 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? Message-ID: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> Just a question. From gnu_andrew at member.fsf.org Fri Oct 23 15:12:30 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 23 Oct 2009 16:12:30 +0100 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> Message-ID: <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> 2009/10/23 Paulo Levi : > Just a question. > The only relevant changes I see are: changeset: 1246:8d2efec31d78 user: xlu date: Sun May 24 16:29:57 2009 -0700 summary: 6622432: RFE: Performance improvements to java.math.BigDecimal http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/8d2efec31d78 and changeset: 48:0487ce0465d6 user: martin date: Mon Mar 10 23:23:48 2008 -0700 summary: 6625725: (coll) modCount should not be volatile http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/0487ce0465d6 I presume there are more...? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mr at sun.com Fri Oct 23 15:51:24 2009 From: mr at sun.com (Mark Reinhold) Date: Fri, 23 Oct 2009 08:51:24 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: forax@univ-mlv.fr; Fri, 23 Oct 2009 10:10:35 +0200; <4AE164FB.9020309@univ-mlv.fr> Message-ID: <20091023155124.2046C4F1@eggemoggin.niobe.net> > Date: Fri, 23 Oct 2009 10:10:35 +0200 > From: R?mi Forax > Le 23/10/2009 03:53, Joe Darcy a ?crit : >> Following up on this, what is the exact revised proposal? >> >> In java.lang.String: >> >> public static String join(String separator, Iterable objects); >> public static String join(String separator, Object[] objects); >> public static String join(String separator, Object first, Object... rest); >> >> with analogous methods in StringBuffer and StringBuilder return that type, >> respectively, instead of String? > > I don't know. In my opinion, the main problem with join specified using > static methods is that split is not currently specified as a static > method. Because join is the dual of split, one could find the usage of > static methods weird. I agree. The join methods should be instance methods, not static methods. - Mark From Joe.Kearney at morganstanley.com Fri Oct 23 15:58:41 2009 From: Joe.Kearney at morganstanley.com (Joe Kearney) Date: Fri, 23 Oct 2009 16:58:41 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <20091023155124.2046C4F1@eggemoggin.niobe.net> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> Message-ID: Hi, >From the peanut gallery, it seems to me that there is a genuine reason to leave join as a static method (if we're not going after the google-collections approach of a Joiner class) in that split acts on one existing String, whereas join creates one from others. On which object would you call the join method? The separator? I know this was covered on this list before, but it still strikes me as looking a little wierd. ",".join("a", "b", "c") > versus > Joiner.on(",").join("a", "b", "c") > Thanks, Joe 2009/10/23 Mark Reinhold > > Date: Fri, 23 Oct 2009 10:10:35 +0200 > > From: R?mi Forax > > > Le 23/10/2009 03:53, Joe Darcy a ?crit : > >> Following up on this, what is the exact revised proposal? > >> > >> In java.lang.String: > >> > >> public static String join(String separator, Iterable objects); > >> public static String join(String separator, Object[] objects); > >> public static String join(String separator, Object first, Object... > rest); > >> > >> with analogous methods in StringBuffer and StringBuilder return that > type, > >> respectively, instead of String? > > > > I don't know. In my opinion, the main problem with join specified using > > static methods is that split is not currently specified as a static > > method. Because join is the dual of split, one could find the usage of > > static methods weird. > > I agree. The join methods should be instance methods, not static methods. > > - Mark > -------------- next part -------------- An HTML attachment was scrubbed... URL: From i30817 at gmail.com Fri Oct 23 16:07:15 2009 From: i30817 at gmail.com (Paulo Levi) Date: Fri, 23 Oct 2009 17:07:15 +0100 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> Message-ID: <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> Yes. Different implementations with better performance. http://gcc.gnu.org/ml/java/2009-06/msg00019.html http://www.mail-archive.com/core-libs-dev at openjdk.java.net/msg02147.html From Ulf.Zibis at gmx.de Fri Oct 23 16:10:57 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 23 Oct 2009 18:10:57 +0200 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <20091023155124.2046C4F1@eggemoggin.niobe.net> References: <20091023155124.2046C4F1@eggemoggin.niobe.net> Message-ID: <4AE1D591.9050100@gmx.de> Am 23.10.2009 17:51, Mark Reinhold schrieb: >> Date: Fri, 23 Oct 2009 10:10:35 +0200 >> From: R?mi Forax >> > > >> Le 23/10/2009 03:53, Joe Darcy a ?crit : >> >>> Following up on this, what is the exact revised proposal? >>> >>> In java.lang.String: >>> >>> public static String join(String separator, Iterable objects); >>> public static String join(String separator, Object[] objects); >>> public static String join(String separator, Object first, Object... rest); >>> >>> with analogous methods in StringBuffer and StringBuilder return that type, >>> respectively, instead of String? >>> >> I don't know. In my opinion, the main problem with join specified using >> static methods is that split is not currently specified as a static >> method. Because join is the dual of split, one could find the usage of >> static methods weird. >> > > I agree. The join methods should be instance methods, not static methods. > > Hm, but of what object. The result of the join method should be the object, we are talking about, but it doesn't exist in advance, so only a constructor could serve those needs. We also have the pair: public static String copyValueOf(char[] data) public char[] toCharArray() -Ulf From gnu_andrew at member.fsf.org Fri Oct 23 17:01:08 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 23 Oct 2009 18:01:08 +0100 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> Message-ID: <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> 2009/10/23 Paulo Levi : > Yes. Different implementations with better performance. > > http://gcc.gnu.org/ml/java/2009-06/msg00019.html > 6622432 is the one of the ones I just pointed to i.e. it's in JDK7. If Alan has a further patch and hasn't even submitted it for inclusion, it's obviously not in. > http://www.mail-archive.com/core-libs-dev at openjdk.java.net/msg02147.html I believe Doug still has a big merge of stuff coming up (including concurrency updates): http://openjdk.java.net/projects/jdk7/milestones/ > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From i30817 at gmail.com Fri Oct 23 17:09:13 2009 From: i30817 at gmail.com (Paulo Levi) Date: Fri, 23 Oct 2009 18:09:13 +0100 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> Message-ID: <212322090910231009r6617308ei396130bc742ca930@mail.gmail.com> I don't think it's the same. 6622432 appears to be programming optimizations for the existing BigInteger. Alan Eliasen version is one that uses lower complexity algorithms for the larger numbers. If hashmap is replaced by a more efficient version, that would be probably a massive win in some real world programs. The entries apparently are a hotspot for the gc in some utilizations of hashmap. From Joe.Darcy at Sun.COM Fri Oct 23 17:37:26 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 23 Oct 2009 10:37:26 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> Message-ID: <4AE1E9D6.5050309@sun.com> Yes, to my aesthetics the static call join(" ", "A", "call", "to"); is more sensible looking than " ".join("A", "call", "to"); Especially when a call like " ".join("Foo") will not have " " in the returned String. However, the platform would certainly be improved with any version of String.join compared to not having it. -Joe Joe Kearney wrote: > Hi, > > From the peanut gallery, it seems to me that there is a genuine reason > to leave join as a static method (if we're not going after the > google-collections approach of a Joiner class > ) > in that split acts on one existing String, whereas join creates one > from others. On which object would you call the join method? The > separator? I know this was covered on this list before, but it still > strikes me as looking a little wierd. > > ",".join("a", "b", "c") > > versus > > Joiner.on(",").join("a", "b", "c") > > > Thanks, > Joe > > 2009/10/23 Mark Reinhold > > > > Date: Fri, 23 Oct 2009 10:10:35 +0200 > > From: R?mi Forax > > > > Le 23/10/2009 03:53, Joe Darcy a ?crit : > >> Following up on this, what is the exact revised proposal? > >> > >> In java.lang.String: > >> > >> public static String join(String separator, Iterable > objects); > >> public static String join(String separator, Object[] objects); > >> public static String join(String separator, Object first, > Object... rest); > >> > >> with analogous methods in StringBuffer and StringBuilder return > that type, > >> respectively, instead of String? > > > > I don't know. In my opinion, the main problem with join > specified using > > static methods is that split is not currently specified as a static > > method. Because join is the dual of split, one could find the > usage of > > static methods weird. > > I agree. The join methods should be instance methods, not static > methods. > > - Mark > > From joe.darcy at sun.com Fri Oct 23 18:18:36 2009 From: joe.darcy at sun.com (joe.darcy at sun.com) Date: Fri, 23 Oct 2009 18:18:36 +0000 Subject: hg: jdk7/tl/jdk: 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default Message-ID: <20091023181918.AF6B24177E@hg.openjdk.java.net> Changeset: 80102c165e09 Author: darcy Date: 2009-10-23 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/80102c165e09 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default Reviewed-by: alanb, gafter ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java From Joe.Darcy at Sun.COM Fri Oct 23 18:23:09 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 23 Oct 2009 11:23:09 -0700 Subject: Code review request for 6891113: More methods for java.util.Objects: deepEquals, hash, toString with default In-Reply-To: <4ADFB9D8.70503@sun.com> References: <4ADFA626.6020104@sun.com> <15e8b9d20910211826v6b63dd7bibbb1fd0f3fd32585@mail.gmail.com> <4ADFB9D8.70503@sun.com> Message-ID: <4AE1F48D.7060808@sun.com> Joe Darcy wrote: > Neal Gafter wrote: >> There should be a shortcut in Arrays.deepEquals0 when e1==e2. > > That shortcut is in Objects.deepEquals(Object a, Object b) and > Arrays.deepEquals on lines 3947 and 3948. The nested call in > deepEquals0 is to deepEquals rather than deepEquals0 so the shortcut > is used on all levels. > >> Also, the code will throw an assertion error if e1!=null and e2==null >> (which can occur when called from Arrays.deepEquals). > > Good catch! Yes, my mistake; only e1 != null is guaranteed when being > called from Arrays.deepEquals. > >> The simplest way to fix these is to move the if statements from >> Objects.deepEquals into Arrays.deepEquals0. Alternately, change the >> call of Arrays.deepEquals0 in Arrays.deepEquals to a call to >> Objects.deepEquals. If you do the latter, you might as well move all >> the code of deepEquals0 into the body of Object.deepEquals. > > For correctness, I think removing the assertion that e2 != null in > deepEquals0 is sufficient. > > Thanks, > > -Joe > The code with both asserts failed the Arrays regression tests with when run with system assertions enabled. When the second assertion was removed, the tests passed with system assertions enabled and I've push that version. Thanks, -Joe From mlists at juma.me.uk Fri Oct 23 18:33:36 2009 From: mlists at juma.me.uk (Ismael Juma) Date: Fri, 23 Oct 2009 18:33:36 +0000 (UTC) Subject: Are the faster versions of HashMap and BigInteger going into =?utf-8?b?CWpkazc/?= References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> Message-ID: Hi Paulo, Paulo Levi writes: > http://www.mail-archive.com/core-libs-dev-0nJqbsLSQw0FDOXUYO6UHQ public.gmane.org/msg02147.html >From the email you mention: "I'm not convinced that they are enough better to commit." To me that sounds like it's not going in at all. Ismael From kevinb at google.com Fri Oct 23 19:33:10 2009 From: kevinb at google.com (Kevin Bourrillion) Date: Fri, 23 Oct 2009 12:33:10 -0700 Subject: nonNull and similar methods [was Re: First round of java.util.Objects for code review (bug 6797535)] In-Reply-To: <4AD5AA22.2060208@joda.org> References: <4ACE2AF9.4070104@sun.com> <17b2302a0910081456n3379569dnf031b18a1d949e43@mail.gmail.com> <4ACE9030.3030801@sun.com> <17b2302a0910122338m83d82c4pe2b333a5a6fa9e28@mail.gmail.com> <4AD5AA22.2060208@joda.org> Message-ID: <108fcdeb0910231233o6b42416bu4480e82c0af12c19@mail.gmail.com> On Wed, Oct 14, 2009 at 3:38 AM, Stephen Colebourne wrote: While I agree that the nonNull methods below are useful and should be in the > JDK, I question whether they should be on j.u.Objects. > > I believe that there is a whole category of methods to pre-validate the > arguments of a method, such as Commons Lang Validate, or Google Prevalidate. > [s/Prevalidate/Preconditions/] I'm in complete agreement, of course. In Google, checkNotNull() is certainly the most popular of our Preconditions methods, but checkArgument() is fully half as popular, and checkState() half in turn (meaning it's still used thousands upon thousands of times). We also have similar methods to throw IndexOutOfBoundsExceptions when appropriate, which are not needed nearly as frequently, but are a real relief to use when you do need them (many JDK methods could make use of them, especially since Martin has just finished optimizing the heck out of them for our next RC (1.0-rc4)). checkArgument() and checkState() don't let developers do anything they can't already do with if/throw, but I very strongly believe we have significantly more of our codebase doing proper precondition checking because of this small amount of paving we applied to that path. Just some more input to consider. > > http://commons.apache.org/lang/apidocs/org/apache/commons/lang/Validate.html > > http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Preconditions.html > > -- Kevin Bourrillion @ Google internal: http://go/javalibraries external: guava-libraries.googlecode.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevinb at google.com Fri Oct 23 19:37:36 2009 From: kevinb at google.com (Kevin Bourrillion) Date: Fri, 23 Oct 2009 12:37:36 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> Message-ID: <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> FYI, While I certainly love my "Joiner" baby, and while y'all have blanket permission to make use of any of our code you want, I think it's entirely appropriate for the JDK to just hit the 80% case with a static method directly on String. (And yes, the fact that split() is an instance method is a false parallel.) On Fri, Oct 23, 2009 at 8:58 AM, Joe Kearney wrote: > Hi, > > From the peanut gallery, it seems to me that there is a genuine reason to > leave join as a static method (if we're not going after the google-collections > approach of a Joiner class) > in that split acts on one existing String, whereas join creates one from > others. On which object would you call the join method? The separator? I > know this was covered on this list before, but it still strikes me as > looking a little wierd. > > ",".join("a", "b", "c") >> > versus > >> Joiner.on(",").join("a", "b", "c") >> > > Thanks, > Joe > > 2009/10/23 Mark Reinhold > > > Date: Fri, 23 Oct 2009 10:10:35 +0200 >> > From: R?mi Forax >> >> > Le 23/10/2009 03:53, Joe Darcy a ?crit : >> >> Following up on this, what is the exact revised proposal? >> >> >> >> In java.lang.String: >> >> >> >> public static String join(String separator, Iterable objects); >> >> public static String join(String separator, Object[] objects); >> >> public static String join(String separator, Object first, Object... >> rest); >> >> >> >> with analogous methods in StringBuffer and StringBuilder return that >> type, >> >> respectively, instead of String? >> > >> > I don't know. In my opinion, the main problem with join specified using >> > static methods is that split is not currently specified as a static >> > method. Because join is the dual of split, one could find the usage of >> > static methods weird. >> >> I agree. The join methods should be instance methods, not static methods. >> >> - Mark >> > > -- Kevin Bourrillion @ Google internal: http://go/javalibraries external: guava-libraries.googlecode.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From kelly.ohair at sun.com Fri Oct 23 21:26:34 2009 From: kelly.ohair at sun.com (kelly.ohair at sun.com) Date: Fri, 23 Oct 2009 21:26:34 +0000 Subject: hg: jdk7/tl/jaxp: 2 new changesets Message-ID: <20091023212636.6E5BA417B3@hg.openjdk.java.net> Changeset: 16b2f7fb5513 Author: ohair Date: 2009-10-23 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/16b2f7fb5513 6894441: Add checksum checks, remove use of original sources in jax repositories, fix bundle logic Reviewed-by: andrew ! .hgignore ! build-defs.xml ! build-drop-template.xml ! build.properties ! build.xml ! jaxp.properties ! make/Makefile - src/share/classes/com/sun/java_cup/internal/runtime/Scanner.java - src/share/classes/com/sun/java_cup/internal/runtime/Symbol.java - src/share/classes/com/sun/java_cup/internal/runtime/lr_parser.java - src/share/classes/com/sun/java_cup/internal/runtime/virtual_parse_stack.java - src/share/classes/com/sun/org/apache/bcel/internal/Constants.java - src/share/classes/com/sun/org/apache/bcel/internal/ExceptionConstants.java - src/share/classes/com/sun/org/apache/bcel/internal/Repository.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java - src/share/classes/com/sun/org/apache/bcel/internal/classfile/package.html - src/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConstants.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java - src/share/classes/com/sun/org/apache/bcel/internal/generic/package.html - src/share/classes/com/sun/org/apache/bcel/internal/package.html - src/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java - src/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java - src/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java - src/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoader.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoaderRepository.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassPath.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ClassVector.java - src/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java - src/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java - src/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java - src/share/classes/com/sun/org/apache/bcel/internal/util/JavaWrapper.java - src/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java - src/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java - src/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java - src/share/classes/com/sun/org/apache/bcel/internal/util/package.html - src/share/classes/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java - src/share/classes/com/sun/org/apache/regexp/internal/CharacterIterator.java - src/share/classes/com/sun/org/apache/regexp/internal/RE.java - src/share/classes/com/sun/org/apache/regexp/internal/RECompiler.java - src/share/classes/com/sun/org/apache/regexp/internal/REDebugCompiler.java - src/share/classes/com/sun/org/apache/regexp/internal/REProgram.java - src/share/classes/com/sun/org/apache/regexp/internal/RESyntaxException.java - src/share/classes/com/sun/org/apache/regexp/internal/RETest.java - src/share/classes/com/sun/org/apache/regexp/internal/REUtil.java - src/share/classes/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java - src/share/classes/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java - src/share/classes/com/sun/org/apache/regexp/internal/StringCharacterIterator.java - src/share/classes/com/sun/org/apache/regexp/internal/recompile.java - src/share/classes/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory - src/share/classes/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory - src/share/classes/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager - src/share/classes/com/sun/org/apache/xalan/internal/Version.java - src/share/classes/com/sun/org/apache/xalan/internal/extensions/ExpressionContext.java - src/share/classes/com/sun/org/apache/xalan/internal/extensions/package.html - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltBase.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltCommon.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDatetime.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDynamic.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltMath.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltSets.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/Extensions.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/NodeInfo.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/lib/package.html - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLMessages.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_en.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_es.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_fr.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_it.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ja.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ko.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_sv.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_CN.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_TW.java - src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTInfo.properties - src/share/classes/com/sun/org/apache/xalan/internal/res/package.html - src/share/classes/com/sun/org/apache/xalan/internal/templates/Constants.java - src/share/classes/com/sun/org/apache/xalan/internal/templates/package.html - src/share/classes/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java - src/share/classes/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xslt/Process.java - src/share/classes/com/sun/org/apache/xalan/internal/xslt/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xslt/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xslt/package.html - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/CollatorFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOM.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMCache.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMEnhancedForDTM.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/NodeIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/ProcessorVersion.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/StripFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/Translet.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/TransletException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/Compile.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOpt.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOptsException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/IllegalArgumentException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/MissingOptArgException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsoluteLocationPath.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsolutePathPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AlternativePattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AncestorPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ApplyImports.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ApplyTemplates.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ArgumentList.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Attribute.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeSet.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeValue.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeValueTemplate.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BinOpExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CallTemplate.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CastCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CeilingCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Choose.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Closure.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Comment.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CompilerException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ConcatCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Constants.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ContainsCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Copy.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CopyOf.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CurrentCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DecimalFormatting.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DocumentCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ElementAvailableCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/EqualityExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Expression.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Fallback.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterParentPath.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilteredAbsoluteLocationPath.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FloorCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FlowList.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ForEach.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FormatNumberCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/GenerateIdCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdKeyPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/If.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IllegalCharException.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Instruction.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IntExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Key.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LangCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LastCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralAttribute.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocalNameCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocationPathPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LogicalExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Makefile.inc - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Message.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameBase.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceAlias.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceUriCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NodeTest.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NotCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Number.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NumberCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Otherwise.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Output.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Param.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParameterRef.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentLocationPath.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Pattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/PositionCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Predicate.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstruction.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstructionPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/QName.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RealExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelationalExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativeLocationPath.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativePathPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RoundCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SimpleAttributeValue.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SourceLoader.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StartsWithCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Step.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StepPattern.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Template.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TestSeq.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Text.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TopLevelElement.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TransletOutput.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnaryOpExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnionPathExpr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnparsedEntityUriCall.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnresolvedRef.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnsupportedElement.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UseAttributeSets.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ValueOf.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Variable.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableBase.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRef.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRefBase.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/When.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Whitespace.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/WithParam.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathLexer.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathParser.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XslAttribute.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XslElement.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/sym.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/AttributeSetMethodGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/BooleanType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/CompareGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ca.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_cs.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_de.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_es.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_fr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_it.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ja.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ko.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sk.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_CN.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_TW.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/FilterGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/IntType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MatchGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NamedMethodGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeCounterGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSetType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordFactGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NumberType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RealType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ReferenceType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ResultTreeType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RtMethodGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SlotAllocator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringStack.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TestGenerator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Type.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TypeCheckError.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Util.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/VoidType.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/xpath.cup - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/xpath.lex - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AbsoluteIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AdaptiveResultTreeImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AnyNodeCounter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/BitArray.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CachedNodeListIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ClonedNodeListIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CollatorFactoryBase.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMAdapter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMBuilder.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DupFilterIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/EmptyFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ExtendedSAX.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/Filter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilterIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilteredStepIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ForwardPositionIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MatchingIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultiValuedNodeHeapIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeCounter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeIteratorBase.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecordFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NthIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SimpleResultTreeImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingleNodeCounter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingletonIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortSettings.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortingIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StepIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StripWhitespaceFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/UnionIterator.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/javax.xml.transform.TransformerFactory - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Attributes.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Constants.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ca.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_cs.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_de.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_es.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_fr.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_it.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ja.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ko.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_sk.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_CN.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_TW.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Hashtable.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/MessageHandler.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Node.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Operators.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Parameter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/StringValueHandler.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/OutputBuffer.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/StringOutputBuffer.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/TransletOutputHandlerFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2TO.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/OutputSettings.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXBaseWriter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXEventWriter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXStreamWriter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SmartTransformerFactoryImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXEvent2SAX.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/XSLTCSource.java - src/share/classes/com/sun/org/apache/xalan/internal/xsltc/util/IntegerArray.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/AttrImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/AttrNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/AttributeMap.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/CDATASectionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/CharacterDataImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ChildNode.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/CommentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMErrorImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationSourceImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMInputImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMLocatorImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMNormalizer.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMOutputImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMXSImplementationSourceImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeepNodeListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCDATASectionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCommentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDOMImplementationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentTypeImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementDefinitionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityReferenceImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNode.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNotationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredProcessingInstructionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredTextImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentFragmentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementDefinitionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityReferenceImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/LCount.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeIteratorImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeListCache.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/NotationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIAttrNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDOMImplementationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDocumentImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIElementNSImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ParentNode.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/ProcessingInstructionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/RangeExceptionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/RangeImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/SecuritySupport.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/TextImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/TreeWalkerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/events/EventImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/events/MutationEventImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/dom/org.apache.xerces.dom.DOMImplementationSourceImpl - src/share/classes/com/sun/org/apache/xerces/internal/dom/org.w3c.dom.DOMImplementationSourceList - src/share/classes/com/sun/org/apache/xerces/internal/impl/Constants.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/ExternalSubsetResolver.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/PropertyManager.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/RevalidationHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/Version.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11DTDScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11DocumentScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NamespaceBinder.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNamespaceBinder.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLScanner.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamFilterImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamReaderImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLVersionDetector.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDProcessor.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11NSDTDValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLAttributeDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLContentSpec.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDLoader.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDProcessor.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidatorFilter.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLElementDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLEntityDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNSDTDValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNotationDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLSimpleType.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMAny.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMBinOp.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMLeaf.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMNode.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMStateSet.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMUniOp.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/ContentModelValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/DFAContentModel.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/MixedContentModel.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/SimpleContentModel.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DVFactoryException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeFacetException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeValueException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/SchemaDVFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/SecuritySupport.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ValidatedInfo.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ValidationContext.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSFacets.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSSimpleType.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ENTITYDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDREFDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ListDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NMTOKENDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NOTATIONDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/StringDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDREFDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11NMTOKENDatatypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/Base64.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/ByteListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/HexBin.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AbstractDateTimeDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyAtomicDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnySimpleDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyURIDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/Base64BinaryDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BaseDVFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BooleanDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateTimeDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayTimeDurationDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DecimalDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DoubleDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DurationDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/EntityDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FloatDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FullDVFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/HexBinaryDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDREFDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IntegerDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/ListDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDayDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/PrecisionDecimalDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/QNameDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDVFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDateTimeException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/StringDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TimeDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TypeValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/UnionDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/XSSimpleTypeDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDurationDV.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/io/ASCIIReader.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/io/MalformedByteSequenceException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/io/UCSReader.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/io/UTF8Reader.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/EntityState.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/ValidationManager.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/ValidationState.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/XPathException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/BMPattern.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Match.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Op.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParseException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/REUtil.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegexParser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegularExpression.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/AttributePSVImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/ElementPSVImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaGrammar.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaNamespaceSupport.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaSymbols.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaException.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaLoader.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAnnotationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeGroupDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeUseImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSComplexTypeDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSConstraints.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDeclarationPool.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSElementDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSGrammarBucket.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSGroupDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSImplementationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSLoaderImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSModelGroupImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSModelImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSNotationDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSParticleDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSWildcardDecl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/Field.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/FieldActivator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/IdentityConstraint.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/KeyRef.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/Selector.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/UniqueOrKey.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/ValueStore.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/XPathMatcher.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/CMBuilder.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/CMNodeFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSAllCM.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMBinOp.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMLeaf.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMUniOp.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMValidator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSDFACM.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSEmptyCM.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/AttrImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultDocument.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultElement.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultNode.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultText.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultXMLDocumentHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/ElementImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NamedNodeMapImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NodeImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOM.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOMParser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaParsingConfig.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/TextImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/SchemaContentHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAnnotationInfo.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractParticleTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeGroupTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDComplexTypeTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDElementTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDGroupTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDKeyrefTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDNotationTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDSimpleTypeTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDUniqueOrKeyTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDWildcardTraverser.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDocumentInfo.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/NSItemListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/ShortListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/SimpleLocator.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/StringListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XInt.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XIntPool.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSGrammarPool.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMap4Types.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMapImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSObjectListImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DefaultValidationErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPConstants.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPValidatorComponent.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SchemaValidatorConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/TeeXMLDocumentFilterImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/UnparsedEntityHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DatatypeFactoryImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/javax.xml.datatype.DatatypeFactory - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/javax.xml.parsers.DocumentBuilderFactory - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/javax.xml.parsers.SAXParserFactory - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/AbstractXMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMDocumentHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultAugmentor.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultBuilder.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DraconianErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/EmptyXMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ErrorHandlerAdaptor.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/JAXPValidationMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ReadOnlyGrammarPool.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SimpleXMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SoftReferenceGrammarPool.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/Util.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHelper.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WeakReferenceXMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WrappedSAXException.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XSGrammarPoolContainer.java - src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/javax.xml.validation.SchemaFactory - src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractDOMParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractXMLDocumentParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/BasicParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/CachingParserPool.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParserImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/IntegratedParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/SAXParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/SecuritySupport.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/StandardParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeAwareParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configurable.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11DTDConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11NonValidatingConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLDocumentParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarCachingConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLParser.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/XPointerParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.DTDConfiguration - src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.XML11Configuration - src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.XMLParserConfiguration - src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.xml.sax.driver - src/share/classes/com/sun/org/apache/xerces/internal/util/AttributesProxy.java - src/share/classes/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DOMEntityResolverWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DOMInputSource.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DOMUtil.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DatatypeMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DefaultErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/util/DraconianErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/util/EncodingMap.java - src/share/classes/com/sun/org/apache/xerces/internal/util/EntityResolver2Wrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/EntityResolverWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerProxy.java - src/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/HTTPInputSource.java - src/share/classes/com/sun/org/apache/xerces/internal/util/IntStack.java - src/share/classes/com/sun/org/apache/xerces/internal/util/LocatorProxy.java - src/share/classes/com/sun/org/apache/xerces/internal/util/LocatorWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/MessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/util/NamespaceContextWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/NamespaceSupport.java - src/share/classes/com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SAX2XNI.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SAXInputSource.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SAXMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SecurityManager.java - src/share/classes/com/sun/org/apache/xerces/internal/util/ShadowedSymbolTable.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SymbolHash.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SymbolTable.java - src/share/classes/com/sun/org/apache/xerces/internal/util/SynchronizedSymbolTable.java - src/share/classes/com/sun/org/apache/xerces/internal/util/TeeXMLDocumentFilterImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/TypeInfoImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/URI.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XML11Char.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLAttributesImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLAttributesIteratorImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLCatalogResolver.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLChar.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLDocumentFilterImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLEntityDescriptionImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLErrorCode.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLGrammarPoolImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLInputSourceAdaptor.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLResourceIdentifierImpl.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLStringBuffer.java - src/share/classes/com/sun/org/apache/xerces/internal/util/XMLSymbols.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/MultipleScopeNamespaceSupport.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/SecuritySupport.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XInclude11TextReader.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeNamespaceSupport.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeTextReader.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerElementHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerFramework.java - src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerSchema.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/Augmentations.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/NamespaceContext.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/QName.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLAttributes.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDContentModelHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentFragmentHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLLocator.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLResourceIdentifier.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLString.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/XNIException.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/Grammar.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLDTDDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarLoader.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarPool.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLSchemaDescription.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XSGrammar.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponent.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponentManager.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLConfigurationException.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelFilter.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelSource.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDFilter.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDScanner.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDSource.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentFilter.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentScanner.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentSource.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLEntityResolver.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLInputSource.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParseException.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLPullParserConfiguration.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/ElementSchemePointer.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/ShortHandPointer.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerErrorHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerHandler.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerMessageFormatter.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerPart.java - src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerProcessor.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/AttributePSVI.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/ElementPSVI.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/ItemPSVI.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/LSInputList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/PSVIProvider.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/ShortList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/StringList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAnnotation.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeDeclaration.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeGroupDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeUse.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSComplexTypeDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSConstants.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSElementDeclaration.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSException.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSFacet.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSIDCDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSImplementation.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSLoader.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModel.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroup.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroupDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSMultiValueFacet.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamedMap.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamespaceItem.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamespaceItemList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNotationDeclaration.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSObject.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSObjectList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSParticle.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSSimpleTypeDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSTerm.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSTypeDefinition.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/XSWildcard.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/ByteList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/ObjectList.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDateTime.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDecimal.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDouble.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSFloat.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSQName.java - src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/package.html - src/share/classes/com/sun/org/apache/xml/internal/dtm/Axis.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTM.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisIterator.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisTraverser.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMConfigurationException.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMDOMException.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMException.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMFilter.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMIterator.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMManager.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMWSFilter.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ObjectFactory.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/SecuritySupport.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ChunkedIntArray.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineManager.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineParser.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIterNodeList.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIteratorBase.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMChildIterNodeList.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBase.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseIterators.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseTraversers.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDocumentImpl.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMManagerDefault.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNamedNodeMap.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeIterator.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeList.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeListBase.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeProxy.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMSafeStringPool.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMStringPool.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMTreeWalker.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/EmptyIterator.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExpandedNameTable.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExtendedType.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Filter.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Xerces.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/NodeLocator.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ObjectFactory.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTM.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM2.java - src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2RTFDTM.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ca.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_cs.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_de.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_en.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_es.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_fr.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_it.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ja.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ko.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sk.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sv.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_tr.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_CN.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_HK.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_TW.java - src/share/classes/com/sun/org/apache/xml/internal/res/XMLMessages.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/Catalog.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogException.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogManager.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/Resolver.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/Debug.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/FileURL.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/Namespaces.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/PublicId.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/CatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogParser.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/ExtendedXMLCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/OASISXMLCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogParser.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXParserHandler.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/TR9401CatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/TextCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/XCatalogReader.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/CatalogResolver.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingParser.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLFilter.java - src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/DOMSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/ElementState.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/EncodingInfo.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/Encodings.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLEntities.res - src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/IndentPrinter.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/LineSeparator.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/Method.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/OutputFormat.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/Printer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/SecuritySupport.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactory.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactoryImpl.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/TextSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/XHTMLSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java - src/share/classes/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/CharInfo.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/DOMSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ElemContext.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ElemDesc.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/EncodingInfo.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/Encodings.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/Encodings.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedContentHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedLexicalHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/HTMLEntities.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/Method.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/NamespaceMappings.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ObjectFactory.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertyUtils.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SecuritySupport.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/Serializer.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerBase.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerConstants.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerFactory.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTrace.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTraceWriter.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLSAXHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToSAXHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextSAXHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextStream.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToUnknownStream.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLSAXHandler.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/TransformStateSetter.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/TreeWalker.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/Utils.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/Version.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterChain.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterToASCI.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterToUTF8Buffered.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/XMLEntities.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/XSLOutputAttributes.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/output_html.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/output_text.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/output_unknown.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/output_xml.properties - src/share/classes/com/sun/org/apache/xml/internal/serializer/package.html - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/AttList.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/BoolStack.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/DOM2Helper.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/Messages.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/MsgKey.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ca.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_cs.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_de.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_en.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_es.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_fr.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_it.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ja.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ko.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_sv.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_zh_CN.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_zh_TW.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/StringToIntTable.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SystemIDResolver.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/URI.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/Utils.java - src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/WrappedRuntimeException.java - src/share/classes/com/sun/org/apache/xml/internal/utils/AttList.java - src/share/classes/com/sun/org/apache/xml/internal/utils/BoolStack.java - src/share/classes/com/sun/org/apache/xml/internal/utils/CharKey.java - src/share/classes/com/sun/org/apache/xml/internal/utils/Constants.java - src/share/classes/com/sun/org/apache/xml/internal/utils/DOM2Helper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/DOMBuilder.java - src/share/classes/com/sun/org/apache/xml/internal/utils/DOMHelper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/DOMOrder.java - src/share/classes/com/sun/org/apache/xml/internal/utils/DefaultErrorHandler.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ElemDesc.java - src/share/classes/com/sun/org/apache/xml/internal/utils/FastStringBuffer.java - src/share/classes/com/sun/org/apache/xml/internal/utils/Hashtree2Node.java - src/share/classes/com/sun/org/apache/xml/internal/utils/IntStack.java - src/share/classes/com/sun/org/apache/xml/internal/utils/IntVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ListingErrorHandler.java - src/share/classes/com/sun/org/apache/xml/internal/utils/LocaleUtility.java - src/share/classes/com/sun/org/apache/xml/internal/utils/MutableAttrListImpl.java - src/share/classes/com/sun/org/apache/xml/internal/utils/NSInfo.java - src/share/classes/com/sun/org/apache/xml/internal/utils/NameSpace.java - src/share/classes/com/sun/org/apache/xml/internal/utils/NamespaceSupport2.java - src/share/classes/com/sun/org/apache/xml/internal/utils/NodeConsumer.java - src/share/classes/com/sun/org/apache/xml/internal/utils/NodeVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectFactory.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectPool.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectStack.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolver.java - src/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolverDefault.java - src/share/classes/com/sun/org/apache/xml/internal/utils/QName.java - src/share/classes/com/sun/org/apache/xml/internal/utils/RawCharacterHandler.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SAXSourceLocator.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SecuritySupport.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SerializableLocatorImpl.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StopParseException.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringBufferPool.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringComparable.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringToIntTable.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTable.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTableVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StringVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/StylesheetPIHandler.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedByteVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedIntVector.java - src/share/classes/com/sun/org/apache/xml/internal/utils/SystemIDResolver.java - src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/TreeWalker.java - src/share/classes/com/sun/org/apache/xml/internal/utils/Trie.java - src/share/classes/com/sun/org/apache/xml/internal/utils/URI.java - src/share/classes/com/sun/org/apache/xml/internal/utils/UnImplNode.java - src/share/classes/com/sun/org/apache/xml/internal/utils/WrappedRuntimeException.java - src/share/classes/com/sun/org/apache/xml/internal/utils/WrongParserException.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XML11Char.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLChar.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLCharacterRecognizer.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLString.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringDefault.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactory.java - src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactoryDefault.java - src/share/classes/com/sun/org/apache/xml/internal/utils/package.html - src/share/classes/com/sun/org/apache/xml/internal/utils/res/CharArrayWrapper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/IntArrayWrapper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/LongArrayWrapper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/StringArrayWrapper.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundle.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundleBase.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_de.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_en.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_es.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_fr.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_it.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_A.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HA.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HI.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_I.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ko.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_sv.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_CN.java - src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_TW.java - src/share/classes/com/sun/org/apache/xpath/internal/Arg.java - src/share/classes/com/sun/org/apache/xpath/internal/CachedXPathAPI.java - src/share/classes/com/sun/org/apache/xpath/internal/Expression.java - src/share/classes/com/sun/org/apache/xpath/internal/ExpressionNode.java - src/share/classes/com/sun/org/apache/xpath/internal/ExpressionOwner.java - src/share/classes/com/sun/org/apache/xpath/internal/ExtensionsProvider.java - src/share/classes/com/sun/org/apache/xpath/internal/FoundIndex.java - src/share/classes/com/sun/org/apache/xpath/internal/NodeSet.java - src/share/classes/com/sun/org/apache/xpath/internal/NodeSetDTM.java - src/share/classes/com/sun/org/apache/xpath/internal/SourceTree.java - src/share/classes/com/sun/org/apache/xpath/internal/SourceTreeManager.java - src/share/classes/com/sun/org/apache/xpath/internal/VariableStack.java - src/share/classes/com/sun/org/apache/xpath/internal/WhitespaceStrippingElementMatcher.java - src/share/classes/com/sun/org/apache/xpath/internal/XPath.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathAPI.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathContext.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathException.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathFactory.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathProcessorException.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathVisitable.java - src/share/classes/com/sun/org/apache/xpath/internal/XPathVisitor.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/AttributeIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/AxesWalker.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/BasicTestIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/ChildIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/ChildTestIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/ContextNodeList.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/DescendantIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIteratorSimple.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/HasPositionalPredChecker.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/IteratorPool.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/LocPathIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/MatchPatternIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/NodeSequence.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIteratorForward.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/PathComponent.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/PredicatedNodeTest.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/RTFIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/ReverseAxesWalker.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/SelfIteratorNoPredicate.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/SubContextList.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/UnionChildIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/UnionPathIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIterator.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIteratorSorted.java - src/share/classes/com/sun/org/apache/xpath/internal/axes/package.html - src/share/classes/com/sun/org/apache/xpath/internal/compiler/Compiler.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/FuncLoader.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/FunctionTable.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/Keywords.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/ObjectFactory.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpCodes.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMap.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMapVector.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/PsuedoNames.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/SecuritySupport.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathDumper.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java - src/share/classes/com/sun/org/apache/xpath/internal/compiler/package.html - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathEvaluatorImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathExpressionImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNSResolverImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNamespaceImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathResultImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathStylesheetDOM3Exception.java - src/share/classes/com/sun/org/apache/xpath/internal/domapi/package.html - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncBoolean.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCeiling.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncConcat.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncContains.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCount.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCurrent.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncDoclocation.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtElementAvailable.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunction.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunctionAvailable.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFalse.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFloor.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncGenerateId.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncId.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLang.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLast.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLocalPart.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNamespace.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNormalizeSpace.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNot.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNumber.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncPosition.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncQname.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncRound.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStartsWith.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncString.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStringLength.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstring.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringAfter.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringBefore.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSum.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTranslate.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTrue.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncUnparsedEntityURI.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/Function.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/Function2Args.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/Function3Args.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionDef1Arg.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionMultiArgs.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionOneArg.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/ObjectFactory.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/SecuritySupport.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/SecuritySupport12.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/WrongNumberArgsException.java - src/share/classes/com/sun/org/apache/xpath/internal/functions/package.html - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPExtensionsProvider.java - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPPrefixResolver.java - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPVariableStack.java - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathExpressionImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/DTMXRTreeFrag.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XBoolean.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XBooleanStatic.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XMLStringFactoryImpl.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSet.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSetForDOM.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XNull.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XNumber.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XObject.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XObjectFactory.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFrag.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFragSelectWrapper.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XString.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForChars.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForFSB.java - src/share/classes/com/sun/org/apache/xpath/internal/objects/package.html - src/share/classes/com/sun/org/apache/xpath/internal/operations/And.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Bool.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Div.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Equals.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Gt.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Gte.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Lt.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Lte.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Minus.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Mod.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Mult.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Neg.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/NotEquals.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Number.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Operation.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Or.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Plus.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Quo.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/String.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/UnaryOperation.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/Variable.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/VariableSafeAbsRef.java - src/share/classes/com/sun/org/apache/xpath/internal/operations/package.html - src/share/classes/com/sun/org/apache/xpath/internal/package.html - src/share/classes/com/sun/org/apache/xpath/internal/patterns/ContextMatchStepPattern.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/FunctionPattern.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTest.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTestFilter.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/StepPattern.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/UnionPattern.java - src/share/classes/com/sun/org/apache/xpath/internal/patterns/package.html - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_en.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_es.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_fr.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_it.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ko.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_sv.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_TW.java - src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHMessages.java - src/share/classes/com/sun/org/apache/xpath/internal/res/package.html - src/share/classes/com/sun/xml/internal/stream/Entity.java - src/share/classes/com/sun/xml/internal/stream/EventFilterSupport.java - src/share/classes/com/sun/xml/internal/stream/StaxEntityResolverWrapper.java - src/share/classes/com/sun/xml/internal/stream/StaxErrorReporter.java - src/share/classes/com/sun/xml/internal/stream/StaxXMLInputSource.java - src/share/classes/com/sun/xml/internal/stream/XMLBufferListener.java - src/share/classes/com/sun/xml/internal/stream/XMLEntityReader.java - src/share/classes/com/sun/xml/internal/stream/XMLEntityStorage.java - src/share/classes/com/sun/xml/internal/stream/XMLEventReaderImpl.java - src/share/classes/com/sun/xml/internal/stream/XMLInputFactoryImpl.java - src/share/classes/com/sun/xml/internal/stream/XMLOutputFactoryImpl.java - src/share/classes/com/sun/xml/internal/stream/dtd/DTDGrammarUtil.java - src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java - src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLAttributeDecl.java - src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLElementDecl.java - src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLNotationDecl.java - src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLSimpleType.java - src/share/classes/com/sun/xml/internal/stream/events/AttributeImpl.java - src/share/classes/com/sun/xml/internal/stream/events/CharacterEvent.java - src/share/classes/com/sun/xml/internal/stream/events/CommentEvent.java - src/share/classes/com/sun/xml/internal/stream/events/DTDEvent.java - src/share/classes/com/sun/xml/internal/stream/events/DummyEvent.java - src/share/classes/com/sun/xml/internal/stream/events/EndDocumentEvent.java - src/share/classes/com/sun/xml/internal/stream/events/EndElementEvent.java - src/share/classes/com/sun/xml/internal/stream/events/EntityDeclarationImpl.java - src/share/classes/com/sun/xml/internal/stream/events/EntityReferenceEvent.java - src/share/classes/com/sun/xml/internal/stream/events/LocationImpl.java - src/share/classes/com/sun/xml/internal/stream/events/NamedEvent.java - src/share/classes/com/sun/xml/internal/stream/events/NamespaceImpl.java - src/share/classes/com/sun/xml/internal/stream/events/NotationDeclarationImpl.java - src/share/classes/com/sun/xml/internal/stream/events/ProcessingInstructionEvent.java - src/share/classes/com/sun/xml/internal/stream/events/StartDocumentEvent.java - src/share/classes/com/sun/xml/internal/stream/events/StartElementEvent.java - src/share/classes/com/sun/xml/internal/stream/events/XMLEventAllocatorImpl.java - src/share/classes/com/sun/xml/internal/stream/events/XMLEventFactoryImpl.java - src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLEventFactory - src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLInputFactory - src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLOutputFactory - src/share/classes/com/sun/xml/internal/stream/util/BufferAllocator.java - src/share/classes/com/sun/xml/internal/stream/util/ReadOnlyIterator.java - src/share/classes/com/sun/xml/internal/stream/util/ThreadLocalBufferAllocator.java - src/share/classes/com/sun/xml/internal/stream/writers/UTF8OutputStreamWriter.java - src/share/classes/com/sun/xml/internal/stream/writers/WriterUtility.java - src/share/classes/com/sun/xml/internal/stream/writers/XMLDOMWriterImpl.java - src/share/classes/com/sun/xml/internal/stream/writers/XMLEventWriterImpl.java - src/share/classes/com/sun/xml/internal/stream/writers/XMLOutputSource.java - src/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java - src/share/classes/com/sun/xml/internal/stream/writers/XMLWriter.java - src/share/classes/javax/xml/XMLConstants.java - src/share/classes/javax/xml/datatype/DatatypeConfigurationException.java - src/share/classes/javax/xml/datatype/DatatypeConstants.java - src/share/classes/javax/xml/datatype/DatatypeFactory.java - src/share/classes/javax/xml/datatype/Duration.java - src/share/classes/javax/xml/datatype/FactoryFinder.java - src/share/classes/javax/xml/datatype/SecuritySupport.java - src/share/classes/javax/xml/datatype/XMLGregorianCalendar.java - src/share/classes/javax/xml/datatype/package.html - src/share/classes/javax/xml/namespace/NamespaceContext.java - src/share/classes/javax/xml/namespace/QName.java - src/share/classes/javax/xml/namespace/package.html - src/share/classes/javax/xml/parsers/DocumentBuilder.java - src/share/classes/javax/xml/parsers/DocumentBuilderFactory.java - src/share/classes/javax/xml/parsers/FactoryConfigurationError.java - src/share/classes/javax/xml/parsers/FactoryFinder.java - src/share/classes/javax/xml/parsers/ParserConfigurationException.java - src/share/classes/javax/xml/parsers/SAXParser.java - src/share/classes/javax/xml/parsers/SAXParserFactory.java - src/share/classes/javax/xml/parsers/SecuritySupport.java - src/share/classes/javax/xml/parsers/package.html - src/share/classes/javax/xml/stream/EventFilter.java - src/share/classes/javax/xml/stream/FactoryConfigurationError.java - src/share/classes/javax/xml/stream/FactoryFinder.java - src/share/classes/javax/xml/stream/Location.java - src/share/classes/javax/xml/stream/SecuritySupport.java - src/share/classes/javax/xml/stream/StreamFilter.java - src/share/classes/javax/xml/stream/XMLEventFactory.java - src/share/classes/javax/xml/stream/XMLEventReader.java - src/share/classes/javax/xml/stream/XMLEventWriter.java - src/share/classes/javax/xml/stream/XMLInputFactory.java - src/share/classes/javax/xml/stream/XMLOutputFactory.java - src/share/classes/javax/xml/stream/XMLReporter.java - src/share/classes/javax/xml/stream/XMLResolver.java - src/share/classes/javax/xml/stream/XMLStreamConstants.java - src/share/classes/javax/xml/stream/XMLStreamException.java - src/share/classes/javax/xml/stream/XMLStreamReader.java - src/share/classes/javax/xml/stream/XMLStreamWriter.java - src/share/classes/javax/xml/stream/events/Attribute.java - src/share/classes/javax/xml/stream/events/Characters.java - src/share/classes/javax/xml/stream/events/Comment.java - src/share/classes/javax/xml/stream/events/DTD.java - src/share/classes/javax/xml/stream/events/EndDocument.java - src/share/classes/javax/xml/stream/events/EndElement.java - src/share/classes/javax/xml/stream/events/EntityDeclaration.java - src/share/classes/javax/xml/stream/events/EntityReference.java - src/share/classes/javax/xml/stream/events/Namespace.java - src/share/classes/javax/xml/stream/events/NotationDeclaration.java - src/share/classes/javax/xml/stream/events/ProcessingInstruction.java - src/share/classes/javax/xml/stream/events/StartDocument.java - src/share/classes/javax/xml/stream/events/StartElement.java - src/share/classes/javax/xml/stream/events/XMLEvent.java - src/share/classes/javax/xml/stream/util/EventReaderDelegate.java - src/share/classes/javax/xml/stream/util/StreamReaderDelegate.java - src/share/classes/javax/xml/stream/util/XMLEventAllocator.java - src/share/classes/javax/xml/stream/util/XMLEventConsumer.java - src/share/classes/javax/xml/transform/ErrorListener.java - src/share/classes/javax/xml/transform/FactoryFinder.java - src/share/classes/javax/xml/transform/OutputKeys.java - src/share/classes/javax/xml/transform/Result.java - src/share/classes/javax/xml/transform/SecuritySupport.java - src/share/classes/javax/xml/transform/Source.java - src/share/classes/javax/xml/transform/SourceLocator.java - src/share/classes/javax/xml/transform/Templates.java - src/share/classes/javax/xml/transform/Transformer.java - src/share/classes/javax/xml/transform/TransformerConfigurationException.java - src/share/classes/javax/xml/transform/TransformerException.java - src/share/classes/javax/xml/transform/TransformerFactory.java - src/share/classes/javax/xml/transform/TransformerFactoryConfigurationError.java - src/share/classes/javax/xml/transform/URIResolver.java - src/share/classes/javax/xml/transform/dom/DOMLocator.java - src/share/classes/javax/xml/transform/dom/DOMResult.java - src/share/classes/javax/xml/transform/dom/DOMSource.java - src/share/classes/javax/xml/transform/dom/package.html - src/share/classes/javax/xml/transform/overview.html - src/share/classes/javax/xml/transform/package.html - src/share/classes/javax/xml/transform/sax/SAXResult.java - src/share/classes/javax/xml/transform/sax/SAXSource.java - src/share/classes/javax/xml/transform/sax/SAXTransformerFactory.java - src/share/classes/javax/xml/transform/sax/TemplatesHandler.java - src/share/classes/javax/xml/transform/sax/TransformerHandler.java - src/share/classes/javax/xml/transform/sax/package.html - src/share/classes/javax/xml/transform/stax/StAXResult.java - src/share/classes/javax/xml/transform/stax/StAXSource.java - src/share/classes/javax/xml/transform/stax/package.html - src/share/classes/javax/xml/transform/stream/StreamResult.java - src/share/classes/javax/xml/transform/stream/StreamSource.java - src/share/classes/javax/xml/transform/stream/package.html - src/share/classes/javax/xml/validation/Schema.java - src/share/classes/javax/xml/validation/SchemaFactory.java - src/share/classes/javax/xml/validation/SchemaFactoryFinder.java - src/share/classes/javax/xml/validation/SchemaFactoryLoader.java - src/share/classes/javax/xml/validation/SecuritySupport.java - src/share/classes/javax/xml/validation/TypeInfoProvider.java - src/share/classes/javax/xml/validation/Validator.java - src/share/classes/javax/xml/validation/ValidatorHandler.java - src/share/classes/javax/xml/validation/package.html - src/share/classes/javax/xml/xpath/SecuritySupport.java - src/share/classes/javax/xml/xpath/XPath.java - src/share/classes/javax/xml/xpath/XPathConstants.java - src/share/classes/javax/xml/xpath/XPathException.java - src/share/classes/javax/xml/xpath/XPathExpression.java - src/share/classes/javax/xml/xpath/XPathExpressionException.java - src/share/classes/javax/xml/xpath/XPathFactory.java - src/share/classes/javax/xml/xpath/XPathFactoryConfigurationException.java - src/share/classes/javax/xml/xpath/XPathFactoryFinder.java - src/share/classes/javax/xml/xpath/XPathFunction.java - src/share/classes/javax/xml/xpath/XPathFunctionException.java - src/share/classes/javax/xml/xpath/XPathFunctionResolver.java - src/share/classes/javax/xml/xpath/XPathVariableResolver.java - src/share/classes/javax/xml/xpath/package.html - src/share/classes/org/w3c/dom/Attr.java - src/share/classes/org/w3c/dom/CDATASection.java - src/share/classes/org/w3c/dom/CharacterData.java - src/share/classes/org/w3c/dom/Comment.java - src/share/classes/org/w3c/dom/DOMConfiguration.java - src/share/classes/org/w3c/dom/DOMError.java - src/share/classes/org/w3c/dom/DOMErrorHandler.java - src/share/classes/org/w3c/dom/DOMException.java - src/share/classes/org/w3c/dom/DOMImplementation.java - src/share/classes/org/w3c/dom/DOMImplementationList.java - src/share/classes/org/w3c/dom/DOMImplementationSource.java - src/share/classes/org/w3c/dom/DOMLocator.java - src/share/classes/org/w3c/dom/DOMStringList.java - src/share/classes/org/w3c/dom/Document.java - src/share/classes/org/w3c/dom/DocumentFragment.java - src/share/classes/org/w3c/dom/DocumentType.java - src/share/classes/org/w3c/dom/Element.java - src/share/classes/org/w3c/dom/Entity.java - src/share/classes/org/w3c/dom/EntityReference.java - src/share/classes/org/w3c/dom/NameList.java - src/share/classes/org/w3c/dom/NamedNodeMap.java - src/share/classes/org/w3c/dom/Node.java - src/share/classes/org/w3c/dom/NodeList.java - src/share/classes/org/w3c/dom/Notation.java - src/share/classes/org/w3c/dom/ProcessingInstruction.java - src/share/classes/org/w3c/dom/Text.java - src/share/classes/org/w3c/dom/TypeInfo.java - src/share/classes/org/w3c/dom/UserDataHandler.java - src/share/classes/org/w3c/dom/bootstrap/DOMImplementationRegistry.java - src/share/classes/org/w3c/dom/css/CSS2Properties.java - src/share/classes/org/w3c/dom/css/CSSCharsetRule.java - src/share/classes/org/w3c/dom/css/CSSFontFaceRule.java - src/share/classes/org/w3c/dom/css/CSSImportRule.java - src/share/classes/org/w3c/dom/css/CSSMediaRule.java - src/share/classes/org/w3c/dom/css/CSSPageRule.java - src/share/classes/org/w3c/dom/css/CSSPrimitiveValue.java - src/share/classes/org/w3c/dom/css/CSSRule.java - src/share/classes/org/w3c/dom/css/CSSRuleList.java - src/share/classes/org/w3c/dom/css/CSSStyleDeclaration.java - src/share/classes/org/w3c/dom/css/CSSStyleRule.java - src/share/classes/org/w3c/dom/css/CSSStyleSheet.java - src/share/classes/org/w3c/dom/css/CSSUnknownRule.java - src/share/classes/org/w3c/dom/css/CSSValue.java - src/share/classes/org/w3c/dom/css/CSSValueList.java - src/share/classes/org/w3c/dom/css/Counter.java - src/share/classes/org/w3c/dom/css/DOMImplementationCSS.java - src/share/classes/org/w3c/dom/css/DocumentCSS.java - src/share/classes/org/w3c/dom/css/ElementCSSInlineStyle.java - src/share/classes/org/w3c/dom/css/RGBColor.java - src/share/classes/org/w3c/dom/css/Rect.java - src/share/classes/org/w3c/dom/css/ViewCSS.java - src/share/classes/org/w3c/dom/events/DocumentEvent.java - src/share/classes/org/w3c/dom/events/Event.java - src/share/classes/org/w3c/dom/events/EventException.java - src/share/classes/org/w3c/dom/events/EventListener.java - src/share/classes/org/w3c/dom/events/EventTarget.java - src/share/classes/org/w3c/dom/events/MouseEvent.java - src/share/classes/org/w3c/dom/events/MutationEvent.java - src/share/classes/org/w3c/dom/events/UIEvent.java - src/share/classes/org/w3c/dom/html/HTMLAnchorElement.java - src/share/classes/org/w3c/dom/html/HTMLAppletElement.java - src/share/classes/org/w3c/dom/html/HTMLAreaElement.java - src/share/classes/org/w3c/dom/html/HTMLBRElement.java - src/share/classes/org/w3c/dom/html/HTMLBaseElement.java - src/share/classes/org/w3c/dom/html/HTMLBaseFontElement.java - src/share/classes/org/w3c/dom/html/HTMLBodyElement.java - src/share/classes/org/w3c/dom/html/HTMLButtonElement.java - src/share/classes/org/w3c/dom/html/HTMLCollection.java - src/share/classes/org/w3c/dom/html/HTMLDListElement.java - src/share/classes/org/w3c/dom/html/HTMLDOMImplementation.java - src/share/classes/org/w3c/dom/html/HTMLDirectoryElement.java - src/share/classes/org/w3c/dom/html/HTMLDivElement.java - src/share/classes/org/w3c/dom/html/HTMLDocument.java - src/share/classes/org/w3c/dom/html/HTMLElement.java - src/share/classes/org/w3c/dom/html/HTMLFieldSetElement.java - src/share/classes/org/w3c/dom/html/HTMLFontElement.java - src/share/classes/org/w3c/dom/html/HTMLFormElement.java - src/share/classes/org/w3c/dom/html/HTMLFrameElement.java - src/share/classes/org/w3c/dom/html/HTMLFrameSetElement.java - src/share/classes/org/w3c/dom/html/HTMLHRElement.java - src/share/classes/org/w3c/dom/html/HTMLHeadElement.java - src/share/classes/org/w3c/dom/html/HTMLHeadingElement.java - src/share/classes/org/w3c/dom/html/HTMLHtmlElement.java - src/share/classes/org/w3c/dom/html/HTMLIFrameElement.java - src/share/classes/org/w3c/dom/html/HTMLImageElement.java - src/share/classes/org/w3c/dom/html/HTMLInputElement.java - src/share/classes/org/w3c/dom/html/HTMLIsIndexElement.java - src/share/classes/org/w3c/dom/html/HTMLLIElement.java - src/share/classes/org/w3c/dom/html/HTMLLabelElement.java - src/share/classes/org/w3c/dom/html/HTMLLegendElement.java - src/share/classes/org/w3c/dom/html/HTMLLinkElement.java - src/share/classes/org/w3c/dom/html/HTMLMapElement.java - src/share/classes/org/w3c/dom/html/HTMLMenuElement.java - src/share/classes/org/w3c/dom/html/HTMLMetaElement.java - src/share/classes/org/w3c/dom/html/HTMLModElement.java - src/share/classes/org/w3c/dom/html/HTMLOListElement.java - src/share/classes/org/w3c/dom/html/HTMLObjectElement.java - src/share/classes/org/w3c/dom/html/HTMLOptGroupElement.java - src/share/classes/org/w3c/dom/html/HTMLOptionElement.java - src/share/classes/org/w3c/dom/html/HTMLParagraphElement.java - src/share/classes/org/w3c/dom/html/HTMLParamElement.java - src/share/classes/org/w3c/dom/html/HTMLPreElement.java - src/share/classes/org/w3c/dom/html/HTMLQuoteElement.java - src/share/classes/org/w3c/dom/html/HTMLScriptElement.java - src/share/classes/org/w3c/dom/html/HTMLSelectElement.java - src/share/classes/org/w3c/dom/html/HTMLStyleElement.java - src/share/classes/org/w3c/dom/html/HTMLTableCaptionElement.java - src/share/classes/org/w3c/dom/html/HTMLTableCellElement.java - src/share/classes/org/w3c/dom/html/HTMLTableColElement.java - src/share/classes/org/w3c/dom/html/HTMLTableElement.java - src/share/classes/org/w3c/dom/html/HTMLTableRowElement.java - src/share/classes/org/w3c/dom/html/HTMLTableSectionElement.java - src/share/classes/org/w3c/dom/html/HTMLTextAreaElement.java - src/share/classes/org/w3c/dom/html/HTMLTitleElement.java - src/share/classes/org/w3c/dom/html/HTMLUListElement.java - src/share/classes/org/w3c/dom/ls/DOMImplementationLS.java - src/share/classes/org/w3c/dom/ls/LSException.java - src/share/classes/org/w3c/dom/ls/LSInput.java - src/share/classes/org/w3c/dom/ls/LSLoadEvent.java - src/share/classes/org/w3c/dom/ls/LSOutput.java - src/share/classes/org/w3c/dom/ls/LSParser.java - src/share/classes/org/w3c/dom/ls/LSParserFilter.java - src/share/classes/org/w3c/dom/ls/LSProgressEvent.java - src/share/classes/org/w3c/dom/ls/LSResourceResolver.java - src/share/classes/org/w3c/dom/ls/LSSerializer.java - src/share/classes/org/w3c/dom/ls/LSSerializerFilter.java - src/share/classes/org/w3c/dom/package.html - src/share/classes/org/w3c/dom/ranges/DocumentRange.java - src/share/classes/org/w3c/dom/ranges/Range.java - src/share/classes/org/w3c/dom/ranges/RangeException.java - src/share/classes/org/w3c/dom/ranges/package.html - src/share/classes/org/w3c/dom/stylesheets/DocumentStyle.java - src/share/classes/org/w3c/dom/stylesheets/LinkStyle.java - src/share/classes/org/w3c/dom/stylesheets/MediaList.java - src/share/classes/org/w3c/dom/stylesheets/StyleSheet.java - src/share/classes/org/w3c/dom/stylesheets/StyleSheetList.java - src/share/classes/org/w3c/dom/traversal/DocumentTraversal.java - src/share/classes/org/w3c/dom/traversal/NodeFilter.java - src/share/classes/org/w3c/dom/traversal/NodeIterator.java - src/share/classes/org/w3c/dom/traversal/TreeWalker.java - src/share/classes/org/w3c/dom/views/AbstractView.java - src/share/classes/org/w3c/dom/views/DocumentView.java - src/share/classes/org/w3c/dom/xpath/COPYRIGHT.html - src/share/classes/org/w3c/dom/xpath/XPathEvaluator.java - src/share/classes/org/w3c/dom/xpath/XPathException.java - src/share/classes/org/w3c/dom/xpath/XPathExpression.java - src/share/classes/org/w3c/dom/xpath/XPathNSResolver.java - src/share/classes/org/w3c/dom/xpath/XPathNamespace.java - src/share/classes/org/w3c/dom/xpath/XPathResult.java - src/share/classes/org/xml/sax/AttributeList.java - src/share/classes/org/xml/sax/Attributes.java - src/share/classes/org/xml/sax/COPYING - src/share/classes/org/xml/sax/COPYING.txt - src/share/classes/org/xml/sax/ContentHandler.java - src/share/classes/org/xml/sax/DTDHandler.java - src/share/classes/org/xml/sax/DocumentHandler.java - src/share/classes/org/xml/sax/EntityResolver.java - src/share/classes/org/xml/sax/ErrorHandler.java - src/share/classes/org/xml/sax/HandlerBase.java - src/share/classes/org/xml/sax/InputSource.java - src/share/classes/org/xml/sax/Locator.java - src/share/classes/org/xml/sax/Parser.java - src/share/classes/org/xml/sax/SAXException.java - src/share/classes/org/xml/sax/SAXNotRecognizedException.java - src/share/classes/org/xml/sax/SAXNotSupportedException.java - src/share/classes/org/xml/sax/SAXParseException.java - src/share/classes/org/xml/sax/XMLFilter.java - src/share/classes/org/xml/sax/XMLReader.java - src/share/classes/org/xml/sax/ext/Attributes2.java - src/share/classes/org/xml/sax/ext/Attributes2Impl.java - src/share/classes/org/xml/sax/ext/DeclHandler.java - src/share/classes/org/xml/sax/ext/DefaultHandler2.java - src/share/classes/org/xml/sax/ext/EntityResolver2.java - src/share/classes/org/xml/sax/ext/LexicalHandler.java - src/share/classes/org/xml/sax/ext/Locator2.java - src/share/classes/org/xml/sax/ext/Locator2Impl.java - src/share/classes/org/xml/sax/ext/package.html - src/share/classes/org/xml/sax/helpers/AttributeListImpl.java - src/share/classes/org/xml/sax/helpers/AttributesImpl.java - src/share/classes/org/xml/sax/helpers/DefaultHandler.java - src/share/classes/org/xml/sax/helpers/LocatorImpl.java - src/share/classes/org/xml/sax/helpers/NamespaceSupport.java - src/share/classes/org/xml/sax/helpers/NewInstance.java - src/share/classes/org/xml/sax/helpers/ParserAdapter.java - src/share/classes/org/xml/sax/helpers/ParserFactory.java - src/share/classes/org/xml/sax/helpers/XMLFilterImpl.java - src/share/classes/org/xml/sax/helpers/XMLReaderAdapter.java - src/share/classes/org/xml/sax/helpers/XMLReaderFactory.java - src/share/classes/org/xml/sax/helpers/package.html - src/share/classes/org/xml/sax/package.html Changeset: 2f83acf616a7 Author: ohair Date: 2009-10-23 13:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/2f83acf616a7 6894833: Upgrade jaxp drop source bundle Reviewed-by: tbell ! jaxp.properties From kelly.ohair at sun.com Fri Oct 23 21:26:54 2009 From: kelly.ohair at sun.com (kelly.ohair at sun.com) Date: Fri, 23 Oct 2009 21:26:54 +0000 Subject: hg: jdk7/tl/jaxws: 6894441: Add checksum checks, remove use of original sources in jax repositories, fix bundle logic Message-ID: <20091023212656.0EC40417B4@hg.openjdk.java.net> Changeset: cc35f0e129d2 Author: ohair Date: 2009-10-23 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/cc35f0e129d2 6894441: Add checksum checks, remove use of original sources in jax repositories, fix bundle logic Reviewed-by: andrew ! .hgignore ! build-defs.xml ! build-drop-template.xml ! build.properties ! build.xml ! jaxws.properties ! make/Makefile - src/share/classes/META-INF/mailcap.default - src/share/classes/META-INF/mimetypes.default - src/share/classes/com/sun/activation/registries/LogSupport.java - src/share/classes/com/sun/activation/registries/MailcapFile.java - src/share/classes/com/sun/activation/registries/MailcapParseException.java - src/share/classes/com/sun/activation/registries/MailcapTokenizer.java - src/share/classes/com/sun/activation/registries/MimeTypeEntry.java - src/share/classes/com/sun/activation/registries/MimeTypeFile.java - src/share/classes/com/sun/codemodel/internal/ClassType.java - src/share/classes/com/sun/codemodel/internal/CodeWriter.java - src/share/classes/com/sun/codemodel/internal/JAnnotatable.java - src/share/classes/com/sun/codemodel/internal/JAnnotationArrayMember.java - src/share/classes/com/sun/codemodel/internal/JAnnotationStringValue.java - src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java - src/share/classes/com/sun/codemodel/internal/JAnnotationValue.java - src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java - src/share/classes/com/sun/codemodel/internal/JAnonymousClass.java - src/share/classes/com/sun/codemodel/internal/JArray.java - src/share/classes/com/sun/codemodel/internal/JArrayClass.java - src/share/classes/com/sun/codemodel/internal/JArrayCompRef.java - src/share/classes/com/sun/codemodel/internal/JAssignment.java - src/share/classes/com/sun/codemodel/internal/JAssignmentTarget.java - src/share/classes/com/sun/codemodel/internal/JAtom.java - src/share/classes/com/sun/codemodel/internal/JBlock.java - src/share/classes/com/sun/codemodel/internal/JBreak.java - src/share/classes/com/sun/codemodel/internal/JCase.java - src/share/classes/com/sun/codemodel/internal/JCast.java - src/share/classes/com/sun/codemodel/internal/JCatchBlock.java - src/share/classes/com/sun/codemodel/internal/JClass.java - src/share/classes/com/sun/codemodel/internal/JClassAlreadyExistsException.java - src/share/classes/com/sun/codemodel/internal/JClassContainer.java - src/share/classes/com/sun/codemodel/internal/JCodeModel.java - src/share/classes/com/sun/codemodel/internal/JCommentPart.java - src/share/classes/com/sun/codemodel/internal/JConditional.java - src/share/classes/com/sun/codemodel/internal/JContinue.java - src/share/classes/com/sun/codemodel/internal/JDeclaration.java - src/share/classes/com/sun/codemodel/internal/JDefinedClass.java - src/share/classes/com/sun/codemodel/internal/JDirectClass.java - src/share/classes/com/sun/codemodel/internal/JDoLoop.java - src/share/classes/com/sun/codemodel/internal/JDocComment.java - src/share/classes/com/sun/codemodel/internal/JEnumConstant.java - src/share/classes/com/sun/codemodel/internal/JExpr.java - src/share/classes/com/sun/codemodel/internal/JExpression.java - src/share/classes/com/sun/codemodel/internal/JExpressionImpl.java - src/share/classes/com/sun/codemodel/internal/JFieldRef.java - src/share/classes/com/sun/codemodel/internal/JFieldVar.java - src/share/classes/com/sun/codemodel/internal/JForEach.java - src/share/classes/com/sun/codemodel/internal/JForLoop.java - src/share/classes/com/sun/codemodel/internal/JFormatter.java - src/share/classes/com/sun/codemodel/internal/JGenerable.java - src/share/classes/com/sun/codemodel/internal/JGenerifiable.java - src/share/classes/com/sun/codemodel/internal/JGenerifiableImpl.java - src/share/classes/com/sun/codemodel/internal/JInvocation.java - src/share/classes/com/sun/codemodel/internal/JJavaName.java - src/share/classes/com/sun/codemodel/internal/JLabel.java - src/share/classes/com/sun/codemodel/internal/JMethod.java - src/share/classes/com/sun/codemodel/internal/JMod.java - src/share/classes/com/sun/codemodel/internal/JMods.java - src/share/classes/com/sun/codemodel/internal/JNarrowedClass.java - src/share/classes/com/sun/codemodel/internal/JNullType.java - src/share/classes/com/sun/codemodel/internal/JOp.java - src/share/classes/com/sun/codemodel/internal/JPackage.java - src/share/classes/com/sun/codemodel/internal/JPrimitiveType.java - src/share/classes/com/sun/codemodel/internal/JResourceFile.java - src/share/classes/com/sun/codemodel/internal/JReturn.java - src/share/classes/com/sun/codemodel/internal/JStatement.java - src/share/classes/com/sun/codemodel/internal/JStringLiteral.java - src/share/classes/com/sun/codemodel/internal/JSwitch.java - src/share/classes/com/sun/codemodel/internal/JThrow.java - src/share/classes/com/sun/codemodel/internal/JTryBlock.java - src/share/classes/com/sun/codemodel/internal/JType.java - src/share/classes/com/sun/codemodel/internal/JTypeVar.java - src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java - src/share/classes/com/sun/codemodel/internal/JVar.java - src/share/classes/com/sun/codemodel/internal/JWhileLoop.java - src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java - src/share/classes/com/sun/codemodel/internal/fmt/JBinaryFile.java - src/share/classes/com/sun/codemodel/internal/fmt/JPropertyFile.java - src/share/classes/com/sun/codemodel/internal/fmt/JSerializedObject.java - src/share/classes/com/sun/codemodel/internal/fmt/JStaticFile.java - src/share/classes/com/sun/codemodel/internal/fmt/JStaticJavaFile.java - src/share/classes/com/sun/codemodel/internal/fmt/JTextFile.java - src/share/classes/com/sun/codemodel/internal/package-info.java - src/share/classes/com/sun/codemodel/internal/util/ClassNameComparator.java - src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java - src/share/classes/com/sun/codemodel/internal/util/JavadocEscapeWriter.java - src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java - src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java - src/share/classes/com/sun/codemodel/internal/util/Surrogate.java - src/share/classes/com/sun/codemodel/internal/util/UnicodeEscapeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/FileCodeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/ProgressCodeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/PrologCodeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/SingleStreamCodeWriter.java - src/share/classes/com/sun/codemodel/internal/writer/ZipCodeWriter.java - src/share/classes/com/sun/istack/internal/Builder.java - src/share/classes/com/sun/istack/internal/ByteArrayDataSource.java - src/share/classes/com/sun/istack/internal/FinalArrayList.java - src/share/classes/com/sun/istack/internal/FragmentContentHandler.java - src/share/classes/com/sun/istack/internal/Interned.java - src/share/classes/com/sun/istack/internal/NotNull.java - src/share/classes/com/sun/istack/internal/Nullable.java - src/share/classes/com/sun/istack/internal/Pool.java - src/share/classes/com/sun/istack/internal/SAXException2.java - src/share/classes/com/sun/istack/internal/SAXParseException2.java - src/share/classes/com/sun/istack/internal/XMLStreamException2.java - src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java - src/share/classes/com/sun/istack/internal/localization/Localizable.java - src/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java - src/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java - src/share/classes/com/sun/istack/internal/localization/Localizer.java - src/share/classes/com/sun/istack/internal/package-info.java - src/share/classes/com/sun/istack/internal/tools/APTTypeVisitor.java - src/share/classes/com/sun/istack/internal/tools/MaskingClassLoader.java - src/share/classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java - src/share/classes/com/sun/istack/internal/tools/package-info.java - src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java - src/share/classes/com/sun/istack/internal/ws/package-info.java - src/share/classes/com/sun/tools/etc/META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory - src/share/classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin - src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java - src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties - src/share/classes/com/sun/tools/internal/jxc/Messages.java - src/share/classes/com/sun/tools/internal/jxc/NGCCRuntimeEx.java - src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java - src/share/classes/com/sun/tools/internal/jxc/SchemaGeneratorFacade.java - src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java - src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java - src/share/classes/com/sun/tools/internal/jxc/apt/Const.java - src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java - src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java - src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties - src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java - src/share/classes/com/sun/tools/internal/jxc/apt/Options.java - src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java - src/share/classes/com/sun/tools/internal/jxc/apt/package.html - src/share/classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java - src/share/classes/com/sun/tools/internal/jxc/gen/config/config.rng - src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd - src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java - src/share/classes/com/sun/tools/internal/ws/Invoker.java - src/share/classes/com/sun/tools/internal/ws/ToolVersion.java - src/share/classes/com/sun/tools/internal/ws/WsGen.java - src/share/classes/com/sun/tools/internal/ws/WsImport.java - src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java - src/share/classes/com/sun/tools/internal/ws/api/WsgenExtension.java - src/share/classes/com/sun/tools/internal/ws/api/WsgenProtocol.java - src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java - src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java - src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java - src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java - src/share/classes/com/sun/tools/internal/ws/package-info.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/CustomExceptionGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorException.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/JavaGeneratorExtensionFacade.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/Names.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java - src/share/classes/com/sun/tools/internal/ws/processor/model/AbstractType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperation.java - src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperationType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Block.java - src/share/classes/com/sun/tools/internal/ws/processor/model/ExtendedModelVisitor.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Fault.java - src/share/classes/com/sun/tools/internal/ws/processor/model/HeaderFault.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Message.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Model.java - src/share/classes/com/sun/tools/internal/ws/processor/model/ModelException.java - src/share/classes/com/sun/tools/internal/ws/processor/model/ModelObject.java - src/share/classes/com/sun/tools/internal/ws/processor/model/ModelProperties.java - src/share/classes/com/sun/tools/internal/ws/processor/model/ModelVisitor.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Operation.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Parameter.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Request.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Response.java - src/share/classes/com/sun/tools/internal/ws/processor/model/Service.java - src/share/classes/com/sun/tools/internal/ws/processor/model/exporter/ExternalObject.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaArrayType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaException.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaInterface.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaParameter.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaSimpleType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureMember.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBElementMember.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBMapping.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBModel.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBProperty.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBStructuredType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeAndAnnotation.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeVisitor.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitMember.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitStructure.java - src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/Util.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/JavaSimpleTypeCreator.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/Modeler.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerException.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/AnnotationProcessorContext.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/FaultInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MakeSafeTypeVisitor.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MemberInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/ModelBuilder.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeModeler.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMoniker.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMonikerFactory.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WrapperInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/AccessorElement.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ClassNameAllocatorImpl.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/JAXBModelBuilder.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/MimeHelper.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ModelerUtils.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java - src/share/classes/com/sun/tools/internal/ws/processor/util/DirectoryUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/util/IndentingWriter.java - src/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java - src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties - src/share/classes/com/sun/tools/internal/ws/resources/generator.properties - src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties - src/share/classes/com/sun/tools/internal/ws/resources/model.properties - src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties - src/share/classes/com/sun/tools/internal/ws/resources/processor.properties - src/share/classes/com/sun/tools/internal/ws/resources/util.properties - src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties - src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties - src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties - src/share/classes/com/sun/tools/internal/ws/spi/WSToolsObjectFactory.java - src/share/classes/com/sun/tools/internal/ws/spi/package-info.java - src/share/classes/com/sun/tools/internal/ws/util/ClassNameInfo.java - src/share/classes/com/sun/tools/internal/ws/util/ForkEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java - src/share/classes/com/sun/tools/internal/ws/util/WSToolsObjectFactoryImpl.java - src/share/classes/com/sun/tools/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/tools/internal/ws/version.properties - src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/AuthInfo.java - src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/DefaultAuthTester.java - src/share/classes/com/sun/tools/internal/ws/wscompile/DefaultAuthenticator.java - src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java - src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java - src/share/classes/com/sun/tools/internal/ws/wscompile/FilerCodeWriter.java - src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java - src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WSCodeWriter.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java - src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Binding.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingFault.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingInput.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOperation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOutput.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Definitions.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Documentation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Fault.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Import.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Input.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Kinds.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/MessagePart.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Operation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/OperationStyle.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Output.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Port.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/PortType.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Service.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/Types.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocument.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitor.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitorBase.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPAddress.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPBinding.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPOperation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlEncoded.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlReplacement.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/CustomName.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Exception.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBindingsConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Parameter.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEContent.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEMultipartRelated.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEPart.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEXml.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaKinds.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Binding.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Constants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPAddress.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBinding.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBody.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPFault.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeader.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeaderFault.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPOperation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPStyle.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPUse.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Defining.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/DuplicateEntityException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Elemental.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Entity.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityAction.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceAction.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceValidator.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensibilityHelper.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionImpl.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitor.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitorBase.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExternalEntityReference.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GlobalEntity.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GloballyKnown.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Identifiable.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Kind.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/NoSuchEntityException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserListener.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/QNameAction.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/TWSDLParserContextImpl.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WSDLLocation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Constants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/HTTPExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/JAXWSBindingExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MIMEExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAP12ExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPEntityReferenceValidator.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Util.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java - src/share/classes/com/sun/tools/internal/xjc/AbortException.java - src/share/classes/com/sun/tools/internal/xjc/BadCommandLineException.java - src/share/classes/com/sun/tools/internal/xjc/ClassLoaderBuilder.java - src/share/classes/com/sun/tools/internal/xjc/ConsoleErrorReporter.java - src/share/classes/com/sun/tools/internal/xjc/Driver.java - src/share/classes/com/sun/tools/internal/xjc/ErrorReceiver.java - src/share/classes/com/sun/tools/internal/xjc/Language.java - src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/Messages.java - src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java - src/share/classes/com/sun/tools/internal/xjc/Options.java - src/share/classes/com/sun/tools/internal/xjc/Plugin.java - src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java - src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java - src/share/classes/com/sun/tools/internal/xjc/XJCFacade.java - src/share/classes/com/sun/tools/internal/xjc/XJCListener.java - src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java - src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java - src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java - src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java - src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java - src/share/classes/com/sun/tools/internal/xjc/addon/locator/SourceLocationAddOn.java - src/share/classes/com/sun/tools/internal/xjc/addon/sync/SynchronizedMethodAddOn.java - src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java - src/share/classes/com/sun/tools/internal/xjc/api/ErrorListener.java - src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java - src/share/classes/com/sun/tools/internal/xjc/api/JAXBModel.java - src/share/classes/com/sun/tools/internal/xjc/api/JavaCompiler.java - src/share/classes/com/sun/tools/internal/xjc/api/Mapping.java - src/share/classes/com/sun/tools/internal/xjc/api/Property.java - src/share/classes/com/sun/tools/internal/xjc/api/Reference.java - src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java - src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java - src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java - src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java - src/share/classes/com/sun/tools/internal/xjc/api/XJC.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/JAXBModelImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/package.html - src/share/classes/com/sun/tools/internal/xjc/api/package.html - src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java - src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java - src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.java - src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties - src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java - src/share/classes/com/sun/tools/internal/xjc/api/util/package.html - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/OverrideAnnotationOfWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlIsSetWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlLocationWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/generator/bean/Messages.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGenerator.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ContentListField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DummyListField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/GenericFieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/NoExtendedContentField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListField.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java - src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/package.html - src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java - src/share/classes/com/sun/tools/internal/xjc/generator/util/BlockReference.java - src/share/classes/com/sun/tools/internal/xjc/generator/util/ExistingBlockReference.java - src/share/classes/com/sun/tools/internal/xjc/generator/util/LazyBlockReference.java - src/share/classes/com/sun/tools/internal/xjc/generator/util/WhitespaceNormalizer.java - src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java - src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java - src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java - src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java - src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CClass.java - src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java - src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java - src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java - src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java - src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java - src/share/classes/com/sun/tools/internal/xjc/model/CElement.java - src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java - src/share/classes/com/sun/tools/internal/xjc/model/CEnumLeafInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java - src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java - src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java - src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java - src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java - src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java - src/share/classes/com/sun/tools/internal/xjc/model/Constructor.java - src/share/classes/com/sun/tools/internal/xjc/model/Model.java - src/share/classes/com/sun/tools/internal/xjc/model/Multiplicity.java - src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java - src/share/classes/com/sun/tools/internal/xjc/model/SymbolSpace.java - src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java - src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java - src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java - src/share/classes/com/sun/tools/internal/xjc/model/nav/package.html - src/share/classes/com/sun/tools/internal/xjc/model/package-info.java - src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java - src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/FieldAccessor.java - src/share/classes/com/sun/tools/internal/xjc/outline/FieldOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/Outline.java - src/share/classes/com/sun/tools/internal/xjc/outline/PackageOutline.java - src/share/classes/com/sun/tools/internal/xjc/outline/package.html - src/share/classes/com/sun/tools/internal/xjc/package-info.java - src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/Const.java - src/share/classes/com/sun/tools/internal/xjc/reader/ExtensionBindingChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java - src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java - src/share/classes/com/sun/tools/internal/xjc/reader/TypeUtil.java - src/share/classes/com/sun/tools/internal/xjc/reader/Util.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/ModelGroup.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Occurence.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/TDTDReader.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Term.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIAttribute.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConstructor.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIContent.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConversion.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIElement.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIEnumeration.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIInterface.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIUserConversion.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BindInfo.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMLocator.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMUtil.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DTDExtensionBindingChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.rng - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.xsd - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/package.html - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/xjc.xsd - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Choice.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ConnectedComponent.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Element.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSet.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSets.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Expression.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Graph.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/OneOrMore.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Sequence.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SinkNode.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SourceNode.java - src/share/classes/com/sun/tools/internal/xjc/reader/gbind/package.html - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/ContentHandlerNamespacePrefixAdapter.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestParser.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestScanner.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/InternalizationLogic.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Internalizer.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/LocatorTable.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/NamespaceContextImpl.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/SCDBasedBindingSet.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/VersionChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/WhitespaceStripper.java - src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/package.html - src/share/classes/com/sun/tools/internal/xjc/reader/package.html - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/BindStyle.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/ContentModelBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DatatypeLib.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DefineFinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/NameCalculator.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGInternalizationLogic.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RawTypeSetBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypePatternBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Abstractifier.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BGMBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindBlue.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindGreen.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindPurple.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindRed.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindYellow.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindingComponent.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinderFilter.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassSelector.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/CollisionInfo.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ColorBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultClassBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultParticleBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ErrorReporter.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionParticleBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElement.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElementImpl.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GWildcardElement.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MultiplicityCounter.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ParticleBinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RawTypeSetBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RefererFinder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/UnusedCustomizationChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/WildcardNameClassBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AbstractDeclarationImpl.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AnnotationParserFactoryImpl.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIClass.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIConversion.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDeclaration.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDom.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnum.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnumMember.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIFactoryMethod.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIGlobalBinding.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIInlineBinaryData.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISchemaBinding.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISerializable.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXDom.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXPluginCustomization.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BindInfo.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/DomHandlerEx.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/EnumMemberMode.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/ForkingFilter.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/LocalScoping.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/OptionalPropertyMode.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.rng - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.xsd - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package-info.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xjc.xsd - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xs.xsd - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/AbstractExtendedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/CTBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ChoiceContentComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeBindingMode.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeFieldBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ExtendedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/FreshComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedExtendedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/RestrictedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/STDerivedComplexTypeBuilder.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/CustomizationContextChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/IncorrectNamespaceURIChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/LSInputSAXWrapper.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/Messages.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java - src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/XMLSchemaInternalizationLogic.java - src/share/classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java - src/share/classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java - src/share/classes/com/sun/tools/internal/xjc/runtime/package.html - src/share/classes/com/sun/tools/internal/xjc/util/CodeModelClassFactory.java - src/share/classes/com/sun/tools/internal/xjc/util/DOMUtils.java - src/share/classes/com/sun/tools/internal/xjc/util/ErrorReceiverFilter.java - src/share/classes/com/sun/tools/internal/xjc/util/ForkContentHandler.java - src/share/classes/com/sun/tools/internal/xjc/util/ForkEntityResolver.java - src/share/classes/com/sun/tools/internal/xjc/util/MessageBundle.properties - src/share/classes/com/sun/tools/internal/xjc/util/Messages.java - src/share/classes/com/sun/tools/internal/xjc/util/MimeTypeRange.java - src/share/classes/com/sun/tools/internal/xjc/util/NamespaceContextAdapter.java - src/share/classes/com/sun/tools/internal/xjc/util/NullStream.java - src/share/classes/com/sun/tools/internal/xjc/util/ReadOnlyAdapter.java - src/share/classes/com/sun/tools/internal/xjc/util/StringCutter.java - src/share/classes/com/sun/tools/internal/xjc/util/SubtreeCutter.java - src/share/classes/com/sun/tools/internal/xjc/util/Util.java - src/share/classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java - src/share/classes/com/sun/xml/internal/bind/AccessorFactory.java - src/share/classes/com/sun/xml/internal/bind/AccessorFactoryImpl.java - src/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java - src/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java - src/share/classes/com/sun/xml/internal/bind/DatatypeConverterImpl.java - src/share/classes/com/sun/xml/internal/bind/IDResolver.java - src/share/classes/com/sun/xml/internal/bind/Locatable.java - src/share/classes/com/sun/xml/internal/bind/Util.java - src/share/classes/com/sun/xml/internal/bind/ValidationEventLocatorEx.java - src/share/classes/com/sun/xml/internal/bind/WhiteSpaceProcessor.java - src/share/classes/com/sun/xml/internal/bind/XmlAccessorFactory.java - src/share/classes/com/sun/xml/internal/bind/annotation/OverrideAnnotationOf.java - src/share/classes/com/sun/xml/internal/bind/annotation/XmlIsSet.java - src/share/classes/com/sun/xml/internal/bind/annotation/XmlLocation.java - src/share/classes/com/sun/xml/internal/bind/api/AccessorException.java - src/share/classes/com/sun/xml/internal/bind/api/Bridge.java - src/share/classes/com/sun/xml/internal/bind/api/BridgeContext.java - src/share/classes/com/sun/xml/internal/bind/api/ClassResolver.java - src/share/classes/com/sun/xml/internal/bind/api/CompositeStructure.java - src/share/classes/com/sun/xml/internal/bind/api/ErrorListener.java - src/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java - src/share/classes/com/sun/xml/internal/bind/api/Messages.java - src/share/classes/com/sun/xml/internal/bind/api/Messages.properties - src/share/classes/com/sun/xml/internal/bind/api/RawAccessor.java - src/share/classes/com/sun/xml/internal/bind/api/TypeReference.java - src/share/classes/com/sun/xml/internal/bind/api/impl/NameConverter.java - src/share/classes/com/sun/xml/internal/bind/api/impl/NameUtil.java - src/share/classes/com/sun/xml/internal/bind/api/package-info.java - src/share/classes/com/sun/xml/internal/bind/marshaller/CharacterEscapeHandler.java - src/share/classes/com/sun/xml/internal/bind/marshaller/DataWriter.java - src/share/classes/com/sun/xml/internal/bind/marshaller/DumbEscapeHandler.java - src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.java - src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.properties - src/share/classes/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java - src/share/classes/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java - src/share/classes/com/sun/xml/internal/bind/marshaller/NioEscapeHandler.java - src/share/classes/com/sun/xml/internal/bind/marshaller/SAX2DOMEx.java - src/share/classes/com/sun/xml/internal/bind/marshaller/XMLWriter.java - src/share/classes/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java - src/share/classes/com/sun/xml/internal/bind/unmarshaller/InfosetScanner.java - src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.java - src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.properties - src/share/classes/com/sun/xml/internal/bind/unmarshaller/Patcher.java - src/share/classes/com/sun/xml/internal/bind/util/AttributesImpl.java - src/share/classes/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java - src/share/classes/com/sun/xml/internal/bind/util/Which.java - src/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java - src/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java - src/share/classes/com/sun/xml/internal/bind/v2/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/TODO.java - src/share/classes/com/sun/xml/internal/bind/v2/WellKnownNamespace.java - src/share/classes/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java - src/share/classes/com/sun/xml/internal/bind/v2/bytecode/package.html - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Quick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java - src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package.html - src/share/classes/com/sun/xml/internal/bind/v2/model/core/Adapter.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/Element.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ID.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElement.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/Ref.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeRef.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/core/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/DummyPropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Util.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/impl/package.html - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/model/nav/package.html - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/AssociationMap.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/AttributeAccessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/BinderImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeContextImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/CompositeStructureBeanInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/ContentHandlerAdaptor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/DomPostInitAction.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/FilterTransducer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationException.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationsException.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/InlineBinaryTransducer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/InternalBridge.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/JaxBeanInfo.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/LeafBeanInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/LifecycleMethods.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Location.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/MarshallerImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/runtime/MimeTypedTransducer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Name.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameBuilder.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameList.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/NamespaceContext2.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/RuntimeUtil.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/SchemaTypeTransducer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/StAXPostInitAction.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/SwaRefAdapter.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/Transducer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/C14nXmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/DOMOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Encoded.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/FastInfosetStreamWriterOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/ForkXmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/InPlaceDOMOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/IndentingUTF8XmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/MTOMXmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/NamespaceContextImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Pcdata.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/SAXOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/StAXExStreamWriterOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLEventWriterOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLStreamWriterOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutput.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutputAbstractImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/package.html - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementLeafProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementNodeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayReferenceNodeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/AttributeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ListElementProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Property.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyFactory.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementLeafProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementNodeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleReferenceNodeProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/StructureLoaderBuilder.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/TagAndType.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/UnmarshallerChain.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ValueProperty.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedAccessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedLister.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/DefaultTransducedAccessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListIterator.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListTransducedAccessorImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/NullSafeAccessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerByte.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Bean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Const.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Byte.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Ref.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Byte.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Ref.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedAccessorFactory.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Ref.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Boolean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Byte.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Integer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Byte.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Integer.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html - src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package.html - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesEx.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesExImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ChildLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultIDResolver.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/FastInfosetConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntArrayData.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntData.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Intercepter.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/InterningXmlVisitor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorExWrapper.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/MTOMDecorator.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Patcher.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Receiver.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXExConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXStreamConnector.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TagName.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValidatingUnmarshaller.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/WildcardLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XmlVisitor.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Form.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/GroupKind.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.properties - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/MultiMap.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Tree.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Util.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Particle.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html - src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/xmlschema-for-jaxb.rng - src/share/classes/com/sun/xml/internal/bind/v2/util/ByteArrayOutputStreamEx.java - src/share/classes/com/sun/xml/internal/bind/v2/util/CollisionCheckStack.java - src/share/classes/com/sun/xml/internal/bind/v2/util/DataSourceSource.java - src/share/classes/com/sun/xml/internal/bind/v2/util/EditDistance.java - src/share/classes/com/sun/xml/internal/bind/v2/util/FatalAdapter.java - src/share/classes/com/sun/xml/internal/bind/v2/util/FlattenIterator.java - src/share/classes/com/sun/xml/internal/bind/v2/util/QNameMap.java - src/share/classes/com/sun/xml/internal/bind/v2/util/StackRecorder.java - src/share/classes/com/sun/xml/internal/bind/v2/util/TypeCast.java - src/share/classes/com/sun/xml/internal/dtdparser/DTDEventListener.java - src/share/classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java - src/share/classes/com/sun/xml/internal/dtdparser/DTDParser.java - src/share/classes/com/sun/xml/internal/dtdparser/EndOfInputException.java - src/share/classes/com/sun/xml/internal/dtdparser/EntityDecl.java - src/share/classes/com/sun/xml/internal/dtdparser/ExternalEntity.java - src/share/classes/com/sun/xml/internal/dtdparser/InputEntity.java - src/share/classes/com/sun/xml/internal/dtdparser/InternalEntity.java - src/share/classes/com/sun/xml/internal/dtdparser/MessageCatalog.java - src/share/classes/com/sun/xml/internal/dtdparser/Resolver.java - src/share/classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java - src/share/classes/com/sun/xml/internal/dtdparser/XmlChars.java - src/share/classes/com/sun/xml/internal/dtdparser/XmlNames.java - src/share/classes/com/sun/xml/internal/dtdparser/XmlReader.java - src/share/classes/com/sun/xml/internal/dtdparser/package.html - src/share/classes/com/sun/xml/internal/dtdparser/resources/Messages.properties - src/share/classes/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java - src/share/classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java - src/share/classes/com/sun/xml/internal/fastinfoset/Decoder.java - src/share/classes/com/sun/xml/internal/fastinfoset/DecoderStateTables.java - src/share/classes/com/sun/xml/internal/fastinfoset/Encoder.java - src/share/classes/com/sun/xml/internal/fastinfoset/EncodingConstants.java - src/share/classes/com/sun/xml/internal/fastinfoset/Notation.java - src/share/classes/com/sun/xml/internal/fastinfoset/OctetBufferListener.java - src/share/classes/com/sun/xml/internal/fastinfoset/QualifiedName.java - src/share/classes/com/sun/xml/internal/fastinfoset/UnparsedEntity.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmFactory.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmState.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/DoubleEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IEEE754FloatingPointEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntegerEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/LongEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/ShortEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/UUIDEncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/fastinfoset/alphabet/BuiltInRestrictedAlphabets.java - src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java - src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentSerializer.java - src/share/classes/com/sun/xml/internal/fastinfoset/org/apache/xerces/util/XMLChar.java - src/share/classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties - src/share/classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/Features.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/Properties.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializer.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializerWithPrefixMapping.java - src/share/classes/com/sun/xml/internal/fastinfoset/sax/SystemIdResolver.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/EventLocation.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentSerializer.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXManager.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CharactersEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CommentEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/DTDEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EmptyIterator.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndDocumentEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndElementEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityDeclarationImpl.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityReferenceEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EventBase.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/NamespaceBase.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ProcessingInstructionEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ReadIterator.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocatorBase.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventReader.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventWriter.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXFilteredEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartDocumentEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/Util.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/XMLConstants.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXEventFactory.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXInputFactory.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXFilteredParser.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXParserWrapper.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_DOM_Or_XML_DOM_SAX_SAXEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_DOM_SAX_SAXEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_SAXEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_XML.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_StAX_SAX_Or_XML_SAX_SAXEvent.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/PrintTable.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAX2StAXWriter.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/StAX2SAXReader.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/VocabularyGenerator.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_FI.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_SAX_FI.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_FI.java - src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_StAX_FI.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayIntMap.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayString.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/ContiguousCharArrayArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/DuplicateAttributeVerifier.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/FixedEntryStringIntMap.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/KeyIntMap.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/LocalNameQualifiedNamesMap.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/NamespaceContextImplementation.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/PrefixArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/QualifiedNameArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/StringArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/StringIntMap.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArray.java - src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArrayResourceException.java - src/share/classes/com/sun/xml/internal/fastinfoset/vocab/ParserVocabulary.java - src/share/classes/com/sun/xml/internal/fastinfoset/vocab/SerializerVocabulary.java - src/share/classes/com/sun/xml/internal/fastinfoset/vocab/Vocabulary.java - src/share/classes/com/sun/xml/internal/messaging/saaj/SOAPExceptionImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java - src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnectionFactory.java - src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/Header.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MultipartDataSource.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentDisposition.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentType.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/HeaderTokenizer.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/InternetHeaders.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePartDataSource.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParameterList.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParseException.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/SharedInputStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/UniqueValue.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64EncoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BEncoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/LineInputStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/OutputUtil.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QDecoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QEncoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPDecoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPEncoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUDecoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUEncoderStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/FastInfosetDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/GifDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/JpegDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MultipartDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocument.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPIOException.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPVersionMismatchException.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/StringDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/XmlDataContentHandler.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPFactoryDynamicImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPMessageFactoryDynamicImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyElementImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailEntryImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultElementImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderElementImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TreeException.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Body1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/BodyElement1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Detail1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/DetailEntry1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Envelope1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/FaultElement1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPFactory1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/BodyElement1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/DetailEntry1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/FaultElement1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPFactory1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPMessageFactory1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/Base64.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteInputStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteOutputStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharReader.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharWriter.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/FastInfosetReflection.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/FinalArrayList.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/JaxmURI.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/LocalStrings.properties - src/share/classes/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/MimeHeadersUtil.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/NamespaceContextIterator.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java - src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithm.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmException.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmIndexes.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/ExternalVocabulary.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetException.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetParser.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetResult.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSerializer.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSource.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/RestrictedAlphabet.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/Vocabulary.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/VocabularyApplicationData.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmAttributes.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmContentHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/ExtendedContentHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetReader.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetWriter.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/PrimitiveTypeContentHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/RestrictedAlphabetContentHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/EncodingAlgorithmAttributesImpl.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/FastInfosetDefaultHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/FastInfosetStreamReader.java - src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/LowLevelFastInfosetStreamWriter.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Chunk.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/ChunkInputStream.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Data.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/DataFile.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/FileData.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/FinalArrayList.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Header.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/InternetHeaders.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEConfig.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEEvent.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEMessage.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEParser.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEParsingException.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEPart.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java - src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Encoder.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/ByteArrayOutputStreamEx.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/NamespaceContextEx.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamReaderEx.java - src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamWriterEx.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/Annotations.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/BuildException.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/CommentList.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/DataPatternBuilder.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/Div.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/ElementAnnotationBuilder.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/Grammar.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/GrammarSection.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/Include.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/IncludedGrammar.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/NameClassBuilder.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/SchemaBuilder.java - src/share/classes/com/sun/xml/internal/rngom/ast/builder/Scope.java - src/share/classes/com/sun/xml/internal/rngom/ast/om/Location.java - src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedElementAnnotation.java - src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedNameClass.java - src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedPattern.java - src/share/classes/com/sun/xml/internal/rngom/ast/util/CheckingSchemaBuilder.java - src/share/classes/com/sun/xml/internal/rngom/ast/util/LocatorImpl.java - src/share/classes/com/sun/xml/internal/rngom/ast/util/package.html - src/share/classes/com/sun/xml/internal/rngom/binary/AfterPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/Alphabet.java - src/share/classes/com/sun/xml/internal/rngom/binary/AttributePattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/BinaryPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/ChoicePattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/DataExceptPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/DataPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/DuplicateAttributeDetector.java - src/share/classes/com/sun/xml/internal/rngom/binary/ElementPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/EmptyPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/ErrorPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/GroupPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/InterleavePattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/ListPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/Messages.properties - src/share/classes/com/sun/xml/internal/rngom/binary/NotAllowedPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/OneOrMorePattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/Pattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/PatternBuilder.java - src/share/classes/com/sun/xml/internal/rngom/binary/PatternInterner.java - src/share/classes/com/sun/xml/internal/rngom/binary/RefPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/RestrictionViolationException.java - src/share/classes/com/sun/xml/internal/rngom/binary/SchemaBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/binary/SchemaPatternBuilder.java - src/share/classes/com/sun/xml/internal/rngom/binary/StringPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/TextPattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/ValuePattern.java - src/share/classes/com/sun/xml/internal/rngom/binary/package.html - src/share/classes/com/sun/xml/internal/rngom/binary/visitor/ChildElementFinder.java - src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternFunction.java - src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternVisitor.java - src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternWalker.java - src/share/classes/com/sun/xml/internal/rngom/digested/Annotation.java - src/share/classes/com/sun/xml/internal/rngom/digested/CommentListImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/DAnnotation.java - src/share/classes/com/sun/xml/internal/rngom/digested/DAttributePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DChoicePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DContainerPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DDataPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DDefine.java - src/share/classes/com/sun/xml/internal/rngom/digested/DElementPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DEmptyPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DGrammarPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DGroupPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DInterleavePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DListPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DMixedPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DNotAllowedPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DOMPrinter.java - src/share/classes/com/sun/xml/internal/rngom/digested/DOneOrMorePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DOptionalPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DPatternVisitor.java - src/share/classes/com/sun/xml/internal/rngom/digested/DPatternWalker.java - src/share/classes/com/sun/xml/internal/rngom/digested/DRefPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DSchemaBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/DTextPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DUnaryPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DValuePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DXMLPrinter.java - src/share/classes/com/sun/xml/internal/rngom/digested/DXmlTokenPattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DZeroOrMorePattern.java - src/share/classes/com/sun/xml/internal/rngom/digested/DataPatternBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/ElementAnnotationBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/ElementWrapper.java - src/share/classes/com/sun/xml/internal/rngom/digested/GrammarBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/IncludeImpl.java - src/share/classes/com/sun/xml/internal/rngom/digested/Main.java - src/share/classes/com/sun/xml/internal/rngom/digested/PatternParseable.java - src/share/classes/com/sun/xml/internal/rngom/digested/package.html - src/share/classes/com/sun/xml/internal/rngom/dt/CachedDatatypeLibraryFactory.java - src/share/classes/com/sun/xml/internal/rngom/dt/CascadingDatatypeLibraryFactory.java - src/share/classes/com/sun/xml/internal/rngom/dt/DoNothingDatatypeLibraryFactoryImpl.java - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeBuilder.java - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibrary.java - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibraryFactory.java - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/CompatibilityDatatypeLibrary.java - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/Messages.properties - src/share/classes/com/sun/xml/internal/rngom/dt/builtin/package.html - src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameExceptNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/ChoiceNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/NameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/NameClassBuilderImpl.java - src/share/classes/com/sun/xml/internal/rngom/nc/NameClassVisitor.java - src/share/classes/com/sun/xml/internal/rngom/nc/NameClassWalker.java - src/share/classes/com/sun/xml/internal/rngom/nc/NsNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/NsNameExceptNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/NullNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/OverlapDetector.java - src/share/classes/com/sun/xml/internal/rngom/nc/SimpleNameClass.java - src/share/classes/com/sun/xml/internal/rngom/nc/package.html - src/share/classes/com/sun/xml/internal/rngom/parse/Context.java - src/share/classes/com/sun/xml/internal/rngom/parse/IllegalSchemaException.java - src/share/classes/com/sun/xml/internal/rngom/parse/Messages.properties - src/share/classes/com/sun/xml/internal/rngom/parse/Parseable.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactParseable.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.jj - src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxConstants.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxTokenManager.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/EOFException.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/EscapeSyntaxException.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/JavaCharStream.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/Messages.properties - src/share/classes/com/sun/xml/internal/rngom/parse/compact/ParseException.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/Token.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/TokenMgrError.java - src/share/classes/com/sun/xml/internal/rngom/parse/compact/UCode_UCodeESC_CharStream.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/AnnotationsHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/Base.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/CommentListHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/DataPatternBuilderHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/DivHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/ElementAnnotationBuilderHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarSectionHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/IncludeHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/LocationHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/NameClassBuilderHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedElementAnnotationHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedNameClassHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedPatternHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/SchemaBuilderHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/ScopeHost.java - src/share/classes/com/sun/xml/internal/rngom/parse/host/package.html - src/share/classes/com/sun/xml/internal/rngom/parse/xml/DtdContext.java - src/share/classes/com/sun/xml/internal/rngom/parse/xml/Messages.properties - src/share/classes/com/sun/xml/internal/rngom/parse/xml/SAXParseable.java - src/share/classes/com/sun/xml/internal/rngom/parse/xml/SchemaParser.java - src/share/classes/com/sun/xml/internal/rngom/util/Localizer.java - src/share/classes/com/sun/xml/internal/rngom/util/Uri.java - src/share/classes/com/sun/xml/internal/rngom/util/Utf16.java - src/share/classes/com/sun/xml/internal/rngom/xml/sax/AbstractLexicalHandler.java - src/share/classes/com/sun/xml/internal/rngom/xml/sax/JAXPXMLReaderCreator.java - src/share/classes/com/sun/xml/internal/rngom/xml/sax/XMLReaderCreator.java - src/share/classes/com/sun/xml/internal/rngom/xml/sax/XmlBaseHandler.java - src/share/classes/com/sun/xml/internal/rngom/xml/util/EncodingMap.java - src/share/classes/com/sun/xml/internal/rngom/xml/util/Naming.java - src/share/classes/com/sun/xml/internal/rngom/xml/util/WellKnownNamespaces.java - src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreator.java - src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java - src/share/classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java - src/share/classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java - src/share/classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java - src/share/classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java - src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java - src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java - src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java - src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java - src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java - src/share/classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java - src/share/classes/com/sun/xml/internal/stream/buffer/sax/Features.java - src/share/classes/com/sun/xml/internal/stream/buffer/sax/Properties.java - src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java - src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferProcessor.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/NamespaceContexHelper.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java - src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferProcessor.java - src/share/classes/com/sun/xml/internal/txw2/Attribute.java - src/share/classes/com/sun/xml/internal/txw2/Cdata.java - src/share/classes/com/sun/xml/internal/txw2/Comment.java - src/share/classes/com/sun/xml/internal/txw2/ContainerElement.java - src/share/classes/com/sun/xml/internal/txw2/Content.java - src/share/classes/com/sun/xml/internal/txw2/ContentVisitor.java - src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java - src/share/classes/com/sun/xml/internal/txw2/Document.java - src/share/classes/com/sun/xml/internal/txw2/EndDocument.java - src/share/classes/com/sun/xml/internal/txw2/EndTag.java - src/share/classes/com/sun/xml/internal/txw2/IllegalAnnotationException.java - src/share/classes/com/sun/xml/internal/txw2/IllegalSignatureException.java - src/share/classes/com/sun/xml/internal/txw2/NamespaceDecl.java - src/share/classes/com/sun/xml/internal/txw2/NamespaceResolver.java - src/share/classes/com/sun/xml/internal/txw2/NamespaceSupport.java - src/share/classes/com/sun/xml/internal/txw2/Pcdata.java - src/share/classes/com/sun/xml/internal/txw2/StartDocument.java - src/share/classes/com/sun/xml/internal/txw2/StartTag.java - src/share/classes/com/sun/xml/internal/txw2/TXW.java - src/share/classes/com/sun/xml/internal/txw2/Text.java - src/share/classes/com/sun/xml/internal/txw2/TxwException.java - src/share/classes/com/sun/xml/internal/txw2/TypedXmlWriter.java - src/share/classes/com/sun/xml/internal/txw2/annotation/XmlAttribute.java - src/share/classes/com/sun/xml/internal/txw2/annotation/XmlCDATA.java - src/share/classes/com/sun/xml/internal/txw2/annotation/XmlElement.java - src/share/classes/com/sun/xml/internal/txw2/annotation/XmlNamespace.java - src/share/classes/com/sun/xml/internal/txw2/annotation/XmlValue.java - src/share/classes/com/sun/xml/internal/txw2/annotation/package.html - src/share/classes/com/sun/xml/internal/txw2/output/CharacterEscapeHandler.java - src/share/classes/com/sun/xml/internal/txw2/output/DataWriter.java - src/share/classes/com/sun/xml/internal/txw2/output/DelegatingXMLStreamWriter.java - src/share/classes/com/sun/xml/internal/txw2/output/DomSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/DumbEscapeHandler.java - src/share/classes/com/sun/xml/internal/txw2/output/DumpSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLFilter.java - src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLStreamWriter.java - src/share/classes/com/sun/xml/internal/txw2/output/ResultFactory.java - src/share/classes/com/sun/xml/internal/txw2/output/SaxSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/StaxSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/StreamSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/TXWResult.java - src/share/classes/com/sun/xml/internal/txw2/output/TXWSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/XMLWriter.java - src/share/classes/com/sun/xml/internal/txw2/output/XmlSerializer.java - src/share/classes/com/sun/xml/internal/txw2/output/package.html - src/share/classes/com/sun/xml/internal/txw2/package.html - src/share/classes/com/sun/xml/internal/ws/Closeable.java - src/share/classes/com/sun/xml/internal/ws/addressing/EndpointReferenceUtil.java - src/share/classes/com/sun/xml/internal/ws/addressing/ProblemAction.java - src/share/classes/com/sun/xml/internal/ws/addressing/ProblemHeaderQName.java - src/share/classes/com/sun/xml/internal/ws/addressing/W3CAddressingConstants.java - src/share/classes/com/sun/xml/internal/ws/addressing/W3CWsaClientTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/W3CWsaServerTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaClientTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaPropertyBag.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaServerTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelper.java - src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelperImpl.java - src/share/classes/com/sun/xml/internal/ws/addressing/model/ActionNotSupportedException.java - src/share/classes/com/sun/xml/internal/ws/addressing/model/InvalidAddressingHeaderException.java - src/share/classes/com/sun/xml/internal/ws/addressing/model/MissingAddressingHeaderException.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionAddressingConstants.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaClientTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaServerTube.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemAction.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemHeaderQName.java - src/share/classes/com/sun/xml/internal/ws/addressing/v200408/WsaTubeHelperImpl.java - src/share/classes/com/sun/xml/internal/ws/api/BindingID.java - src/share/classes/com/sun/xml/internal/ws/api/BindingIDFactory.java - src/share/classes/com/sun/xml/internal/ws/api/DistributedPropertySet.java - src/share/classes/com/sun/xml/internal/ws/api/EndpointAddress.java - src/share/classes/com/sun/xml/internal/ws/api/FeatureConstructor.java - src/share/classes/com/sun/xml/internal/ws/api/PropertySet.java - src/share/classes/com/sun/xml/internal/ws/api/ResourceLoader.java - src/share/classes/com/sun/xml/internal/ws/api/SOAPVersion.java - src/share/classes/com/sun/xml/internal/ws/api/WSBinding.java - src/share/classes/com/sun/xml/internal/ws/api/WSFeatureList.java - src/share/classes/com/sun/xml/internal/ws/api/WSService.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/AddressingVersion.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/EPRHeader.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/OneWayFeature.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/OutboundReferenceParameterHeader.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java - src/share/classes/com/sun/xml/internal/ws/api/addressing/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/client/ClientPipelineHook.java - src/share/classes/com/sun/xml/internal/ws/api/client/SelectOptimalEncodingFeature.java - src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptor.java - src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptorFactory.java - src/share/classes/com/sun/xml/internal/ws/api/client/WSPortInfo.java - src/share/classes/com/sun/xml/internal/ws/api/fastinfoset/FastInfosetFeature.java - src/share/classes/com/sun/xml/internal/ws/api/handler/MessageHandler.java - src/share/classes/com/sun/xml/internal/ws/api/handler/MessageHandlerContext.java - src/share/classes/com/sun/xml/internal/ws/api/message/Attachment.java - src/share/classes/com/sun/xml/internal/ws/api/message/AttachmentSet.java - src/share/classes/com/sun/xml/internal/ws/api/message/ExceptionHasMessage.java - src/share/classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/api/message/Header.java - src/share/classes/com/sun/xml/internal/ws/api/message/HeaderList.java - src/share/classes/com/sun/xml/internal/ws/api/message/Headers.java - src/share/classes/com/sun/xml/internal/ws/api/message/Message.java - src/share/classes/com/sun/xml/internal/ws/api/message/Messages.java - src/share/classes/com/sun/xml/internal/ws/api/message/Packet.java - src/share/classes/com/sun/xml/internal/ws/api/message/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/message/stream/InputStreamMessage.java - src/share/classes/com/sun/xml/internal/ws/api/message/stream/StreamBasedMessage.java - src/share/classes/com/sun/xml/internal/ws/api/message/stream/XMLStreamReaderMessage.java - src/share/classes/com/sun/xml/internal/ws/api/model/CheckedException.java - src/share/classes/com/sun/xml/internal/ws/api/model/ExceptionType.java - src/share/classes/com/sun/xml/internal/ws/api/model/JavaMethod.java - src/share/classes/com/sun/xml/internal/ws/api/model/MEP.java - src/share/classes/com/sun/xml/internal/ws/api/model/Parameter.java - src/share/classes/com/sun/xml/internal/ws/api/model/ParameterBinding.java - src/share/classes/com/sun/xml/internal/ws/api/model/SEIModel.java - src/share/classes/com/sun/xml/internal/ws/api/model/soap/SOAPBinding.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundFault.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundPortType.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLDescriptorKind.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtensible.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtension.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFault.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFeaturedObject.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLInput.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLMessage.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLModel.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLObject.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOperation.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOutput.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPart.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPartDescriptor.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPort.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPortType.java - src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLService.java - src/share/classes/com/sun/xml/internal/ws/api/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientPipeAssemblerContext.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientTubeAssemblerContext.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Codec.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Codecs.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/ContentType.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Fiber.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/FiberContextSwitchInterceptor.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/NextAction.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Pipe.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/PipeCloner.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssembler.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssemblerFactory.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/SOAPBindingCodec.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerPipeAssemblerContext.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerTubeAssemblerContext.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/StreamSOAPCodec.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Stubs.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportPipeFactory.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportTubeFactory.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/Tube.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/TubeCloner.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssembler.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssemblerFactory.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterPipeImpl.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterTubeImpl.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractPipeImpl.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractTubeImpl.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/PipeAdapter.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/pipe/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/server/AbstractServerAsyncTransport.java - src/share/classes/com/sun/xml/internal/ws/api/server/Adapter.java - src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProvider.java - src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProviderCallback.java - src/share/classes/com/sun/xml/internal/ws/api/server/BoundEndpoint.java - src/share/classes/com/sun/xml/internal/ws/api/server/Container.java - src/share/classes/com/sun/xml/internal/ws/api/server/ContainerResolver.java - src/share/classes/com/sun/xml/internal/ws/api/server/DocumentAddressResolver.java - src/share/classes/com/sun/xml/internal/ws/api/server/EndpointAwareCodec.java - src/share/classes/com/sun/xml/internal/ws/api/server/EndpointComponent.java - src/share/classes/com/sun/xml/internal/ws/api/server/HttpEndpoint.java - src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolverAnnotation.java - src/share/classes/com/sun/xml/internal/ws/api/server/Invoker.java - src/share/classes/com/sun/xml/internal/ws/api/server/Module.java - src/share/classes/com/sun/xml/internal/ws/api/server/PortAddressResolver.java - src/share/classes/com/sun/xml/internal/ws/api/server/ResourceInjector.java - src/share/classes/com/sun/xml/internal/ws/api/server/SDDocument.java - src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentFilter.java - src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentSource.java - src/share/classes/com/sun/xml/internal/ws/api/server/ServerPipelineHook.java - src/share/classes/com/sun/xml/internal/ws/api/server/ServiceDefinition.java - src/share/classes/com/sun/xml/internal/ws/api/server/TransportBackChannel.java - src/share/classes/com/sun/xml/internal/ws/api/server/WSEndpoint.java - src/share/classes/com/sun/xml/internal/ws/api/server/WSWebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/api/server/WebModule.java - src/share/classes/com/sun/xml/internal/ws/api/server/WebServiceContextDelegate.java - src/share/classes/com/sun/xml/internal/ws/api/server/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java - src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetaDataResolver.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetadataResolverFactory.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/ServiceDescriptor.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtensionContext.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/XMLEntityResolver.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/package-info.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGenExtnContext.java - src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java - src/share/classes/com/sun/xml/internal/ws/binding/BindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/HTTPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java - src/share/classes/com/sun/xml/internal/ws/client/AsyncInvoker.java - src/share/classes/com/sun/xml/internal/ws/client/AsyncResponseImpl.java - src/share/classes/com/sun/xml/internal/ws/client/BindingProviderProperties.java - src/share/classes/com/sun/xml/internal/ws/client/ClientContainer.java - src/share/classes/com/sun/xml/internal/ws/client/ClientSchemaValidationTube.java - src/share/classes/com/sun/xml/internal/ws/client/ClientTransportException.java - src/share/classes/com/sun/xml/internal/ws/client/ContentNegotiation.java - src/share/classes/com/sun/xml/internal/ws/client/HandlerConfiguration.java - src/share/classes/com/sun/xml/internal/ws/client/HandlerConfigurator.java - src/share/classes/com/sun/xml/internal/ws/client/PortInfo.java - src/share/classes/com/sun/xml/internal/ws/client/RequestContext.java - src/share/classes/com/sun/xml/internal/ws/client/ResponseContext.java - src/share/classes/com/sun/xml/internal/ws/client/ResponseContextReceiver.java - src/share/classes/com/sun/xml/internal/ws/client/SCAnnotations.java - src/share/classes/com/sun/xml/internal/ws/client/SEIPortInfo.java - src/share/classes/com/sun/xml/internal/ws/client/SenderException.java - src/share/classes/com/sun/xml/internal/ws/client/Stub.java - src/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DataSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/JAXBDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/MessageDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/RESTSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPMessageDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/package-info.java - src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/BodyBuilder.java - src/share/classes/com/sun/xml/internal/ws/client/sei/CallbackMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/MessageFiller.java - src/share/classes/com/sun/xml/internal/ws/client/sei/MethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/PollingMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/ResponseBuilder.java - src/share/classes/com/sun/xml/internal/ws/client/sei/SEIMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/SEIStub.java - src/share/classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetter.java - src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetterFactory.java - src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetter.java - src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetterFactory.java - src/share/classes/com/sun/xml/internal/ws/client/sei/pacakge-info.java - src/share/classes/com/sun/xml/internal/ws/developer/BindingTypeFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/EPRRecipe.java - src/share/classes/com/sun/xml/internal/ws/developer/JAXBContextFactory.java - src/share/classes/com/sun/xml/internal/ws/developer/JAXWSProperties.java - src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressing.java - src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressingFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionEndpointReference.java - src/share/classes/com/sun/xml/internal/ws/developer/SchemaValidation.java - src/share/classes/com/sun/xml/internal/ws/developer/SchemaValidationFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/ServerSideException.java - src/share/classes/com/sun/xml/internal/ws/developer/Stateful.java - src/share/classes/com/sun/xml/internal/ws/developer/StatefulFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/StatefulWebServiceManager.java - src/share/classes/com/sun/xml/internal/ws/developer/StreamingAttachment.java - src/share/classes/com/sun/xml/internal/ws/developer/StreamingAttachmentFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java - src/share/classes/com/sun/xml/internal/ws/developer/UsesJAXBContext.java - src/share/classes/com/sun/xml/internal/ws/developer/UsesJAXBContextFeature.java - src/share/classes/com/sun/xml/internal/ws/developer/ValidationErrorHandler.java - src/share/classes/com/sun/xml/internal/ws/developer/WSBindingProvider.java - src/share/classes/com/sun/xml/internal/ws/developer/package-info.java - src/share/classes/com/sun/xml/internal/ws/encoding/ContentType.java - src/share/classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java - src/share/classes/com/sun/xml/internal/ws/encoding/DataSourceStreamingDataHandler.java - src/share/classes/com/sun/xml/internal/ws/encoding/HeaderTokenizer.java - src/share/classes/com/sun/xml/internal/ws/encoding/ImageDataContentHandler.java - src/share/classes/com/sun/xml/internal/ws/encoding/MIMEPartStreamingDataHandler.java - src/share/classes/com/sun/xml/internal/ws/encoding/MimeCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/MimeMultipartParser.java - src/share/classes/com/sun/xml/internal/ws/encoding/MtomCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/ParameterList.java - src/share/classes/com/sun/xml/internal/ws/encoding/RootOnlyCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/SOAPBindingCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java - src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java - src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/StringDataContentHandler.java - src/share/classes/com/sun/xml/internal/ws/encoding/SwACodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/TagInfoset.java - src/share/classes/com/sun/xml/internal/ws/encoding/XMLHTTPBindingCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/XmlDataContentHandler.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetMIMETypes.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderRecyclable.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP11Codec.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP12Codec.java - src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAPCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/DeserializationException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAP12Constants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializationException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializerConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAP12NamespaceConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAPNamespaceConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java - src/share/classes/com/sun/xml/internal/ws/fault/CodeType.java - src/share/classes/com/sun/xml/internal/ws/fault/DetailType.java - src/share/classes/com/sun/xml/internal/ws/fault/ExceptionBean.java - src/share/classes/com/sun/xml/internal/ws/fault/ReasonType.java - src/share/classes/com/sun/xml/internal/ws/fault/SOAP11Fault.java - src/share/classes/com/sun/xml/internal/ws/fault/SOAP12Fault.java - src/share/classes/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java - src/share/classes/com/sun/xml/internal/ws/fault/SubcodeType.java - src/share/classes/com/sun/xml/internal/ws/fault/TextType.java - src/share/classes/com/sun/xml/internal/ws/handler/ClientLogicalHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/ClientMessageHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/ClientSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainsModel.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerException.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageHandlerContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageUpdatableContext.java - src/share/classes/com/sun/xml/internal/ws/handler/PortInfoImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/SOAPMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/ServerLogicalHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/ServerMessageHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/ServerSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/message/AbstractHeaderImpl.java - src/share/classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/message/AttachmentSetImpl.java - src/share/classes/com/sun/xml/internal/ws/message/AttachmentUnmarshallerImpl.java - src/share/classes/com/sun/xml/internal/ws/message/ByteArrayAttachment.java - src/share/classes/com/sun/xml/internal/ws/message/DOMHeader.java - src/share/classes/com/sun/xml/internal/ws/message/DOMMessage.java - src/share/classes/com/sun/xml/internal/ws/message/DataHandlerAttachment.java - src/share/classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/message/FaultDetailHeader.java - src/share/classes/com/sun/xml/internal/ws/message/FaultMessage.java - src/share/classes/com/sun/xml/internal/ws/message/JAXBAttachment.java - src/share/classes/com/sun/xml/internal/ws/message/MimeAttachmentSet.java - src/share/classes/com/sun/xml/internal/ws/message/ProblemActionHeader.java - src/share/classes/com/sun/xml/internal/ws/message/RelatesToHeader.java - src/share/classes/com/sun/xml/internal/ws/message/RootElementSniffer.java - src/share/classes/com/sun/xml/internal/ws/message/StringHeader.java - src/share/classes/com/sun/xml/internal/ws/message/Util.java - src/share/classes/com/sun/xml/internal/ws/message/XMLReaderImpl.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/AttachmentMarshallerImpl.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBBridgeSource.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/MarshallerBridge.java - src/share/classes/com/sun/xml/internal/ws/message/jaxb/package-info.java - src/share/classes/com/sun/xml/internal/ws/message/package-info.java - src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJHeader.java - src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java - src/share/classes/com/sun/xml/internal/ws/message/source/PayloadSourceMessage.java - src/share/classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java - src/share/classes/com/sun/xml/internal/ws/message/source/SourceUtils.java - src/share/classes/com/sun/xml/internal/ws/message/stream/OutboundStreamHeader.java - src/share/classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java - src/share/classes/com/sun/xml/internal/ws/message/stream/StreamAttachment.java - src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader.java - src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader11.java - src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader12.java - src/share/classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java - src/share/classes/com/sun/xml/internal/ws/model/AbstractSEIModelImpl.java - src/share/classes/com/sun/xml/internal/ws/model/CheckedExceptionImpl.java - src/share/classes/com/sun/xml/internal/ws/model/FieldSignature.java - src/share/classes/com/sun/xml/internal/ws/model/Injector.java - src/share/classes/com/sun/xml/internal/ws/model/JavaMethodImpl.java - src/share/classes/com/sun/xml/internal/ws/model/ParameterImpl.java - src/share/classes/com/sun/xml/internal/ws/model/RuntimeModeler.java - src/share/classes/com/sun/xml/internal/ws/model/RuntimeModelerException.java - src/share/classes/com/sun/xml/internal/ws/model/SOAPSEIModel.java - src/share/classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java - src/share/classes/com/sun/xml/internal/ws/model/WrapperParameter.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractExtensibleImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractFeaturedObjectImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractObjectImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundFaultImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundPortTypeImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLFaultImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLInputImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLModelImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOutputImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartDescriptorImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortTypeImpl.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLProperties.java - src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLServiceImpl.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationVisitor.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationWriter.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Attribute.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ByteVector.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassReader.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassVisitor.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassWriter.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Edge.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/FieldVisitor.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/FieldWriter.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Frame.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Handler.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Item.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Label.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/MethodVisitor.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/MethodWriter.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Opcodes.java - src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Type.java - src/share/classes/com/sun/xml/internal/ws/package-info.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/ClientMUTube.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/MessageCreationException.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/VersionMismatchException.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/XMLMessageException.java - src/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java - src/share/classes/com/sun/xml/internal/ws/resources/addressing.properties - src/share/classes/com/sun/xml/internal/ws/resources/client.properties - src/share/classes/com/sun/xml/internal/ws/resources/dispatch.properties - src/share/classes/com/sun/xml/internal/ws/resources/encoding.properties - src/share/classes/com/sun/xml/internal/ws/resources/handler.properties - src/share/classes/com/sun/xml/internal/ws/resources/httpserver.properties - src/share/classes/com/sun/xml/internal/ws/resources/modeler.properties - src/share/classes/com/sun/xml/internal/ws/resources/providerApi.properties - src/share/classes/com/sun/xml/internal/ws/resources/sender.properties - src/share/classes/com/sun/xml/internal/ws/resources/server.properties - src/share/classes/com/sun/xml/internal/ws/resources/soap.properties - src/share/classes/com/sun/xml/internal/ws/resources/streaming.properties - src/share/classes/com/sun/xml/internal/ws/resources/util.properties - src/share/classes/com/sun/xml/internal/ws/resources/wsdlmodel.properties - src/share/classes/com/sun/xml/internal/ws/resources/wsservlet.properties - src/share/classes/com/sun/xml/internal/ws/resources/xmlmessage.properties - src/share/classes/com/sun/xml/internal/ws/server/AbstractInstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/server/AbstractMultiInstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/server/AbstractWebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/server/DefaultResourceInjector.java - src/share/classes/com/sun/xml/internal/ws/server/DraconianValidationErrorHandler.java - src/share/classes/com/sun/xml/internal/ws/server/EndpointFactory.java - src/share/classes/com/sun/xml/internal/ws/server/EndpointMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/server/InvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/JMXAgent.java - src/share/classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java - src/share/classes/com/sun/xml/internal/ws/server/ServerPropertyConstants.java - src/share/classes/com/sun/xml/internal/ws/server/ServerRtException.java - src/share/classes/com/sun/xml/internal/ws/server/ServerSchemaValidationTube.java - src/share/classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java - src/share/classes/com/sun/xml/internal/ws/server/SingletonResolver.java - src/share/classes/com/sun/xml/internal/ws/server/StatefulInstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/server/UnsupportedMediaException.java - src/share/classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java - src/share/classes/com/sun/xml/internal/ws/server/WSDLPatcher.java - src/share/classes/com/sun/xml/internal/ws/server/WSEndpointImpl.java - src/share/classes/com/sun/xml/internal/ws/server/package-info.java - src/share/classes/com/sun/xml/internal/ws/server/provider/AsyncProviderInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/provider/MessageProviderArgumentBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderArgumentsBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderEndpointModel.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/provider/SOAPProviderArgumentBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/provider/SyncProviderInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/provider/XMLProviderArgumentBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/sei/ActionBasedDispatcher.java - src/share/classes/com/sun/xml/internal/ws/server/sei/DispatchException.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointArgumentsBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcher.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcherGetter.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodHandler.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointResponseMessageBuilder.java - src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointValueSetter.java - src/share/classes/com/sun/xml/internal/ws/server/sei/MessageFiller.java - src/share/classes/com/sun/xml/internal/ws/server/sei/PayloadQNameBasedDispatcher.java - src/share/classes/com/sun/xml/internal/ws/server/sei/SEIInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/sei/SOAPActionBasedDispatcher.java - src/share/classes/com/sun/xml/internal/ws/server/sei/ValueGetter.java - src/share/classes/com/sun/xml/internal/ws/spi/ProviderImpl.java - src/share/classes/com/sun/xml/internal/ws/streaming/Attributes.java - src/share/classes/com/sun/xml/internal/ws/streaming/DOMStreamReader.java - src/share/classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java - src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactory.java - src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactoryImpl.java - src/share/classes/com/sun/xml/internal/ws/streaming/SourceReaderFactory.java - src/share/classes/com/sun/xml/internal/ws/streaming/TidyXMLStreamReader.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLReaderException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderUtil.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterUtil.java - src/share/classes/com/sun/xml/internal/ws/transport/DeferredTransportPipe.java - src/share/classes/com/sun/xml/internal/ws/transport/Headers.java - src/share/classes/com/sun/xml/internal/ws/transport/http/DeploymentDescriptorParser.java - src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java - src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapterList.java - src/share/classes/com/sun/xml/internal/ws/transport/http/HttpDump.java - src/share/classes/com/sun/xml/internal/ws/transport/http/HttpDumpMBean.java - src/share/classes/com/sun/xml/internal/ws/transport/http/HttpMetadataPublisher.java - src/share/classes/com/sun/xml/internal/ws/transport/http/ResourceLoader.java - src/share/classes/com/sun/xml/internal/ws/transport/http/WSHTTPConnection.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/CookieJar.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpCookie.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpResponseProperties.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/RfcDateParser.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/HttpEndpoint.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerConnectionImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerMgr.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/WSHttpHandler.java - src/share/classes/com/sun/xml/internal/ws/util/ASCIIUtility.java - src/share/classes/com/sun/xml/internal/ws/util/ByteArrayBuffer.java - src/share/classes/com/sun/xml/internal/ws/util/ByteArrayDataSource.java - src/share/classes/com/sun/xml/internal/ws/util/CompletedFuture.java - src/share/classes/com/sun/xml/internal/ws/util/Constants.java - src/share/classes/com/sun/xml/internal/ws/util/DOMUtil.java - src/share/classes/com/sun/xml/internal/ws/util/FastInfosetReflection.java - src/share/classes/com/sun/xml/internal/ws/util/FastInfosetUtil.java - src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationInfo.java - src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java - src/share/classes/com/sun/xml/internal/ws/util/JAXWSUtils.java - src/share/classes/com/sun/xml/internal/ws/util/MetadataUtil.java - src/share/classes/com/sun/xml/internal/ws/util/NamespaceSupport.java - src/share/classes/com/sun/xml/internal/ws/util/NoCloseInputStream.java - src/share/classes/com/sun/xml/internal/ws/util/NoCloseOutputStream.java - src/share/classes/com/sun/xml/internal/ws/util/Pool.java - src/share/classes/com/sun/xml/internal/ws/util/QNameMap.java - src/share/classes/com/sun/xml/internal/ws/util/ReadOnlyPropertyException.java - src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersion.java - src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersionMBean.java - src/share/classes/com/sun/xml/internal/ws/util/ServiceConfigurationError.java - src/share/classes/com/sun/xml/internal/ws/util/ServiceFinder.java - src/share/classes/com/sun/xml/internal/ws/util/StringUtils.java - src/share/classes/com/sun/xml/internal/ws/util/UtilException.java - src/share/classes/com/sun/xml/internal/ws/util/Version.java - src/share/classes/com/sun/xml/internal/ws/util/VersionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java - src/share/classes/com/sun/xml/internal/ws/util/exception/LocatableWebServiceException.java - src/share/classes/com/sun/xml/internal/ws/util/localization/Localizable.java - src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableImpl.java - src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessage.java - src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessageFactory.java - src/share/classes/com/sun/xml/internal/ws/util/localization/Localizer.java - src/share/classes/com/sun/xml/internal/ws/util/localization/NullLocalizable.java - src/share/classes/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java - src/share/classes/com/sun/xml/internal/ws/util/pipe/DumpTube.java - src/share/classes/com/sun/xml/internal/ws/util/pipe/StandalonePipeAssembler.java - src/share/classes/com/sun/xml/internal/ws/util/pipe/StandaloneTubeAssembler.java - src/share/classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties - src/share/classes/com/sun/xml/internal/ws/util/version.properties - src/share/classes/com/sun/xml/internal/ws/util/xml/CDATA.java - src/share/classes/com/sun/xml/internal/ws/util/xml/ContentHandlerToXMLStreamWriter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/DummyLocation.java - src/share/classes/com/sun/xml/internal/ws/util/xml/MetadataDocument.java - src/share/classes/com/sun/xml/internal/ws/util/xml/NamedNodeMapIterator.java - src/share/classes/com/sun/xml/internal/ws/util/xml/NodeListIterator.java - src/share/classes/com/sun/xml/internal/ws/util/xml/StAXResult.java - src/share/classes/com/sun/xml/internal/ws/util/xml/StAXSource.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderFilter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamWriterFilter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/DelegatingParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/EntityResolverWrapper.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ErrorHandler.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/FoolProofParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/InaccessibleWSDLException.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MIMEConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MemberSubmissionAddressingWSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MexEntityResolver.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ParserUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/RuntimeWSDLParser.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingMetadataWSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingWSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionContextImpl.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionFacade.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/UsingAddressing.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingWSDLGeneratorExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGeneratorExtensionFacade.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLResolver.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Binding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/BindingOperationType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Definitions.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Documented.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Fault.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/FaultType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Import.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Message.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/OpenAtts.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Operation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/ParamType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Part.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Port.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/PortType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Service.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/StartWithExtensionsType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Types.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Address.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Binding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Operation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/package-info.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/package-info.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Body.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/BodyType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Header.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/HeaderFault.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPAddress.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPBinding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPFault.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPOperation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/package-info.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Body.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/BodyType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Header.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/HeaderFault.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPAddress.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPBinding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPFault.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPOperation.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/package-info.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Import.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Schema.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/package-info.java - src/share/classes/com/sun/xml/internal/xsom/ForeignAttributes.java - src/share/classes/com/sun/xml/internal/xsom/SCD.java - src/share/classes/com/sun/xml/internal/xsom/XSAnnotation.java - src/share/classes/com/sun/xml/internal/xsom/XSAttContainer.java - src/share/classes/com/sun/xml/internal/xsom/XSAttGroupDecl.java - src/share/classes/com/sun/xml/internal/xsom/XSAttributeDecl.java - src/share/classes/com/sun/xml/internal/xsom/XSAttributeUse.java - src/share/classes/com/sun/xml/internal/xsom/XSComplexType.java - src/share/classes/com/sun/xml/internal/xsom/XSComponent.java - src/share/classes/com/sun/xml/internal/xsom/XSContentType.java - src/share/classes/com/sun/xml/internal/xsom/XSDeclaration.java - src/share/classes/com/sun/xml/internal/xsom/XSElementDecl.java - src/share/classes/com/sun/xml/internal/xsom/XSFacet.java - src/share/classes/com/sun/xml/internal/xsom/XSIdentityConstraint.java - src/share/classes/com/sun/xml/internal/xsom/XSListSimpleType.java - src/share/classes/com/sun/xml/internal/xsom/XSModelGroup.java - src/share/classes/com/sun/xml/internal/xsom/XSModelGroupDecl.java - src/share/classes/com/sun/xml/internal/xsom/XSNotation.java - src/share/classes/com/sun/xml/internal/xsom/XSParticle.java - src/share/classes/com/sun/xml/internal/xsom/XSRestrictionSimpleType.java - src/share/classes/com/sun/xml/internal/xsom/XSSchema.java - src/share/classes/com/sun/xml/internal/xsom/XSSchemaSet.java - src/share/classes/com/sun/xml/internal/xsom/XSSimpleType.java - src/share/classes/com/sun/xml/internal/xsom/XSTerm.java - src/share/classes/com/sun/xml/internal/xsom/XSType.java - src/share/classes/com/sun/xml/internal/xsom/XSUnionSimpleType.java - src/share/classes/com/sun/xml/internal/xsom/XSVariety.java - src/share/classes/com/sun/xml/internal/xsom/XSWildcard.java - src/share/classes/com/sun/xml/internal/xsom/XSXPath.java - src/share/classes/com/sun/xml/internal/xsom/XmlString.java - src/share/classes/com/sun/xml/internal/xsom/impl/AnnotationImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/AttGroupDeclImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/AttributeDeclImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/AttributeUseImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/AttributesHolder.java - src/share/classes/com/sun/xml/internal/xsom/impl/ComplexTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ComponentImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/Const.java - src/share/classes/com/sun/xml/internal/xsom/impl/ContentTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/DeclarationImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ElementDecl.java - src/share/classes/com/sun/xml/internal/xsom/impl/EmptyImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/FacetImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ForeignAttributesImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/IdentityConstraintImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ListSimpleTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupDeclImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/NotationImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/ParticleImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/Ref.java - src/share/classes/com/sun/xml/internal/xsom/impl/RestrictionSimpleTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/SchemaImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/SchemaSetImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/SimpleTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/UName.java - src/share/classes/com/sun/xml/internal/xsom/impl/UnionSimpleTypeImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/Util.java - src/share/classes/com/sun/xml/internal/xsom/impl/WildcardImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/XPathImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/package.html - src/share/classes/com/sun/xml/internal/xsom/impl/parser/BaseContentRef.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/DefaultAnnotationParser.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/DelayedRef.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties - src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages_ja.properties - src/share/classes/com/sun/xml/internal/xsom/impl/parser/NGCCRuntimeEx.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/ParserContext.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/Patch.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/PatcherManager.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/SubstGroupBaseTypeRef.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/datatypes.xsd - src/share/classes/com/sun/xml/internal/xsom/impl/parser/package.html - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/AttributesImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventReceiver.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventSource.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCHandler.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCInterleaveFilter.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCRuntime.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/annotation.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/erSet.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/ersSet.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/facet.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/foreignAttributes.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/group.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/notation.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/occurs.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/particle.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qname.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qualification.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/redefine.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java - src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/xpath.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/AbstractAxisImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/Axis.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/Iterators.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/ParseException.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDImpl.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParser.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserConstants.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserTokenManager.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/SimpleCharStream.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/Step.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/Token.java - src/share/classes/com/sun/xml/internal/xsom/impl/scd/TokenMgrError.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/DraconianErrorHandler.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/ResourceEntityResolver.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaTreeTraverser.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/Uri.java - src/share/classes/com/sun/xml/internal/xsom/package.html - src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationContext.java - src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParser.java - src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParserFactory.java - src/share/classes/com/sun/xml/internal/xsom/parser/JAXPParser.java - src/share/classes/com/sun/xml/internal/xsom/parser/SchemaDocument.java - src/share/classes/com/sun/xml/internal/xsom/parser/XMLParser.java - src/share/classes/com/sun/xml/internal/xsom/parser/XSOMParser.java - src/share/classes/com/sun/xml/internal/xsom/parser/package.html - src/share/classes/com/sun/xml/internal/xsom/util/ComponentNameFunction.java - src/share/classes/com/sun/xml/internal/xsom/util/DeferedCollection.java - src/share/classes/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java - src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.java - src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.properties - src/share/classes/com/sun/xml/internal/xsom/util/SimpleTypeSet.java - src/share/classes/com/sun/xml/internal/xsom/util/TypeClosure.java - src/share/classes/com/sun/xml/internal/xsom/util/TypeSet.java - src/share/classes/com/sun/xml/internal/xsom/util/XSFinder.java - src/share/classes/com/sun/xml/internal/xsom/util/XSFunctionFilter.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeFunction.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeVisitor.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSFunction.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeFunction.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeVisitor.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunction.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunctionWithParam.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermVisitor.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSVisitor.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardFunction.java - src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardVisitor.java - src/share/classes/com/sun/xml/internal/xsom/visitor/package.html - src/share/classes/javax/activation/ActivationDataFlavor.java - src/share/classes/javax/activation/CommandInfo.java - src/share/classes/javax/activation/CommandMap.java - src/share/classes/javax/activation/CommandObject.java - src/share/classes/javax/activation/DataContentHandler.java - src/share/classes/javax/activation/DataContentHandlerFactory.java - src/share/classes/javax/activation/DataHandler.java - src/share/classes/javax/activation/DataSource.java - src/share/classes/javax/activation/FileDataSource.java - src/share/classes/javax/activation/FileTypeMap.java - src/share/classes/javax/activation/MailcapCommandMap.java - src/share/classes/javax/activation/MimeType.java - src/share/classes/javax/activation/MimeTypeParameterList.java - src/share/classes/javax/activation/MimeTypeParseException.java - src/share/classes/javax/activation/MimetypesFileTypeMap.java - src/share/classes/javax/activation/SecuritySupport.java - src/share/classes/javax/activation/URLDataSource.java - src/share/classes/javax/activation/UnsupportedDataTypeException.java - src/share/classes/javax/annotation/Generated.java - src/share/classes/javax/annotation/PostConstruct.java - src/share/classes/javax/annotation/PreDestroy.java - src/share/classes/javax/annotation/Resource.java - src/share/classes/javax/annotation/Resources.java - src/share/classes/javax/jws/HandlerChain.java - src/share/classes/javax/jws/Oneway.java - src/share/classes/javax/jws/WebMethod.java - src/share/classes/javax/jws/WebParam.java - src/share/classes/javax/jws/WebResult.java - src/share/classes/javax/jws/WebService.java - src/share/classes/javax/jws/soap/InitParam.java - src/share/classes/javax/jws/soap/SOAPBinding.java - src/share/classes/javax/jws/soap/SOAPMessageHandler.java - src/share/classes/javax/jws/soap/SOAPMessageHandlers.java - src/share/classes/javax/xml/bind/Binder.java - src/share/classes/javax/xml/bind/ContextFinder.java - src/share/classes/javax/xml/bind/DataBindingException.java - src/share/classes/javax/xml/bind/DatatypeConverter.java - src/share/classes/javax/xml/bind/DatatypeConverterImpl.java - src/share/classes/javax/xml/bind/DatatypeConverterInterface.java - src/share/classes/javax/xml/bind/Element.java - src/share/classes/javax/xml/bind/GetPropertyAction.java - src/share/classes/javax/xml/bind/JAXB.java - src/share/classes/javax/xml/bind/JAXBContext.java - src/share/classes/javax/xml/bind/JAXBElement.java - src/share/classes/javax/xml/bind/JAXBException.java - src/share/classes/javax/xml/bind/JAXBIntrospector.java - src/share/classes/javax/xml/bind/MarshalException.java - src/share/classes/javax/xml/bind/Marshaller.java - src/share/classes/javax/xml/bind/Messages.java - src/share/classes/javax/xml/bind/Messages.properties - src/share/classes/javax/xml/bind/NotIdentifiableEvent.java - src/share/classes/javax/xml/bind/ParseConversionEvent.java - src/share/classes/javax/xml/bind/PrintConversionEvent.java - src/share/classes/javax/xml/bind/PropertyException.java - src/share/classes/javax/xml/bind/SchemaOutputResolver.java - src/share/classes/javax/xml/bind/TypeConstraintException.java - src/share/classes/javax/xml/bind/UnmarshalException.java - src/share/classes/javax/xml/bind/Unmarshaller.java - src/share/classes/javax/xml/bind/UnmarshallerHandler.java - src/share/classes/javax/xml/bind/ValidationEvent.java - src/share/classes/javax/xml/bind/ValidationEventHandler.java - src/share/classes/javax/xml/bind/ValidationEventLocator.java - src/share/classes/javax/xml/bind/ValidationException.java - src/share/classes/javax/xml/bind/Validator.java - src/share/classes/javax/xml/bind/WhiteSpaceProcessor.java - src/share/classes/javax/xml/bind/annotation/DomHandler.java - src/share/classes/javax/xml/bind/annotation/W3CDomHandler.java - src/share/classes/javax/xml/bind/annotation/XmlAccessOrder.java - src/share/classes/javax/xml/bind/annotation/XmlAccessType.java - src/share/classes/javax/xml/bind/annotation/XmlAccessorOrder.java - src/share/classes/javax/xml/bind/annotation/XmlAccessorType.java - src/share/classes/javax/xml/bind/annotation/XmlAnyAttribute.java - src/share/classes/javax/xml/bind/annotation/XmlAnyElement.java - src/share/classes/javax/xml/bind/annotation/XmlAttachmentRef.java - src/share/classes/javax/xml/bind/annotation/XmlAttribute.java - src/share/classes/javax/xml/bind/annotation/XmlElement.java - src/share/classes/javax/xml/bind/annotation/XmlElementDecl.java - src/share/classes/javax/xml/bind/annotation/XmlElementRef.java - src/share/classes/javax/xml/bind/annotation/XmlElementRefs.java - src/share/classes/javax/xml/bind/annotation/XmlElementWrapper.java - src/share/classes/javax/xml/bind/annotation/XmlElements.java - src/share/classes/javax/xml/bind/annotation/XmlEnum.java - src/share/classes/javax/xml/bind/annotation/XmlEnumValue.java - src/share/classes/javax/xml/bind/annotation/XmlID.java - src/share/classes/javax/xml/bind/annotation/XmlIDREF.java - src/share/classes/javax/xml/bind/annotation/XmlInlineBinaryData.java - src/share/classes/javax/xml/bind/annotation/XmlList.java - src/share/classes/javax/xml/bind/annotation/XmlMimeType.java - src/share/classes/javax/xml/bind/annotation/XmlMixed.java - src/share/classes/javax/xml/bind/annotation/XmlNs.java - src/share/classes/javax/xml/bind/annotation/XmlNsForm.java - src/share/classes/javax/xml/bind/annotation/XmlRegistry.java - src/share/classes/javax/xml/bind/annotation/XmlRootElement.java - src/share/classes/javax/xml/bind/annotation/XmlSchema.java - src/share/classes/javax/xml/bind/annotation/XmlSchemaType.java - src/share/classes/javax/xml/bind/annotation/XmlSchemaTypes.java - src/share/classes/javax/xml/bind/annotation/XmlSeeAlso.java - src/share/classes/javax/xml/bind/annotation/XmlTransient.java - src/share/classes/javax/xml/bind/annotation/XmlType.java - src/share/classes/javax/xml/bind/annotation/XmlValue.java - src/share/classes/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java - src/share/classes/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java - src/share/classes/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java - src/share/classes/javax/xml/bind/annotation/adapters/XmlAdapter.java - src/share/classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java - src/share/classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java - src/share/classes/javax/xml/bind/annotation/adapters/package.html - src/share/classes/javax/xml/bind/annotation/package.html - src/share/classes/javax/xml/bind/attachment/AttachmentMarshaller.java - src/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java - src/share/classes/javax/xml/bind/attachment/package.html - src/share/classes/javax/xml/bind/helpers/AbstractMarshallerImpl.java - src/share/classes/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java - src/share/classes/javax/xml/bind/helpers/DefaultValidationEventHandler.java - src/share/classes/javax/xml/bind/helpers/Messages.java - src/share/classes/javax/xml/bind/helpers/Messages.properties - src/share/classes/javax/xml/bind/helpers/NotIdentifiableEventImpl.java - src/share/classes/javax/xml/bind/helpers/ParseConversionEventImpl.java - src/share/classes/javax/xml/bind/helpers/PrintConversionEventImpl.java - src/share/classes/javax/xml/bind/helpers/ValidationEventImpl.java - src/share/classes/javax/xml/bind/helpers/ValidationEventLocatorImpl.java - src/share/classes/javax/xml/bind/helpers/package.html - src/share/classes/javax/xml/bind/package.html - src/share/classes/javax/xml/bind/util/JAXBResult.java - src/share/classes/javax/xml/bind/util/JAXBSource.java - src/share/classes/javax/xml/bind/util/Messages.java - src/share/classes/javax/xml/bind/util/Messages.properties - src/share/classes/javax/xml/bind/util/ValidationEventCollector.java - src/share/classes/javax/xml/bind/util/package.html - src/share/classes/javax/xml/soap/AttachmentPart.java - src/share/classes/javax/xml/soap/Detail.java - src/share/classes/javax/xml/soap/DetailEntry.java - src/share/classes/javax/xml/soap/FactoryFinder.java - src/share/classes/javax/xml/soap/MessageFactory.java - src/share/classes/javax/xml/soap/MimeHeader.java - src/share/classes/javax/xml/soap/MimeHeaders.java - src/share/classes/javax/xml/soap/Name.java - src/share/classes/javax/xml/soap/Node.java - src/share/classes/javax/xml/soap/SAAJMetaFactory.java - src/share/classes/javax/xml/soap/SAAJResult.java - src/share/classes/javax/xml/soap/SOAPBody.java - src/share/classes/javax/xml/soap/SOAPBodyElement.java - src/share/classes/javax/xml/soap/SOAPConnection.java - src/share/classes/javax/xml/soap/SOAPConnectionFactory.java - src/share/classes/javax/xml/soap/SOAPConstants.java - src/share/classes/javax/xml/soap/SOAPElement.java - src/share/classes/javax/xml/soap/SOAPElementFactory.java - src/share/classes/javax/xml/soap/SOAPEnvelope.java - src/share/classes/javax/xml/soap/SOAPException.java - src/share/classes/javax/xml/soap/SOAPFactory.java - src/share/classes/javax/xml/soap/SOAPFault.java - src/share/classes/javax/xml/soap/SOAPFaultElement.java - src/share/classes/javax/xml/soap/SOAPHeader.java - src/share/classes/javax/xml/soap/SOAPHeaderElement.java - src/share/classes/javax/xml/soap/SOAPMessage.java - src/share/classes/javax/xml/soap/SOAPPart.java - src/share/classes/javax/xml/soap/Text.java - src/share/classes/javax/xml/soap/package.html - src/share/classes/javax/xml/ws/Action.java - src/share/classes/javax/xml/ws/AsyncHandler.java - src/share/classes/javax/xml/ws/Binding.java - src/share/classes/javax/xml/ws/BindingProvider.java - src/share/classes/javax/xml/ws/BindingType.java - src/share/classes/javax/xml/ws/Dispatch.java - src/share/classes/javax/xml/ws/Endpoint.java - src/share/classes/javax/xml/ws/EndpointReference.java - src/share/classes/javax/xml/ws/FaultAction.java - src/share/classes/javax/xml/ws/Holder.java - src/share/classes/javax/xml/ws/LogicalMessage.java - src/share/classes/javax/xml/ws/ProtocolException.java - src/share/classes/javax/xml/ws/Provider.java - src/share/classes/javax/xml/ws/RequestWrapper.java - src/share/classes/javax/xml/ws/RespectBinding.java - src/share/classes/javax/xml/ws/RespectBindingFeature.java - src/share/classes/javax/xml/ws/Response.java - src/share/classes/javax/xml/ws/ResponseWrapper.java - src/share/classes/javax/xml/ws/Service.java - src/share/classes/javax/xml/ws/ServiceMode.java - src/share/classes/javax/xml/ws/WebEndpoint.java - src/share/classes/javax/xml/ws/WebFault.java - src/share/classes/javax/xml/ws/WebServiceClient.java - src/share/classes/javax/xml/ws/WebServiceContext.java - src/share/classes/javax/xml/ws/WebServiceException.java - src/share/classes/javax/xml/ws/WebServiceFeature.java - src/share/classes/javax/xml/ws/WebServicePermission.java - src/share/classes/javax/xml/ws/WebServiceProvider.java - src/share/classes/javax/xml/ws/WebServiceRef.java - src/share/classes/javax/xml/ws/WebServiceRefs.java - src/share/classes/javax/xml/ws/handler/Handler.java - src/share/classes/javax/xml/ws/handler/HandlerResolver.java - src/share/classes/javax/xml/ws/handler/LogicalHandler.java - src/share/classes/javax/xml/ws/handler/LogicalMessageContext.java - src/share/classes/javax/xml/ws/handler/MessageContext.java - src/share/classes/javax/xml/ws/handler/PortInfo.java - src/share/classes/javax/xml/ws/handler/package.html - src/share/classes/javax/xml/ws/handler/soap/SOAPHandler.java - src/share/classes/javax/xml/ws/handler/soap/SOAPMessageContext.java - src/share/classes/javax/xml/ws/handler/soap/package.html - src/share/classes/javax/xml/ws/http/HTTPBinding.java - src/share/classes/javax/xml/ws/http/HTTPException.java - src/share/classes/javax/xml/ws/http/package.html - src/share/classes/javax/xml/ws/package.html - src/share/classes/javax/xml/ws/soap/Addressing.java - src/share/classes/javax/xml/ws/soap/AddressingFeature.java - src/share/classes/javax/xml/ws/soap/MTOM.java - src/share/classes/javax/xml/ws/soap/MTOMFeature.java - src/share/classes/javax/xml/ws/soap/SOAPBinding.java - src/share/classes/javax/xml/ws/soap/SOAPFaultException.java - src/share/classes/javax/xml/ws/soap/package.html - src/share/classes/javax/xml/ws/spi/FactoryFinder.java - src/share/classes/javax/xml/ws/spi/Provider.java - src/share/classes/javax/xml/ws/spi/ServiceDelegate.java - src/share/classes/javax/xml/ws/spi/WebServiceFeatureAnnotation.java - src/share/classes/javax/xml/ws/spi/package.html - src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReference.java - src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java - src/share/classes/javax/xml/ws/wsaddressing/package-info.java - src/share/classes/javax/xml/ws/wsaddressing/package.html - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java From dl at cs.oswego.edu Fri Oct 23 23:43:51 2009 From: dl at cs.oswego.edu (Doug Lea) Date: Fri, 23 Oct 2009 19:43:51 -0400 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> Message-ID: <4AE23FB7.3060906@cs.oswego.edu> Ismael Juma wrote: > [... HashMaps...] > >>From the email you mention: > > "I'm not convinced that they are enough better to commit." > > To me that sounds like it's not going in at all. > Although at the end of that mail (http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002168.html) I mentioned that there are several less dramatic changes to the current implementation that seem worthwhile. In case anyone is interested, a preliminary version with those changes, that I put together shortly afterward is at http://gee.cs.oswego.edu/dl/wwwtmp/HashMapV6.java One of these days/weeks/months I hope to re-check for further possible improvements and consider committing. -Doug From alan.bateman at sun.com Sat Oct 24 19:36:57 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Sat, 24 Oct 2009 19:36:57 +0000 Subject: hg: jdk7/tl/jdk: 6894633: NetHooks should not require provider to be present (sol) Message-ID: <20091024193738.A1CA94191D@hg.openjdk.java.net> Changeset: 2a0ed9d89fb0 Author: alanb Date: 2009-10-24 20:36 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2a0ed9d89fb0 6894633: NetHooks should not require provider to be present (sol) Reviewed-by: chegar, jccollet ! src/solaris/classes/sun/net/NetHooks.java From assembling.signals at yandex.ru Sun Oct 25 19:42:30 2009 From: assembling.signals at yandex.ru (assembling signals) Date: Sun, 25 Oct 2009 22:42:30 +0300 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? Message-ID: <81861256499750@webmail127.yandex.ru> Hello! I am thinking about a new method getSafe(...) for the "Collections" utility class. It would do get(...) on a map, but instead of returning null (when an entry is not found), it would throw NoSuchElementException. @Nonnull public static V getSafe(Map map, Object key){ if(!map.containsKey(key)) { throw new NoSuchElementException(/* some message here */); } return map.get(key); } What do you think about it? From scolebourne at joda.org Mon Oct 26 13:01:46 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Mon, 26 Oct 2009 13:01:46 +0000 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> Message-ID: <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> Not wishing to confuse the debate, but perhaps the correct place for this is a static Strings class, that parallels Objects. We all know that there are lots of possible methods for such a class, but even if JDK7 had just a few, that would be a good start. Joe, would you be prepared to sponsor a Strings class, and see join on there instead of String? Stephen 2009/10/23 Kevin Bourrillion : > FYI, > While I certainly love my "Joiner" baby, and while y'all have blanket > permission to make use of any of our code you want, I think it's entirely > appropriate for the JDK to just hit the 80% case with a static method > directly on String. > (And yes, the fact that split() is an instance method is a false parallel.) > > > On Fri, Oct 23, 2009 at 8:58 AM, Joe Kearney > wrote: >> >> Hi, >> >> From the peanut gallery, it seems to me that there is a genuine reason to >> leave join as a static method (if we're not going after the >> google-collections approach of a Joiner class) in that split acts on one >> existing String, whereas join creates one from others. On which object would >> you call the join method? The separator? I know this was covered on this >> list before, but it still strikes me as looking a little wierd. >> >>> ",".join("a", "b", "c") >> >> versus >>> >>> Joiner.on(",").join("a", "b", "c") >> >> Thanks, >> Joe >> >> 2009/10/23 Mark Reinhold >>> >>> > Date: Fri, 23 Oct 2009 10:10:35 +0200 >>> > From: R?mi Forax >>> >>> > Le 23/10/2009 03:53, Joe Darcy a ?crit : >>> >> Following up on this, what is the exact revised proposal? >>> >> >>> >> In java.lang.String: >>> >> >>> >> ? ?public static String join(String separator, Iterable objects); >>> >> ? ?public static String join(String separator, Object[] objects); >>> >> ? ?public static String join(String separator, Object first, Object... >>> >> rest); >>> >> >>> >> with analogous methods in StringBuffer and StringBuilder return that >>> >> type, >>> >> respectively, instead of String? >>> > >>> > I don't know. In my opinion, the main problem with join specified using >>> > static methods is that split is not currently specified as a static >>> > method. ?Because join is the dual of split, one could find the usage of >>> > static methods weird. >>> >>> I agree. ?The join methods should be instance methods, not static >>> methods. >>> >>> - Mark >> > > > > -- > Kevin Bourrillion @ Google > internal: ?http://go/javalibraries > external: guava-libraries.googlecode.com > > From scolebourne at joda.org Mon Oct 26 13:03:52 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Mon, 26 Oct 2009 13:03:52 +0000 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? In-Reply-To: <81861256499750@webmail127.yandex.ru> References: <81861256499750@webmail127.yandex.ru> Message-ID: <4b4f45e00910260603r6d1efe02ic3fa26b73eb5f4b0@mail.gmail.com> This isn't one I've seen much use for. It would also be possible to write it as a decorating wrapper for a map, rather than as a static utility method. Stephen 2009/10/25 assembling signals : > Hello! > > I am thinking about a new method getSafe(...) for the "Collections" utility class. > > It would do get(...) on a map, but instead of returning null (when an entry is not found), > it would throw NoSuchElementException. > > @Nonnull > public static V getSafe(Map map, Object key){ > ?if(!map.containsKey(key)) { > ? ?throw new NoSuchElementException(/* some message here */); > ?} > > ?return map.get(key); > } > > What do you think about it? > From Ulf.Zibis at gmx.de Mon Oct 26 13:44:10 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 26 Oct 2009 14:44:10 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> Message-ID: <4AE5A7AA.7020802@gmx.de> Am 26.10.2009 14:01, Stephen Colebourne schrieb: > Not wishing to confuse the debate, but perhaps the correct place for > this is a static Strings class, that parallels Objects. > > -1 Doing this consequently we could have for each "normal" class 'ClassName' it's static helper class 'ClassNames', so we don't have any static method in a normal class, and so we could drop this language concept completely from Java and instead introduce a kind of Class, where all method's are static by definition, similar to abstract class, where all methods are abstract. I assume, the first of the '...s'-classes was 'Arrays', introduced, because array object's and there members (e.g. length) are not defined via normal class syntax. IMO, introducing '...s'-classes for whatever class is a bad idea, and would satirize the existence of static methods at all, whose task it is worthy, to provide helper functions to instances of objects, where they are defined. Reflecting about this, I would also prefer, to move those static Objects class methods to existing java.lang.Object. Having this, we wouldn't need to statically import those methods in any class. -Ulf From pbenedict at apache.org Mon Oct 26 14:56:10 2009 From: pbenedict at apache.org (Paul Benedict) Date: Mon, 26 Oct 2009 09:56:10 -0500 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? Message-ID: Since we're talking Map, I think a more utility would be gained by including putIfAbsent (see java.util.concurrent) because I see many lines of code that do that idiom all the time. This idiom is especially prevalent when the value is itself a nested collection. Map> map = ... List collection = map.get(key); if (collection == null) { collection = new LinkedList(); map.put(key, collection); } collection.add(value); Paul From forax at univ-mlv.fr Mon Oct 26 15:20:07 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Mon, 26 Oct 2009 16:20:07 +0100 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? In-Reply-To: References: Message-ID: <4AE5BE27.6010006@univ-mlv.fr> Le 26/10/2009 15:56, Paul Benedict a ?crit : > Since we're talking Map, I think a more utility would be gained by > including putIfAbsent (see java.util.concurrent) because I see many > lines of code that do that idiom all the time. > > This idiom is especially prevalent when the value is itself a nested collection. > > Map> map = ... > List collection = map.get(key); > if (collection == null) { > collection = new LinkedList(); > map.put(key, collection); > } > collection.add(value); > > Paul > Paul, you need closures for that one. R?mi From pbenedict at apache.org Mon Oct 26 15:57:17 2009 From: pbenedict at apache.org (Paul Benedict) Date: Mon, 26 Oct 2009 10:57:17 -0500 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? Message-ID: I actually don't need closures to accomplish this. Now this solution I wouldn't recommend for the JDK, but a subclass of Map could automatically do the management of the inner collections for me. Paul From David.Holmes at Sun.COM Mon Oct 26 16:07:14 2009 From: David.Holmes at Sun.COM (David Holmes) Date: Tue, 27 Oct 2009 02:07:14 +1000 Subject: How's about Collections.getSafe(...) for Map, which wouldn't return null? In-Reply-To: References: Message-ID: <4AE5C932.5020701@sun.com> Hi Paul, Paul Benedict wrote: > Since we're talking Map, I think a more utility would be gained by > including putIfAbsent (see java.util.concurrent) because I see many > lines of code that do that idiom all the time. > > This idiom is especially prevalent when the value is itself a nested collection. > > Map> map = ... > List collection = map.get(key); > if (collection == null) { > collection = new LinkedList(); > map.put(key, collection); > } > collection.add(value); I suspect Remi referred to closures to have a way to let the user define what should happen in place of "new LinkedList" above. The ConcurrentMap.putIfAbsent takes the potentially inserted object as a parameter and you have to take special steps to try to avoid unnecessary contruction (google Memoizer). My main concern about non-concurrent putIfAbsent is that it is non-concurrent and I would not want users to get the two confused. Just 2c. David Holmes From Joe.Darcy at Sun.COM Mon Oct 26 16:08:53 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 26 Oct 2009 09:08:53 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> Message-ID: <4AE5C995.5070806@sun.com> Stephen Colebourne wrote: > Not wishing to confuse the debate, but perhaps the correct place for > this is a static Strings class, that parallels Objects. > > We all know that there are lots of possible methods for such a class, > but even if JDK7 had just a few, that would be a good start. > > Joe, would you be prepared to sponsor a Strings class, and see join on > there instead of String? > No. While I believe a "StringUtils" class would have been appropriate early in the platform's life to host more advanced string manipulation facilities, I don't think adding such a class now is the right design. IMO, the join method, whether it is an instance method or a static one, should live in java.lang.String. -Joe > Stephen > > > 2009/10/23 Kevin Bourrillion : > >> FYI, >> While I certainly love my "Joiner" baby, and while y'all have blanket >> permission to make use of any of our code you want, I think it's entirely >> appropriate for the JDK to just hit the 80% case with a static method >> directly on String. >> (And yes, the fact that split() is an instance method is a false parallel.) >> >> >> On Fri, Oct 23, 2009 at 8:58 AM, Joe Kearney >> wrote: >> >>> Hi, >>> >>> From the peanut gallery, it seems to me that there is a genuine reason to >>> leave join as a static method (if we're not going after the >>> google-collections approach of a Joiner class) in that split acts on one >>> existing String, whereas join creates one from others. On which object would >>> you call the join method? The separator? I know this was covered on this >>> list before, but it still strikes me as looking a little wierd. >>> >>> >>>> ",".join("a", "b", "c") >>>> >>> versus >>> >>>> Joiner.on(",").join("a", "b", "c") >>>> >>> Thanks, >>> Joe >>> >>> 2009/10/23 Mark Reinhold >>> >>>>> Date: Fri, 23 Oct 2009 10:10:35 +0200 >>>>> From: R?mi Forax >>>>> >>>>> Le 23/10/2009 03:53, Joe Darcy a ?crit : >>>>> >>>>>> Following up on this, what is the exact revised proposal? >>>>>> >>>>>> In java.lang.String: >>>>>> >>>>>> public static String join(String separator, Iterable objects); >>>>>> public static String join(String separator, Object[] objects); >>>>>> public static String join(String separator, Object first, Object... >>>>>> rest); >>>>>> >>>>>> with analogous methods in StringBuffer and StringBuilder return that >>>>>> type, >>>>>> respectively, instead of String? >>>>>> >>>>> I don't know. In my opinion, the main problem with join specified using >>>>> static methods is that split is not currently specified as a static >>>>> method. Because join is the dual of split, one could find the usage of >>>>> static methods weird. >>>>> >>>> I agree. The join methods should be instance methods, not static >>>> methods. >>>> >>>> - Mark >>>> >> >> -- >> Kevin Bourrillion @ Google >> internal: http://go/javalibraries >> external: guava-libraries.googlecode.com >> >> >> From David.Holmes at Sun.COM Mon Oct 26 16:29:32 2009 From: David.Holmes at Sun.COM (David Holmes) Date: Tue, 27 Oct 2009 02:29:32 +1000 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE5C995.5070806@sun.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> Message-ID: <4AE5CE6C.7060300@sun.com> Joseph D. Darcy wrote: > Stephen Colebourne wrote: >> Joe, would you be prepared to sponsor a Strings class, and see join on >> there instead of String? >> > > No. +1. It was necessary to introduce Arrays and Collections for utility methods because there was no place else to locate the static methods. But for String these should simply be static String methods. But that also means I'd prefer to see additional static methods in Object, rather than the added Objects class. Personally I think a java.util.Utilities class containing nested static classes for Objects, Arrays, Collections, Strings, Maps etc, might have been a better way to organize such things. But it's probably too late now as the duplication would be very ugly. David From Ulf.Zibis at gmx.de Mon Oct 26 16:54:08 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 26 Oct 2009 17:54:08 +0100 Subject: What methods should go into a java.util.Objects class in JDK 7? In-Reply-To: <4AA812D0.309@sun.com> References: <4AA812D0.309@sun.com> Message-ID: <4AE5D430.10806@gmx.de> Am 09.09.2009 22:40, Joe Darcy schrieb: > Hello. > > For JDK 7, I think it is high-time the platform included a class like > java.util.Objects to hold commonly-written utility methods. For > example, a two-argument static equals method that returned true if > both arguments are null, returns false is one argument is null, and > otherwise returns the result of calling arg1.equals(arg2) (6797535 > "Add shared two argument static equals method to the platform"). > > A static hashCode method returning 0 for null and the value of > arg.hashCode() has also been suggested. > > A set of > > static int compareTo(int, int) > static int compareTo(long, long) > .... > > methods probably belongs somewhere in the platform too. > > What other utility methods would have broad enough use and > applicability to go into a common java.util class? Maybe a little late, but as I said regarding suggested "Strings" class: Imagine, you could just write int result = compare(x, y); int hash = hashCode(x); in any class, without having to statically import java.util.Objects.*. This smartness would be possible, if those few static methods in Objects would be moved to java.lang.Object. Introducing a static helper class 'ClassNames' consequently for each "normal" class 'ClassName' we would end up in don't having any static method in a normal class, and so we could drop this language concept completely from Java and instead introduce a kind of "static" class, where all method's are static by definition, similar to abstract class, where all methods are abstract. I assume, the first of the '...s'-classes was 'Arrays', introduced, because array object's and there members (e.g. length) are not defined via normal class syntax. IMO, introducing '...s'-classes for whatever class is a bad idea, and would _*satirize*_ the existence of _*static methods at all*_, whose worthy task it is , to provide helper functions to instances of objects, where they are defined. But I think, it's not too late, to change it in JDK 7. -Ulf -------------- next part -------------- An HTML attachment was scrubbed... URL: From neal at gafter.com Mon Oct 26 17:40:49 2009 From: neal at gafter.com (Neal Gafter) Date: Mon, 26 Oct 2009 10:40:49 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE5CE6C.7060300@sun.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> Message-ID: <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> You can hardly add any methods to Object, event static methods, without breaking compatibility, because they get added to every the overload set if the name is used for methods in existing code. On Mon, Oct 26, 2009 at 9:29 AM, David Holmes wrote: > Joseph D. Darcy wrote: > > Stephen Colebourne wrote: >> >>> Joe, would you be prepared to sponsor a Strings class, and see join on >>> there instead of String? >>> >>> >> >> No. >> > > +1. > > It was necessary to introduce Arrays and Collections for utility methods > because there was no place else to locate the static methods. But for String > these should simply be static String methods. > > But that also means I'd prefer to see additional static methods in Object, > rather than the added Objects class. > > Personally I think a java.util.Utilities class containing nested static > classes for Objects, Arrays, Collections, Strings, Maps etc, might have been > a better way to organize such things. But it's probably too late now as the > duplication would be very ugly. > > David > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Joe.Darcy at Sun.COM Mon Oct 26 17:43:20 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Mon, 26 Oct 2009 10:43:20 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> Message-ID: <4AE5DFB8.3@sun.com> Neal Gafter wrote: > You can hardly add any methods to Object, event static methods, > without breaking compatibility, because they get added to every the > overload set if the name is used for methods in existing code. Indeed, which is why these methods were added in a new class to prevent unwanted changes to the meaning of source code. -Joe > > On Mon, Oct 26, 2009 at 9:29 AM, David Holmes > wrote: > > Joseph D. Darcy wrote: > > Stephen Colebourne wrote: > > Joe, would you be prepared to sponsor a Strings class, and > see join on > there instead of String? > > > > No. > > > +1. > > It was necessary to introduce Arrays and Collections for utility > methods because there was no place else to locate the static > methods. But for String these should simply be static String methods. > > But that also means I'd prefer to see additional static methods in > Object, rather than the added Objects class. > > Personally I think a java.util.Utilities class containing nested > static classes for Objects, Arrays, Collections, Strings, Maps > etc, might have been a better way to organize such things. But > it's probably too late now as the duplication would be very ugly. > > David > > From David.Holmes at Sun.COM Mon Oct 26 18:00:04 2009 From: David.Holmes at Sun.COM (David Holmes) Date: Tue, 27 Oct 2009 04:00:04 +1000 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE5DFB8.3@sun.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> Message-ID: <4AE5E3A4.3090901@sun.com> Joseph D. Darcy wrote: > Neal Gafter wrote: >> You can hardly add any methods to Object, event static methods, >> without breaking compatibility, because they get added to every the >> overload set if the name is used for methods in existing code. > > Indeed, which is why these methods were added in a new class to prevent > unwanted changes to the meaning of source code. Ah yes I hadn't considered that. A static method in Object would be found ahead of an imported method. Pity - it would have been somewhat more consistent. Though I guess now only String is "inconsistent" with regard to the 's' class convention (not that I'd advocate changing that.) Thanks, David > -Joe > >> >> On Mon, Oct 26, 2009 at 9:29 AM, David Holmes > > wrote: >> >> Joseph D. Darcy wrote: >> >> Stephen Colebourne wrote: >> >> Joe, would you be prepared to sponsor a Strings class, and >> see join on >> there instead of String? >> >> >> No. >> >> >> +1. >> >> It was necessary to introduce Arrays and Collections for utility >> methods because there was no place else to locate the static >> methods. But for String these should simply be static String methods. >> >> But that also means I'd prefer to see additional static methods in >> Object, rather than the added Objects class. >> >> Personally I think a java.util.Utilities class containing nested >> static classes for Objects, Arrays, Collections, Strings, Maps >> etc, might have been a better way to organize such things. But >> it's probably too late now as the duplication would be very ugly. >> >> David >> >> > From scolebourne at joda.org Mon Oct 26 21:38:11 2009 From: scolebourne at joda.org (Stephen Colebourne) Date: Mon, 26 Oct 2009 21:38:11 +0000 Subject: Strings [was Re: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7] In-Reply-To: <4AE5C995.5070806@sun.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> Message-ID: <4AE616C3.2020701@joda.org> Joseph D. Darcy wrote: > Stephen Colebourne wrote: >> Joe, would you be prepared to sponsor a Strings class, and see join on >> there instead of String? > > No. > > While I believe a "StringUtils" class would have been appropriate early > in the platform's life to host more advanced string manipulation > facilities, I don't think adding such a class now is the right design. > > IMO, the join method, whether it is an instance method or a static one, > should live in java.lang.String. This choice effectively means that Java will continue to have no decent set of string manipulation code in the JDK IMO. There are many, many methods which are coded again and again for manipulating strings. Just look at the size of Commons Lang StringUtils, or similar classes elsewhere: http://commons.apache.org/lang//api/org/apache/commons/lang/StringUtils.html Any attempt to add this variety of static methods to String will simply result in a class containing more static methods than non-static ones. Of course one can argue that many of these methods could become instance methods if added to String itself. Unfortunately, the null-handling behaviour of the static method is considered a feature to many (and one which instance methods on String wouldn't replicate in the absence of Coin's rejected null operators). (The argument that Strings negates the presence of static methods is one I find simplistic. The current static methods on String are factory methods - the new ones which might be added have an entirely different focus.) By the way, one advantage of a Strings class is that it could contain a new implementation of split - one that doesn't use regex and isn't as complex/useless as the current one on String. But hey, what do I know. I'm obviously not in the slightest bit in tune with the thinking around here.... Stephen From Mandy.Chung at Sun.COM Tue Oct 27 05:52:20 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Mon, 26 Oct 2009 22:52:20 -0700 Subject: Review request for 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot Message-ID: <4AE68A94.9070305@sun.com> Fixed 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot Webrev at: http://cr.openjdk.java.net/~mchung/6895456/webrev.00/ java.io.ObjectStreamClass is not needed if not doing serialization. Move getSignatureClass static method to java.io.ObjectStreamField class. ObjectStreamField is always loaded due to the declaration of serialPersistentFields in a few core classes as they have evolved in the previous releases. Thanks Mandy From alex14n at gmail.com Tue Oct 27 06:22:44 2009 From: alex14n at gmail.com (Alex Yakovlev) Date: Tue, 27 Oct 2009 09:22:44 +0300 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <4AE23FB7.3060906@cs.oswego.edu> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> <4AE23FB7.3060906@cs.oswego.edu> Message-ID: Doug, On Sat, Oct 24, 2009 at 2:43 AM, Doug Lea
wrote: > Although at the end of that mail > (http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002168.html) > I mentioned that there are several less dramatic > changes to the current implementation that seem worthwhile. > In case anyone is interested, a preliminary version with those > changes, that I put together shortly afterward is at > http://gee.cs.oswego.edu/dl/wwwtmp/HashMapV6.java > One of these days/weeks/months I hope to re-check for further > possible improvements and consider committing. I have an idea how to improve both yours and mine previous efforts. I've got no code to show but the idea is to have 3 arrays: Object[] keyValueTable with key/value mappings. It's size is 2*capacity so it's based on open hash approach, and it's lazy-initialized. int[] indexTable with complex indices. Lowest bits contains next index, in the middle are hashCode bits, and there's one bit flag indicating that this cell is from another hash chain. We don't need 'end of list' bit flag - it can be encoded by having next index bits equal to this cell index. Entry[] overflowTable with HashEntry-based linked list for overflow. It will be used only for very large maps, or maybe for small too with load factor >=1, what do you think? This will be faster (less memory lookups) than storing all overflow data in a single trie. In get method we first look into keyValueTable. If it's key part is null - return null, if it's referentially equals to given key - return stored value, thus we'll have only one random memory lookup. Else we look indexTable, if it's 'another chain' bit is set - return null, else compare hash bits, if equals - compare key calling equals. If they are not equal - check next index until it's equal to current indicating end-of-list. If overflowTable is not null also check it (it's like table current HashMap). By storing next index in open hash approach we'll get linked hash performance (no 'false' lookups) on gets (but put operation will be slower than in pure linked hash). We can use adjacent cells which gives several percent gain as I wrote before. Defragmentation trick cannot be used in open map approach (and it results in too complex code) but we can use not only next free index but also previous, or maybe several steps forward/backward that could be prefetched. This should be tested on different platforms to figure out optimal behavior. In put operation we may need to move out other entries from other hash chains, but we have no space to store previous index to have double linked list, so we'll need to check possible previous indices - either adjacent or using some large step or some inversible function - here I'll strongle need your advice. Then to insert new key we first check adjacent cell, fill it if it's empty, it now - take a big step, either fixed or some function-based, fill it if empry, take another step if not, etc. We can also limit number of possible steps after which we'll use overflowTable. And if current hash load is high enough or arrays sizes is at maximum we'll use overflowTable anyway. To iterate over elements we first iterate over keyValueTable then overflowTable if it's not null. To have HashSet use less memory we can have a flag indicating that keyValueTable contains only keys, but probably we should check if it does not hurt performance. For Linked map we'll add two double-element arrrays, one with next/previous index, another (initialized only with overflowTable) with pointer to next/prev HashEntries. Also in Entry object we'll need to add two index fields and two pointers to link either to main arrays or to overflow Entry object. Do you think it's worth trying? This way we'll have the best of your open-hash-based previous approach and mine complex indices + using adjacent cells for prefetching, having no problem with big load factors and very large maps with better speed than single trie for everything needing ~30 random memory lookups (one for each bit). Alex From eliasen at mindspring.com Tue Oct 27 07:12:45 2009 From: eliasen at mindspring.com (Alan Eliasen) Date: Tue, 27 Oct 2009 01:12:45 -0600 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> Message-ID: <4AE69D6D.7010500@mindspring.com> On 10/23/2009 11:01 AM, Andrew John Hughes wrote: > 6622432 is the one of the ones I just pointed to i.e. it's in JDK7. > If Alan has a further patch and hasn't even submitted it for > inclusion, it's obviously not in. I had just queried Joe Darcy at Sun about reviewing my patches for Karatsuba and Toom-Cook multiplication in BigInteger again last week. His reply was: "Yes, I apologize again for the repeated delays; I want to get your Karatsuba work reviewed and integrated within this JDK 7 milestone (the next few weeks)." So I'm hopeful. So far, I haven't heard of any substantive issues with the patches. They were mostly stylistic. As I've stated before, I also have patches that greatly improve the performance of pow() and toString() (by orders of magnitude) that I have been holding on to for a long time, and hoping to submit after the multiplication patches are approved. (I was asked by Joe Darcy to submit in smaller patches.) Hopefully these might get in JDK 7 too. -- Alan Eliasen eliasen at mindspring.com http://futureboy.us/ From Alan.Bateman at Sun.COM Tue Oct 27 08:37:01 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 27 Oct 2009 08:37:01 +0000 Subject: Review request for 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot In-Reply-To: <4AE68A94.9070305@sun.com> References: <4AE68A94.9070305@sun.com> Message-ID: <4AE6B12D.5020101@sun.com> Mandy Chung wrote: > Fixed 6895456: Eliminate dependency on java.io.ObjectStreamClass > during boot > > Webrev at: > http://cr.openjdk.java.net/~mchung/6895456/webrev.00/ > > java.io.ObjectStreamClass is not needed if not doing serialization. > Move getSignatureClass static method to java.io.ObjectStreamField > class. ObjectStreamField is always loaded due to the declaration of > serialPersistentFields in a few core classes as they have evolved in > the previous releases. I agree it would be good to avoid loading/initializing ObjectStreamClass (as you say, we have to load ObjectStreamField as the serialPersistentFields is part of Class, String, and other APIs). My only concern is that ObjectStreamField doesn't seem to be the right place for this (as it's concerned with serializable fields) and it's a bit strange for ObjectStreamClass to call into ObjectStreamField to get a class signature. Have you considered alternatives, say duplicating this method, or maybe a ClassSignature class? -Alan. From alan.bateman at sun.com Tue Oct 27 09:00:23 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 27 Oct 2009 09:00:23 +0000 Subject: hg: jdk7/tl/jdk: 6888179: Separate out dependency on CORBA Message-ID: <20091027090100.4A1CE41CFE@hg.openjdk.java.net> Changeset: 244a6868b440 Author: alanb Date: 2009-10-27 08:55 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/244a6868b440 6888179: Separate out dependency on CORBA Reviewed-by: dfuchs + src/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java + src/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java + src/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java + src/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java ! src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java From Ulf.Zibis at gmx.de Tue Oct 27 09:42:27 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 27 Oct 2009 10:42:27 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE5DFB8.3@sun.com> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> Message-ID: <4AE6C083.7080305@gmx.de> Am 26.10.2009 18:43, Joseph D. Darcy schrieb: > Neal Gafter wrote: >> You can hardly add any methods to Object, event static methods, >> without breaking compatibility, because they get added to every the >> overload set if the name is used for methods in existing code. > > Indeed, which is why these methods were added in a new class to > prevent unwanted changes to the meaning of source code. > I don't get the problem. Can anybody help me by an example? Following code works fine for me: package java.lang; public class Object { ..... public static int hashCode(Object obj) { return obj.hashCode(); } ..... } public class MyClass1 { private final int value; public MyClass1(int value) { this.value = value; } public static int hashCode(MyClass1 obj) { return 3 * obj.value; } public static void main(String... args) { MyClass1 c = new MyClass1(99); System.out.println(c.hashCode()); System.out.println(hashCode(c)); // compile error if using official version of class Object } } public class MyClass2 { private final int value; public MyClass2(int value) { this.value = value; } @Override public int hashCode() { return value; } public static void main(String... args) { MyClass2 c = new MyClass2(99); System.out.println(c.hashCode()); System.out.println(hashCode(c)); // compile error if using official version of class Object } } -Ulf From Ulf.Zibis at gmx.de Tue Oct 27 09:49:02 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 27 Oct 2009 10:49:02 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE6C083.7080305@gmx.de> References: <4AE164FB.9020309@univ-mlv.fr> <20091023155124.2046C4F1@eggemoggin.niobe.net> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> <4AE6C083.7080305@gmx.de> Message-ID: <4AE6C20E.2010101@gmx.de> Correction: public class MyClass1 { private final int value; public MyClass1(int value) { this.value = value; } public static int hashCode(MyClass1 obj) { return 3 * obj.value; } public static void main(String... args) { MyClass1 c = new MyClass1(99); System.out.println(c.hashCode()); System.out.println(hashCode(c)); System.out.println(Object.hashCode(c)); // compile error if using official version of class Object } } -Ulf From gnu_andrew at member.fsf.org Tue Oct 27 11:49:49 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 27 Oct 2009 11:49:49 +0000 Subject: Are the faster versions of HashMap and BigInteger going into jdk7? In-Reply-To: <4AE69D6D.7010500@mindspring.com> References: <212322090910230801k518cb2cew36cb50fa96c0723e@mail.gmail.com> <17c6771e0910230812g771347d8gcf2d55045e9f6460@mail.gmail.com> <212322090910230907u326420ccte673af409e5e24c5@mail.gmail.com> <17c6771e0910231001g9fcd67bt489309dfeec60016@mail.gmail.com> <4AE69D6D.7010500@mindspring.com> Message-ID: <17c6771e0910270449v58f56107kbe7f8a9d903f0208@mail.gmail.com> 2009/10/27 Alan Eliasen : > On 10/23/2009 11:01 AM, Andrew John Hughes wrote: >> >> 6622432 is the one of the ones I just pointed to i.e. it's in JDK7. >> If Alan has a further patch and hasn't even submitted it for >> inclusion, it's obviously not in. > > ? I had just queried Joe Darcy at Sun about reviewing my patches for > Karatsuba and Toom-Cook multiplication in BigInteger again last week. His > reply was: > > ? "Yes, I apologize again for the repeated delays; I want to get your > Karatsuba work reviewed and integrated within this JDK 7 milestone (the next > few weeks)." > > ? ?So I'm hopeful. ?So far, I haven't heard of any substantive issues with > the patches. ?They were mostly stylistic. > > ? ?As I've stated before, I also have patches that greatly improve the > performance of pow() and toString() (by orders of magnitude) that I have > been holding on to for a long time, and hoping to submit after the > multiplication patches are approved. ?(I was asked by Joe Darcy to submit in > smaller patches.) ?Hopefully these might get in JDK 7 too. > > -- > ?Alan Eliasen > ?eliasen at mindspring.com > ?http://futureboy.us/ > Alan, I presume this was in private e-mail. Why was it not just discussed on this list? For one thing, you wouldn't then have to reiterate the conversation! -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Mandy.Chung at Sun.COM Tue Oct 27 14:42:11 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Tue, 27 Oct 2009 07:42:11 -0700 Subject: Review request for 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot In-Reply-To: <4AE6B12D.5020101@sun.com> References: <4AE68A94.9070305@sun.com> <4AE6B12D.5020101@sun.com> Message-ID: <4AE706C3.9080904@sun.com> Alan Bateman wrote: > I agree it would be good to avoid loading/initializing > ObjectStreamClass (as you say, we have to load ObjectStreamField as > the serialPersistentFields is part of Class, String, and other APIs). > My only concern is that ObjectStreamField doesn't seem to be the > right place for this (as it's concerned with serializable fields) and > it's a bit strange for ObjectStreamClass to call into > ObjectStreamField to get a class signature. Have you considered > alternatives, say duplicating this method, or maybe a ClassSignature > class? > I agree ObjectStreamField is not quite the right place for this method. Duplicating this method may be a better option for this case (that I typically try to avoid). I can make this change. I try to avoid adding a new class just for this one method. I tried to find an existing class for this method but there doesn't seem to have a good one. Mandy From neal at gafter.com Tue Oct 27 14:53:49 2009 From: neal at gafter.com (Neal Gafter) Date: Tue, 27 Oct 2009 07:53:49 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE6C20E.2010101@gmx.de> References: <4AE164FB.9020309@univ-mlv.fr> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> <4AE6C083.7080305@gmx.de> <4AE6C20E.2010101@gmx.de> Message-ID: <15e8b9d20910270753p446a69cay2ffc95b886acc123@mail.gmail.com> Try adding public static hashCode(Object key) { return 3; } to MyClass. Such a class is broken by the proposed change. On Tue, Oct 27, 2009 at 2:49 AM, Ulf Zibis wrote: > Correction: > > > public class MyClass1 { > private final int value; > > public MyClass1(int value) { > this.value = value; > } > > public static int hashCode(MyClass1 obj) { > return 3 * obj.value; > } > > public static void main(String... args) { > MyClass1 c = new MyClass1(99); > System.out.println(c.hashCode()); > System.out.println(hashCode(c)); > System.out.println(Object.hashCode(c)); // compile error if using > official version of class Object > } > } > > > -Ulf > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Mandy.Chung at Sun.COM Tue Oct 27 15:01:21 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Tue, 27 Oct 2009 08:01:21 -0700 Subject: Review request for 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot In-Reply-To: <4AE706C3.9080904@sun.com> References: <4AE68A94.9070305@sun.com> <4AE6B12D.5020101@sun.com> <4AE706C3.9080904@sun.com> Message-ID: <4AE70B41.1040400@sun.com> > Duplicating this method may be a better option for this case (that I > typically try to avoid). I can make this change. The new webrev at: http://cr.openjdk.java.net/~mchung/6895456/webrev.01/ Mandy From Ulf.Zibis at gmx.de Tue Oct 27 15:13:53 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 27 Oct 2009 16:13:53 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <15e8b9d20910270753p446a69cay2ffc95b886acc123@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <108fcdeb0910231237g7c3f0d4aw564e857e3641fe2b@mail.gmail.com> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> <4AE6C083.7080305@gmx.de> <4AE6C20E.2010101@gmx.de> <15e8b9d20910270753p446a69cay2ffc95b886acc123@mail.gmail.com> Message-ID: <4AE70E31.7010304@gmx.de> It works fine too. Is coded: public class MyClass1 { private final int value; public MyClass1(int value) { this.value = value; } public static int hashCode(Object key) { return 3; } // public static int hashCode(MyClass1 obj) { // return 3 * obj.value; // } public static void main(String... args) { MyClass1 c = new MyClass1(99); System.out.println(c.hashCode()); System.out.println(hashCode(c)); System.out.println(Object.hashCode(c)); // compile error if using official version of class Object } } -Ulf Am 27.10.2009 15:53, Neal Gafter schrieb: > Try adding > > public static hashCode(Object key) { > return 3; > } > > to MyClass. Such a class is broken by the proposed change. > > On Tue, Oct 27, 2009 at 2:49 AM, Ulf Zibis > wrote: > > Correction: > > > public class MyClass1 { > private final int value; > > public MyClass1(int value) { > this.value = value; > } > > public static int hashCode(MyClass1 obj) { > return 3 * obj.value; > } > > public static void main(String... args) { > MyClass1 c = new MyClass1(99); > System.out.println(c.hashCode()); > System.out.println(hashCode(c)); > System.out.println(Object.hashCode(c)); // compile error if > using official version of class Object > } > } > > > -Ulf > > > From neal at gafter.com Tue Oct 27 16:36:51 2009 From: neal at gafter.com (Neal Gafter) Date: Tue, 27 Oct 2009 09:36:51 -0700 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <4AE70E31.7010304@gmx.de> References: <4AE164FB.9020309@univ-mlv.fr> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> <4AE6C083.7080305@gmx.de> <4AE6C20E.2010101@gmx.de> <15e8b9d20910270753p446a69cay2ffc95b886acc123@mail.gmail.com> <4AE70E31.7010304@gmx.de> Message-ID: <15e8b9d20910270936o3a7f282cg8bd32947ffa760d0@mail.gmail.com> Ulf- Very good. How what happens if you change the return type, or add a throws clause, or change its access modifier (JLS 8.4.8.3)? In all three cases it must be a compile-time error. -Neal On Tue, Oct 27, 2009 at 8:13 AM, Ulf Zibis wrote: > It works fine too. > Is coded: > > > public class MyClass1 { > private final int value; > > public MyClass1(int value) { > this.value = value; > } > > public static int hashCode(Object key) { > return 3; > } > > // public static int hashCode(MyClass1 obj) { > > // return 3 * obj.value; > // } > > public static void main(String... args) { > MyClass1 c = new MyClass1(99); > System.out.println(c.hashCode()); > System.out.println(hashCode(c)); > System.out.println(Object.hashCode(c)); // compile error if using > official version of class Object > } > } > > > -Ulf > > > Am 27.10.2009 15:53, Neal Gafter schrieb: > >> Try adding >> >> public static hashCode(Object key) { >> return 3; >> } >> >> to MyClass. Such a class is broken by the proposed change. >> >> On Tue, Oct 27, 2009 at 2:49 AM, Ulf Zibis > Ulf.Zibis at gmx.de>> wrote: >> >> Correction: >> >> >> public class MyClass1 { >> private final int value; >> >> public MyClass1(int value) { >> this.value = value; >> } >> >> public static int hashCode(MyClass1 obj) { >> return 3 * obj.value; >> } >> >> public static void main(String... args) { >> MyClass1 c = new MyClass1(99); >> System.out.println(c.hashCode()); >> System.out.println(hashCode(c)); >> System.out.println(Object.hashCode(c)); // compile error if >> using official version of class Object >> } >> } >> >> >> -Ulf >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at Sun.COM Tue Oct 27 16:38:03 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 27 Oct 2009 16:38:03 +0000 Subject: Review request for 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot In-Reply-To: <4AE70B41.1040400@sun.com> References: <4AE68A94.9070305@sun.com> <4AE6B12D.5020101@sun.com> <4AE706C3.9080904@sun.com> <4AE70B41.1040400@sun.com> Message-ID: <4AE721EB.9010807@sun.com> Mandy Chung wrote: >> Duplicating this method may be a better option for this case (that I >> typically try to avoid). I can make this change. > The new webrev at: > http://cr.openjdk.java.net/~mchung/6895456/webrev.01/ > OK, I think I can live with this. While you are there, maybe we should replace Class with Class as this code is still using raw types. -Alan. From Ulf.Zibis at gmx.de Tue Oct 27 16:51:17 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 27 Oct 2009 17:51:17 +0100 Subject: Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7 In-Reply-To: <15e8b9d20910270936o3a7f282cg8bd32947ffa760d0@mail.gmail.com> References: <4AE164FB.9020309@univ-mlv.fr> <4b4f45e00910260601q21b791b1tb193c14bf8fb5fb@mail.gmail.com> <4AE5C995.5070806@sun.com> <4AE5CE6C.7060300@sun.com> <15e8b9d20910261040p697dbe71mf6a8698b5de1a09@mail.gmail.com> <4AE5DFB8.3@sun.com> <4AE6C083.7080305@gmx.de> <4AE6C20E.2010101@gmx.de> <15e8b9d20910270753p446a69cay2ffc95b886acc123@mail.gmail.com> <4AE70E31.7010304@gmx.de> <15e8b9d20910270936o3a7f282cg8bd32947ffa760d0@mail.gmail.com> Message-ID: <4AE72505.5050705@gmx.de> Neal, thanks for your patience. Yes, these are the arguments I understand. Thanks a lot, -Ulf Am 27.10.2009 17:36, Neal Gafter schrieb: > Ulf- > > Very good. How what happens if you change the return type, or add a > throws clause, or change its access modifier (JLS 8.4.8.3)? In all > three cases it must be a compile-time error. > > -Neal > > On Tue, Oct 27, 2009 at 8:13 AM, Ulf Zibis > wrote: > > It works fine too. > Is coded: > > > public class MyClass1 { > private final int value; > > public MyClass1(int value) { > this.value = value; > } > > public static int hashCode(Object key) { > return 3; > } > > // public static int hashCode(MyClass1 obj) { > > // return 3 * obj.value; > // } > > public static void main(String... args) { > MyClass1 c = new MyClass1(99); > System.out.println(c.hashCode()); > System.out.println(hashCode(c)); > System.out.println(Object.hashCode(c)); // compile error if > using official version of class Object > } > } > > > -Ulf > > > Am 27.10.2009 15:53, Neal Gafter schrieb: > > Try adding > > public static hashCode(Object key) { > return 3; > } > > to MyClass. Such a class is broken by the proposed change. > > On Tue, Oct 27, 2009 at 2:49 AM, Ulf Zibis >> wrote: > > Correction: > > > public class MyClass1 { > private final int value; > > public MyClass1(int value) { > this.value = value; > } > > public static int hashCode(MyClass1 obj) { > return 3 * obj.value; > } > > public static void main(String... args) { > MyClass1 c = new MyClass1(99); > System.out.println(c.hashCode()); > System.out.println(hashCode(c)); > System.out.println(Object.hashCode(c)); // compile > error if > using official version of class Object > } > } > > > -Ulf > > > > > From weijun.wang at sun.com Wed Oct 28 07:34:40 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Wed, 28 Oct 2009 07:34:40 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20091028073532.AAE5141515@hg.openjdk.java.net> Changeset: 6764ef7d539d Author: weijun Date: 2009-10-28 15:32 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6764ef7d539d 6893158: AP_REQ check should use key version number Reviewed-by: valeriep, xuelei ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/MoreKvno.java Changeset: 67e53f0f4a4d Author: weijun Date: 2009-10-28 15:32 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/67e53f0f4a4d 6890872: keytool -printcert to recognize signed jar files Reviewed-by: mullan ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/keytool/readjar.sh From Ulf.Zibis at gmx.de Wed Oct 28 21:44:53 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 28 Oct 2009 22:44:53 +0100 Subject: Character.java methods are slower than Surrogate.java's Message-ID: <4AE8BB55.30506@gmx.de> Hi Christian, for a benchmark test I have replaced all sun.nio.cs.Surrogate methods in sun.nio.cs.ext.EUC_TW with corresponding ones from java.lang.Character. As result, the overall encoding performance was 10 % worse, so java.lang.Character's methods must be much worser. Can you have a look, if there is a chance to better optimize java.lang.Character methods from HotSpot compiler side. The interesting classes to compare are here: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/test/sun/nio/cs/ext/EUC_TW_xueming.java?rev=805&view=markup https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/test/sun/nio/cs/ext/EUC_TW_CharSurrogate.java?rev=805&view=markup https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/test/sun/nio/cs/ext/EUC_TWBenchmark.java?rev=805&view=markup https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/src/sun/nio/cs/ext/EUC_TW.java?rev=805&view=markup If you like to build the project, follow the instructions on https://java-nio-charset-enhanced.dev.java.net/ My Results (EUC_TW_xueming is current JDK-algorithm, compare to EUC_TW_CharSurrogate): EUC_TW 65536 ASCII chars in 315 ms encoded to 65536 bytes EUC_TW_CharSurrogate 65536 ASCII chars in 346 ms encoded to 65536 bytes EUC_TW_xueming 65536 ASCII chars in 290 ms encoded to 65536 bytes EUC_TW 65536 UniCodeBMP chars in 805 ms encoded to 231782 bytes EUC_TW_CharSurrogate 65536 UniCodeBMP chars in 810 ms encoded to 231782 bytes EUC_TW_xueming 65536 UniCodeBMP chars in 717 ms encoded to 231782 bytes EUC_TW 65536 UniCodeCJK chars in 580 ms encoded to 131072 bytes EUC_TW_CharSurrogate 65536 UniCodeCJK chars in 592 ms encoded to 131072 bytes EUC_TW_xueming 65536 UniCodeCJK chars in 473 ms encoded to 131072 bytes -Ulf From alan.bateman at sun.com Thu Oct 29 11:19:39 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Thu, 29 Oct 2009 11:19:39 +0000 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation Message-ID: <20091029112000.085A041712@hg.openjdk.java.net> Changeset: b05abb410c52 Author: alanb Date: 2009-10-29 11:18 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b05abb410c52 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation Reviewed-by: jjb Contributed-by: vladimir.yaroslavskiy at sun.com, joshua.bloch at google.com, jbentley at avaya.com ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/Arrays.java + src/share/classes/java/util/DualPivotQuicksort.java From Jonathan.Gibbons at Sun.COM Thu Oct 29 22:25:37 2009 From: Jonathan.Gibbons at Sun.COM (Jonathan Gibbons) Date: Thu, 29 Oct 2009 15:25:37 -0700 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation In-Reply-To: <20091029112000.085A041712@hg.openjdk.java.net> References: <20091029112000.085A041712@hg.openjdk.java.net> Message-ID: <4AEA1661.3030807@sun.com> Alan.Bateman at Sun.COM wrote: > Changeset: b05abb410c52 > Author: alanb > Date: 2009-10-29 11:18 +0000 > URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b05abb410c52 > > 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation > Reviewed-by: jjb > Contributed-by: vladimir.yaroslavskiy at sun.com, joshua.bloch at google.com, jbentley at avaya.com > > ! make/java/java/FILES_java.gmk > ! src/share/classes/java/util/Arrays.java > + src/share/classes/java/util/DualPivotQuicksort.java > > Alan, My hudson falls over with a stack overflow at DualPivotQuicksort.java:477 when doing a full build (SKIP_BOOT_CYCLE=false) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > at java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > gnumake[4]: *** [/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/build/solaris-sparc/classes/sun/text/resources/CharacterBreakIteratorData] Error 1 > gnumake[4]: Leaving directory `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java/text' > gnumake[3]: *** [all] Error 1 > gnumake[3]: Leaving directory `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java' > gnumake[2]: *** [all] Error 1 > gnumake[2]: Leaving directory `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make' > gnumake[1]: *** [jdk-build] Error 2 > gnumake[1]: Leaving directory `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl' > gnumake: *** [build_product_image] Error 2 > Sending e-mails to: jonathan.gibbons at sun.com > finished: FAILURE > Full log for Sun folk at: http://javac.sfbay:8080/hudson/job/jdk7.tl.langtools-jdk/80/console -- Jon From Alan.Bateman at Sun.COM Thu Oct 29 23:02:19 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 29 Oct 2009 23:02:19 +0000 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation In-Reply-To: <4AEA1661.3030807@sun.com> References: <20091029112000.085A041712@hg.openjdk.java.net> <4AEA1661.3030807@sun.com> Message-ID: <4AEA1EFB.3010700@sun.com> Jonathan Gibbons wrote: > : > Alan, > > My hudson falls over with a stack overflow at > DualPivotQuicksort.java:477 when doing a full build > (SKIP_BOOT_CYCLE=false) >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> at >> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >> >> gnumake[4]: *** >> [/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/build/solaris-sparc/classes/sun/text/resources/CharacterBreakIteratorData] >> Error 1 >> gnumake[4]: Leaving directory >> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java/text' >> gnumake[3]: *** [all] Error 1 >> gnumake[3]: Leaving directory >> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java' >> gnumake[2]: *** [all] Error 1 >> gnumake[2]: Leaving directory >> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make' >> gnumake[1]: *** [jdk-build] Error 2 >> gnumake[1]: Leaving directory >> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl' >> gnumake: *** [build_product_image] Error 2 >> Sending e-mails to: jonathan.gibbons at sun.com >> finished: FAILURE >> > Full log for Sun folk at: > > http://javac.sfbay:8080/hudson/job/jdk7.tl.langtools-jdk/80/console > > -- Jon Sorry about that - Vladimir also found this today and I've just created 6896573 to track it. The fix is attached so we'll get that in before TL integrates. The lesson here is that we should have included new tests with this (Vladimir has been developing tests to integrate - we just need to dial them down so that they run in a reasonable time). -Alan. diff -r b05abb410c52 src/share/classes/java/util/DualPivotQuicksort.java --- a/src/share/classes/java/util/DualPivotQuicksort.java Thu Oct 29 11:18:37 2009 +0000 +++ b/src/share/classes/java/util/DualPivotQuicksort.java Thu Oct 29 22:49:11 2009 +0000 @@ -36,7 +36,7 @@ package java.util; * @author Jon Bentley * @author Josh Bloch * - * @version 2009.10.22 m765.827.v4 + * @version 2009.10.29 m765.827.v5 */ final class DualPivotQuicksort { @@ -473,9 +473,10 @@ final class DualPivotQuicksort { a[great--] = pivot2; } } - } else { // Use Dual-Pivot Quicksort on large arrays - dualPivotQuicksort(a, left, right); - } + } + + // Sort center part recursively, excluding known pivot values + sort(a, less, great); } /** The number of distinct short values */ @@ -507,7 +508,7 @@ final class DualPivotQuicksort { for (int i = left; i <= right; i++) { count[a[i] - Short.MIN_VALUE]++; } - for (int i = 0, k = left; i < count.length && k < right; i++) { + for (int i = 0, k = left; i < count.length && k <= right; i++) { short value = (short) (i + Short.MIN_VALUE); for (int s = count[i]; s > 0; s--) { @@ -723,13 +724,13 @@ final class DualPivotQuicksort { a[j + 1] = ak; } } else if (right - left + 1 > COUNTING_SORT_THRESHOLD_FOR_BYTE) { - // Use counting sort on large arrays + // Use counting sort on huge arrays int[] count = new int[NUM_BYTE_VALUES]; for (int i = left; i <= right; i++) { count[a[i] - Byte.MIN_VALUE]++; } - for (int i = 0, k = left; i < count.length && k < right; i++) { + for (int i = 0, k = left; i < count.length && k <= right; i++) { byte value = (byte) (i + Byte.MIN_VALUE); for (int s = count[i]; s > 0; s--) { @@ -951,7 +952,7 @@ final class DualPivotQuicksort { for (int i = left; i <= right; i++) { count[a[i]]++; } - for (int i = 0, k = left; i < count.length && k < right; i++) { + for (int i = 0, k = left; i < count.length && k <= right; i++) { for (int s = count[i]; s > 0; s--) { a[k++] = (char) i; } From jjb at google.com Fri Oct 30 00:08:32 2009 From: jjb at google.com (Joshua Bloch) Date: Thu, 29 Oct 2009 17:08:32 -0700 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation In-Reply-To: <4AEA1EFB.3010700@sun.com> References: <20091029112000.085A041712@hg.openjdk.java.net> <4AEA1661.3030807@sun.com> <4AEA1EFB.3010700@sun.com> Message-ID: <17b2302a0910291708p1b3381ceo5906f96f7fa1172a@mail.gmail.com> My review of this patch: looks good to me. Josh On Thu, Oct 29, 2009 at 4:02 PM, Alan Bateman wrote: > Jonathan Gibbons wrote: > >> : >> Alan, >> >> My hudson falls over with a stack overflow at DualPivotQuicksort.java:477 >> when doing a full build (SKIP_BOOT_CYCLE=false) >> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> at >>> java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) >>> >>> gnumake[4]: *** >>> [/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/build/solaris-sparc/classes/sun/text/resources/CharacterBreakIteratorData] >>> Error 1 >>> gnumake[4]: Leaving directory >>> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java/text' >>> gnumake[3]: *** [all] Error 1 >>> gnumake[3]: Leaving directory >>> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java' >>> gnumake[2]: *** [all] Error 1 >>> gnumake[2]: Leaving directory >>> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make' >>> gnumake[1]: *** [jdk-build] Error 2 >>> gnumake[1]: Leaving directory >>> `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl' >>> gnumake: *** [build_product_image] Error 2 >>> Sending e-mails to: jonathan.gibbons at sun.com >>> finished: FAILURE >>> >>> >> Full log for Sun folk at: >> >> http://javac.sfbay:8080/hudson/job/jdk7.tl.langtools-jdk/80/console >> >> -- Jon >> > Sorry about that - Vladimir also found this today and I've just created > 6896573 to track it. The fix is attached so we'll get that in before TL > integrates. The lesson here is that we should have included new tests with > this (Vladimir has been developing tests to integrate - we just need to dial > them down so that they run in a reasonable time). > > -Alan. > > > diff -r b05abb410c52 src/share/classes/java/util/DualPivotQuicksort.java > --- a/src/share/classes/java/util/DualPivotQuicksort.java Thu Oct 29 > 11:18:37 2009 +0000 > +++ b/src/share/classes/java/util/DualPivotQuicksort.java Thu Oct 29 > 22:49:11 2009 +0000 > @@ -36,7 +36,7 @@ package java.util; > * @author Jon Bentley > * @author Josh Bloch > * > - * @version 2009.10.22 m765.827.v4 > + * @version 2009.10.29 m765.827.v5 > */ > final class DualPivotQuicksort { > > @@ -473,9 +473,10 @@ final class DualPivotQuicksort { > a[great--] = pivot2; > } > } > - } else { // Use Dual-Pivot Quicksort on large arrays > - dualPivotQuicksort(a, left, right); > - } > + } > + > + // Sort center part recursively, excluding known pivot values > + sort(a, less, great); > } > > /** The number of distinct short values */ > @@ -507,7 +508,7 @@ final class DualPivotQuicksort { > for (int i = left; i <= right; i++) { > count[a[i] - Short.MIN_VALUE]++; > } > - for (int i = 0, k = left; i < count.length && k < right; i++) > { > + for (int i = 0, k = left; i < count.length && k <= right; i++) > { > short value = (short) (i + Short.MIN_VALUE); > > for (int s = count[i]; s > 0; s--) { > @@ -723,13 +724,13 @@ final class DualPivotQuicksort { > a[j + 1] = ak; > } > } else if (right - left + 1 > COUNTING_SORT_THRESHOLD_FOR_BYTE) { > - // Use counting sort on large arrays > + // Use counting sort on huge arrays > int[] count = new int[NUM_BYTE_VALUES]; > > for (int i = left; i <= right; i++) { > count[a[i] - Byte.MIN_VALUE]++; > } > - for (int i = 0, k = left; i < count.length && k < right; i++) > { > + for (int i = 0, k = left; i < count.length && k <= right; i++) > { > byte value = (byte) (i + Byte.MIN_VALUE); > > for (int s = count[i]; s > 0; s--) { > @@ -951,7 +952,7 @@ final class DualPivotQuicksort { > for (int i = left; i <= right; i++) { > count[a[i]]++; > } > - for (int i = 0, k = left; i < count.length && k < right; i++) > { > + for (int i = 0, k = left; i < count.length && k <= right; i++) > { > for (int s = count[i]; s > 0; s--) { > a[k++] = (char) i; > } > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jonathan.Gibbons at Sun.COM Fri Oct 30 00:21:30 2009 From: Jonathan.Gibbons at Sun.COM (Jonathan Gibbons) Date: Thu, 29 Oct 2009 17:21:30 -0700 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation In-Reply-To: <17b2302a0910291708p1b3381ceo5906f96f7fa1172a@mail.gmail.com> References: <20091029112000.085A041712@hg.openjdk.java.net> <4AEA1661.3030807@sun.com> <4AEA1EFB.3010700@sun.com> <17b2302a0910291708p1b3381ceo5906f96f7fa1172a@mail.gmail.com> Message-ID: <4AEA318A.2050005@sun.com> Alan, Can I suggest you do a full build of JDK on JPRT with SKIP_BUILD_CYCLE=false to test this fix? -- Jon Joshua Bloch wrote: > My review of this patch: looks good to me. > > Josh > > On Thu, Oct 29, 2009 at 4:02 PM, Alan Bateman > wrote: > > Jonathan Gibbons wrote: > > : > Alan, > > My hudson falls over with a stack overflow at > DualPivotQuicksort.java:477 when doing a full build > (SKIP_BOOT_CYCLE=false) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > at > java.util.DualPivotQuicksort.dualPivotQuicksort(DualPivotQuicksort.java:477) > > gnumake[4]: *** > [/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/build/solaris-sparc/classes/sun/text/resources/CharacterBreakIteratorData] > Error 1 > gnumake[4]: Leaving directory > `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java/text' > gnumake[3]: *** [all] Error 1 > gnumake[3]: Leaving directory > `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make/java' > gnumake[2]: *** [all] Error 1 > gnumake[2]: Leaving directory > `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl/jdk/make' > gnumake[1]: *** [jdk-build] Error 2 > gnumake[1]: Leaving directory > `/x/hudson/jobs/jdk7.tl.langtools-jdk/workspace/tl' > gnumake: *** [build_product_image] Error 2 > Sending e-mails to: jonathan.gibbons at sun.com > > finished: FAILURE > > > Full log for Sun folk at: > > http://javac.sfbay:8080/hudson/job/jdk7.tl.langtools-jdk/80/console > > -- Jon > > Sorry about that - Vladimir also found this today and I've just > created 6896573 to track it. The fix is attached so we'll get that > in before TL integrates. The lesson here is that we should have > included new tests with this (Vladimir has been developing tests > to integrate - we just need to dial them down so that they run in > a reasonable time). > > -Alan. > > > diff -r b05abb410c52 > src/share/classes/java/util/DualPivotQuicksort.java > --- a/src/share/classes/java/util/DualPivotQuicksort.java > Thu Oct 29 11:18:37 2009 +0000 > +++ b/src/share/classes/java/util/DualPivotQuicksort.java > Thu Oct 29 22:49:11 2009 +0000 > @@ -36,7 +36,7 @@ package java.util; > * @author Jon Bentley > * @author Josh Bloch > * > - * @version 2009.10.22 m765.827.v4 > + * @version 2009.10.29 m765.827.v5 > */ > final class DualPivotQuicksort { > > @@ -473,9 +473,10 @@ final class DualPivotQuicksort { > a[great--] = pivot2; > } > } > - } else { // Use Dual-Pivot Quicksort on large arrays > - dualPivotQuicksort(a, left, right); > - } > + } > + > + // Sort center part recursively, excluding known pivot values > + sort(a, less, great); > } > > /** The number of distinct short values */ > @@ -507,7 +508,7 @@ final class DualPivotQuicksort { > for (int i = left; i <= right; i++) { > count[a[i] - Short.MIN_VALUE]++; > } > - for (int i = 0, k = left; i < count.length && k < > right; i++) { > + for (int i = 0, k = left; i < count.length && k <= > right; i++) { > short value = (short) (i + Short.MIN_VALUE); > > for (int s = count[i]; s > 0; s--) { > @@ -723,13 +724,13 @@ final class DualPivotQuicksort { > a[j + 1] = ak; > } > } else if (right - left + 1 > > COUNTING_SORT_THRESHOLD_FOR_BYTE) { > - // Use counting sort on large arrays > + // Use counting sort on huge arrays > int[] count = new int[NUM_BYTE_VALUES]; > > for (int i = left; i <= right; i++) { > count[a[i] - Byte.MIN_VALUE]++; > } > - for (int i = 0, k = left; i < count.length && k < > right; i++) { > + for (int i = 0, k = left; i < count.length && k <= > right; i++) { > byte value = (byte) (i + Byte.MIN_VALUE); > > for (int s = count[i]; s > 0; s--) { > @@ -951,7 +952,7 @@ final class DualPivotQuicksort { > for (int i = left; i <= right; i++) { > count[a[i]]++; > } > - for (int i = 0, k = left; i < count.length && k < > right; i++) { > + for (int i = 0, k = left; i < count.length && k <= > right; i++) { > for (int s = count[i]; s > 0; s--) { > a[k++] = (char) i; > } > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mandy.chung at sun.com Fri Oct 30 03:02:12 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Fri, 30 Oct 2009 03:02:12 +0000 Subject: hg: jdk7/tl/jdk: 5 new changesets Message-ID: <20091030030334.75C6C41819@hg.openjdk.java.net> Changeset: 252b17ca9abb Author: mchung Date: 2009-10-27 16:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/252b17ca9abb 6895456: Eliminate dependency on java.io.ObjectStreamClass during boot Summary: Duplicate ObjectStreamClass.getClassSignature method in ObjectStreamField class Reviewed-by: alanb ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: e07d1d393220 Author: mchung Date: 2009-10-27 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e07d1d393220 6876135: Add PlatformLoggingMXBean to eliminate the dependency on JMX from logging Summary: Added a new PlatformLoggingMXBean interface to extend PlatformManagedObject instead of LoggingMXBean Reviewed-by: alanb ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/logging/LoggingMXBean.java + src/share/classes/java/util/logging/LoggingProxyImpl.java + src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/share/classes/sun/management/ManagementFactoryHelper.java + src/share/classes/sun/util/logging/LoggingProxy.java + src/share/classes/sun/util/logging/LoggingSupport.java ! src/share/classes/sun/util/logging/PlatformLogger.java + test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: 462d505bcb00 Author: mchung Date: 2009-10-28 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/462d505bcb00 6895875: Missing serialVersionUID in sun.management classes Summary: Added serialVersionUID to fix warning errors Reviewed-by: alanb ! src/share/classes/sun/management/AgentConfigurationError.java ! src/share/classes/sun/management/GcInfoCompositeData.java ! src/share/classes/sun/management/LazyCompositeData.java ! src/share/classes/sun/management/MappedMXBeanType.java ! src/share/classes/sun/management/MemoryNotifInfoCompositeData.java ! src/share/classes/sun/management/MemoryUsageCompositeData.java ! src/share/classes/sun/management/MonitorInfoCompositeData.java ! src/share/classes/sun/management/StackTraceElementCompositeData.java ! src/share/classes/sun/management/ThreadInfoCompositeData.java ! src/share/classes/sun/management/VMOptionCompositeData.java ! src/share/classes/sun/management/counter/perf/ByteArrayCounterSnapshot.java ! src/share/classes/sun/management/counter/perf/InstrumentationException.java ! src/share/classes/sun/management/counter/perf/LongArrayCounterSnapshot.java ! src/share/classes/sun/management/counter/perf/LongCounterSnapshot.java ! src/share/classes/sun/management/counter/perf/PerfByteArrayCounter.java ! src/share/classes/sun/management/counter/perf/PerfLongArrayCounter.java ! src/share/classes/sun/management/counter/perf/PerfLongCounter.java ! src/share/classes/sun/management/counter/perf/PerfStringCounter.java ! src/share/classes/sun/management/counter/perf/StringCounterSnapshot.java ! src/share/classes/sun/management/jmxremote/SingleEntryRegistry.java Changeset: 4f8f07be9e7e Author: mchung Date: 2009-10-29 09:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4f8f07be9e7e 6896422: Add @ignore to test/java/util/zip/Bounds.java Summary: ignore test/java/util/zip/Bounds.java until 6896424 is resolved Reviewed-by: sherman ! test/java/util/zip/Bounds.java Changeset: 6b3e1ded17e1 Author: mchung Date: 2009-10-29 19:55 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6b3e1ded17e1 Merge From weijun.wang at sun.com Fri Oct 30 03:29:23 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Fri, 30 Oct 2009 03:29:23 +0000 Subject: hg: jdk7/tl/jdk: 6894534: SeedGenerator shouldn't require java.nio.file to be present Message-ID: <20091030032935.ADD0F4181F@hg.openjdk.java.net> Changeset: a1923ebcd61b Author: weijun Date: 2009-10-30 11:28 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a1923ebcd61b 6894534: SeedGenerator shouldn't require java.nio.file to be present Reviewed-by: alanb ! src/share/classes/sun/security/provider/SeedGenerator.java From alan.bateman at sun.com Fri Oct 30 15:07:07 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Fri, 30 Oct 2009 15:07:07 +0000 Subject: hg: jdk7/tl/jdk: 6896573: Arrays.sort(long[]) fails with StackOverflowError Message-ID: <20091030150746.BCCB8418E0@hg.openjdk.java.net> Changeset: 84ae559f7129 Author: alanb Date: 2009-10-30 15:06 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/84ae559f7129 6896573: Arrays.sort(long[]) fails with StackOverflowError Reviewed-by: jjb Contributed-by: vladimir.yaroslavskiy at sun.com ! src/share/classes/java/util/DualPivotQuicksort.java + test/java/util/Arrays/Sorting.java From Alan.Bateman at Sun.COM Fri Oct 30 15:31:18 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Fri, 30 Oct 2009 15:31:18 +0000 Subject: hg: jdk7/tl/jdk: 6880672: Replace quicksort in java.util.Arrays with dual-pivot implementation In-Reply-To: <4AEA318A.2050005@sun.com> References: <20091029112000.085A041712@hg.openjdk.java.net> <4AEA1661.3030807@sun.com> <4AEA1EFB.3010700@sun.com> <17b2302a0910291708p1b3381ceo5906f96f7fa1172a@mail.gmail.com> <4AEA318A.2050005@sun.com> Message-ID: <4AEB06C6.4040609@sun.com> Jonathan Gibbons wrote: > Alan, > > Can I suggest you do a full build of JDK on JPRT with > SKIP_BUILD_CYCLE=false to test this fix? > > -- Jon I've done that and all is well. I should say that the original changes did go through JPRT to check the build and ensure the java/util tests ran on all platforms but SKIP_BUILD_CYCLE wasn't set. I think I read on one of the mailing lists that Kelly is thinking of changing SKIP_BUILD_CYCLE to false, in which case we might catch more issues like this earlier. -Alan. From xueming.shen at sun.com Fri Oct 30 20:06:55 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Fri, 30 Oct 2009 20:06:55 +0000 Subject: hg: jdk7/tl/jdk: 6894950: test/java/util/zip/Bounds.java fails with OoutOfMemoryError Message-ID: <20091030200708.1614141936@hg.openjdk.java.net> Changeset: 42351916a4ea Author: sherman Date: 2009-10-30 13:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/42351916a4ea 6894950: test/java/util/zip/Bounds.java fails with OoutOfMemoryError Summary: Fixed the boundary check in Deflater.java Reviewed-by: alanb ! src/share/classes/java/util/zip/Deflater.java ! test/java/util/zip/Bounds.java From tim.bell at sun.com Fri Oct 30 20:30:52 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 30 Oct 2009 20:30:52 +0000 Subject: hg: jdk7/tl/hotspot: 30 new changesets Message-ID: <20091030203154.2820D4193E@hg.openjdk.java.net> Changeset: 528d98fe1037 Author: xlu Date: 2009-09-24 12:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/528d98fe1037 6880029: JDK 1.6.0_u14p Application crashed very early Reviewed-by: never, ysr, acorn ! src/share/vm/runtime/safepoint.cpp Changeset: 054afbef9081 Author: acorn Date: 2009-09-28 12:27 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/054afbef9081 Merge Changeset: a2ad635573fb Author: xlu Date: 2009-10-14 12:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a2ad635573fb Merge Changeset: dcf03e02b020 Author: twisti Date: 2009-10-06 02:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/dcf03e02b020 6879902: CTW failure jdk6_18/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:845 Summary: For signatures with a large number of arguments the offset for the float store becomes too big and does not fit in 13-bit. Reviewed-by: kvn, never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp + test/compiler/6879902/Test6879902.java Changeset: 1ce3281a8e93 Author: kvn Date: 2009-10-06 10:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1ce3281a8e93 6880034: SIGBUS during deoptimisation at a safepoint on 64bit-SPARC Summary: Fix problem with the double register encodings in sparc.ad Reviewed-by: never, jrose Contributed-by: volker.simonis at gmail.com ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad + test/compiler/6880034/Test6880034.java Changeset: e90521d61f9a Author: kvn Date: 2009-10-07 12:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e90521d61f9a 6875959: CTW fails hotspot/src/share/vm/opto/reg_split.cpp:1087 Summary: To break spill ties choose bound live range over unbound to free register or one with smaller cost to spill. Reviewed-by: never, jrose ! src/share/vm/opto/chaitin.cpp Changeset: 03b336640699 Author: never Date: 2009-10-07 15:38 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/03b336640699 6885584: A particular class structure causes large allocation spike for jit Reviewed-by: kvn ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/6885584/Test6885584.java Changeset: 354d3184f6b2 Author: never Date: 2009-10-13 12:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/354d3184f6b2 6890308: integrate zero assembler hotspot changes Reviewed-by: never Contributed-by: gbenson at redhat.com ! make/Makefile ! make/defs.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/sa.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/top.make ! make/linux/makefiles/vm.make + make/linux/makefiles/zero.make + make/linux/makefiles/zeroshark.make + make/linux/platform_zero.in + src/cpu/zero/vm/assembler_zero.cpp + src/cpu/zero/vm/assembler_zero.hpp + src/cpu/zero/vm/assembler_zero.inline.hpp + src/cpu/zero/vm/bytecodeInterpreter_zero.cpp + src/cpu/zero/vm/bytecodeInterpreter_zero.hpp + src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp + src/cpu/zero/vm/bytecodes_zero.cpp + src/cpu/zero/vm/bytecodes_zero.hpp + src/cpu/zero/vm/bytes_zero.hpp + src/cpu/zero/vm/codeBuffer_zero.hpp + src/cpu/zero/vm/copy_zero.hpp + src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp + src/cpu/zero/vm/cppInterpreter_zero.cpp + src/cpu/zero/vm/cppInterpreter_zero.hpp + src/cpu/zero/vm/debug_zero.cpp + src/cpu/zero/vm/depChecker_zero.cpp + src/cpu/zero/vm/depChecker_zero.hpp + src/cpu/zero/vm/disassembler_zero.cpp + src/cpu/zero/vm/disassembler_zero.hpp + src/cpu/zero/vm/dump_zero.cpp + src/cpu/zero/vm/entryFrame_zero.hpp + src/cpu/zero/vm/entry_zero.hpp + src/cpu/zero/vm/fakeStubFrame_zero.hpp + src/cpu/zero/vm/frame_zero.cpp + src/cpu/zero/vm/frame_zero.hpp + src/cpu/zero/vm/frame_zero.inline.hpp + src/cpu/zero/vm/globalDefinitions_zero.hpp + src/cpu/zero/vm/globals_zero.hpp + src/cpu/zero/vm/icBuffer_zero.cpp + src/cpu/zero/vm/icache_zero.cpp + src/cpu/zero/vm/icache_zero.hpp + src/cpu/zero/vm/interp_masm_zero.cpp + src/cpu/zero/vm/interp_masm_zero.hpp + src/cpu/zero/vm/interpreterFrame_zero.hpp + src/cpu/zero/vm/interpreterGenerator_zero.hpp + src/cpu/zero/vm/interpreterRT_zero.cpp + src/cpu/zero/vm/interpreterRT_zero.hpp + src/cpu/zero/vm/interpreter_zero.cpp + src/cpu/zero/vm/interpreter_zero.hpp + src/cpu/zero/vm/javaFrameAnchor_zero.hpp + src/cpu/zero/vm/jniFastGetField_zero.cpp + src/cpu/zero/vm/jniTypes_zero.hpp + src/cpu/zero/vm/jni_zero.h + src/cpu/zero/vm/methodHandles_zero.cpp + src/cpu/zero/vm/nativeInst_zero.cpp + src/cpu/zero/vm/nativeInst_zero.hpp + src/cpu/zero/vm/registerMap_zero.hpp + src/cpu/zero/vm/register_definitions_zero.cpp + src/cpu/zero/vm/register_zero.cpp + src/cpu/zero/vm/register_zero.hpp + src/cpu/zero/vm/relocInfo_zero.cpp + src/cpu/zero/vm/relocInfo_zero.hpp + src/cpu/zero/vm/sharedRuntime_zero.cpp + src/cpu/zero/vm/sharkFrame_zero.hpp + src/cpu/zero/vm/stack_zero.hpp + src/cpu/zero/vm/stubGenerator_zero.cpp + src/cpu/zero/vm/stubRoutines_zero.cpp + src/cpu/zero/vm/stubRoutines_zero.hpp + src/cpu/zero/vm/templateInterpreterGenerator_zero.hpp + src/cpu/zero/vm/templateInterpreter_zero.cpp + src/cpu/zero/vm/templateInterpreter_zero.hpp + src/cpu/zero/vm/templateTable_zero.cpp + src/cpu/zero/vm/templateTable_zero.hpp + src/cpu/zero/vm/vmStructs_zero.hpp + src/cpu/zero/vm/vm_version_zero.cpp + src/cpu/zero/vm/vm_version_zero.hpp + src/cpu/zero/vm/vmreg_zero.cpp + src/cpu/zero/vm/vmreg_zero.hpp + src/cpu/zero/vm/vmreg_zero.inline.hpp + src/cpu/zero/vm/vtableStubs_zero.cpp ! src/os/linux/vm/os_linux.cpp + src/os_cpu/linux_zero/vm/assembler_linux_zero.cpp + src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp + src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp + src/os_cpu/linux_zero/vm/globals_linux_zero.hpp + src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp + src/os_cpu/linux_zero/vm/os_linux_zero.cpp + src/os_cpu/linux_zero/vm/os_linux_zero.hpp + src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp + src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp + src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp + src/os_cpu/linux_zero/vm/thread_linux_zero.cpp + src/os_cpu/linux_zero/vm/thread_linux_zero.hpp + src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp + src/os_cpu/linux_zero/vm/vm_version_linux_zero.cpp + src/share/vm/includeDB_zero ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/oopMapCache.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/jniHandles.hpp ! src/share/vm/runtime/mutex.hpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/vmError.cpp Changeset: fcb148c6b605 Author: never Date: 2009-10-13 16:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fcb148c6b605 6889302: TraceExceptions output should include detail message Reviewed-by: twisti, jrose, kvn ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp Changeset: 5f29a958a545 Author: kvn Date: 2009-10-13 20:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5f29a958a545 6889656: assert(lo_lrg->lo_degree() || !lo_no_simplify,"Live range was lo-degree before coalesce Summary: Restore the original code: uint i = _hi_degree. Reviewed-by: never, jrose ! src/share/vm/opto/chaitin.cpp Changeset: ce590301ae2a Author: kvn Date: 2009-10-13 22:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ce590301ae2a 6889300: assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes") Summary: PhiNode::Ideal() should return TOP for Phi node with no users. Reviewed-by: never, jrose ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/ifnode.cpp Changeset: 8e954aedbb81 Author: never Date: 2009-10-14 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8e954aedbb81 6889869: assert(!Interpreter::bytecode_should_reexecute(code),"should not reexecute") Reviewed-by: jrose, kvn, cfang, twisti ! src/share/vm/code/debugInfoRec.cpp ! src/share/vm/code/pcDesc.hpp Changeset: 23862fc517bb Author: kvn Date: 2009-10-14 11:42 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/23862fc517bb 6722084: JPRT make file doesn't create required symbolic link to libjvm.so Summary: Use -y zip option to preserve symbolic links. Reviewed-by: never, jcoomes, kamg ! make/jprt.gmk ! make/linux/makefiles/defs.make ! make/solaris/makefiles/defs.make Changeset: d40f03b57795 Author: kvn Date: 2009-10-14 15:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d40f03b57795 6890984: Comparison of 2 arrays could cause VM crash Summary: Restore original null checks. Reviewed-by: never, cfang ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp Changeset: e715b51789d8 Author: cfang Date: 2009-10-16 14:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e715b51789d8 Merge ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/phaseX.cpp Changeset: 8afee153274a Author: jcoomes Date: 2009-10-05 05:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8afee153274a 6887948: test/gc/6845368/bigobj.java fails due to timeout Reviewed-by: iveresov ! test/gc/6845368/bigobj.java Changeset: 035d2e036a9b Author: tonyp Date: 2009-10-02 16:12 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/035d2e036a9b 6885041: G1: inconsistent thread dump Summary: When G1 is enabled, thread dumps are inconsistent as the info for some of the G1 threads is not formatted properly. Reviewed-by: ysr, johnc ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.hpp ! src/share/vm/gc_implementation/g1/concurrentZFThread.cpp ! src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: ff2402f6a50b Author: tonyp Date: 2009-10-02 16:20 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ff2402f6a50b 6882730: G1: parallel heap verification messes up region dump Summary: It tidies up the G1 heap verification a bit. In particular, when the verification is done in parallel and there is a failure, this is propagated to the top level and the heap is dumped at the end, not by every thread that encounters a failure. Reviewed-by: johnc, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 1f19207eefc2 Author: tonyp Date: 2009-10-05 12:05 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1f19207eefc2 6847956: G1: crash in oopDesc*G1ParCopyHelper::copy_to_survivor_space(oopDesc*) Summary: When we copy objects to survivors during marking, we incorrectly set NTAMS to bottom, which causes marking to miss visiting some of those objects. Reviewed-by: apetrusenko, iveresov ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 4c3458a31e17 Author: tonyp Date: 2009-10-07 09:42 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4c3458a31e17 6888316: G1: has_aborted() || _cm->region_stack_empty() fails Summary: Remove incorrect guarantee. Reviewed-by: apetrusenko, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 11d4857fe5e1 Author: tonyp Date: 2009-10-07 10:09 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/11d4857fe5e1 6888619: G1: too many guarantees in concurrent marking Summary: change more guarantees in concurrent marking into asserts. Reviewed-by: apetrusenko, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 2c03ce058f55 Author: bobv Date: 2009-10-07 09:48 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2c03ce058f55 6888847: TaskQueue needs release_store() for correctness on RMO machines Summary: See title. Reviewed-by: jmasa, ysr, jcoomes, iveresov, tonyp ! src/share/vm/utilities/taskqueue.hpp Changeset: 1ee412f7fec9 Author: tonyp Date: 2009-10-07 19:01 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1ee412f7fec9 6866190: Remove SIMPLE_STACK code from TaskQueue Summary: What the title says. We don't use SIMPLE_STACK any more. Reviewed-by: ysr ! src/share/vm/utilities/taskqueue.hpp Changeset: f99f695bb8ef Author: tonyp Date: 2009-10-19 17:02 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f99f695bb8ef Merge ! src/share/vm/gc_implementation/g1/concurrentZFThread.cpp Changeset: 39b01ab7035a Author: ysr Date: 2009-10-16 02:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/39b01ab7035a 6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning 6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks) Summary: Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers(). Reviewed-by: jcoomes, kvn, never ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 052a899eec3e Author: ysr Date: 2009-10-20 00:00 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/052a899eec3e 6892749: assert(UseParNewGC || UseSerialGC || UseConcMarkSweepGC, "...") fails Summary: Removed the assert: UseSerialGC is not necessarily always set when serial gc is being used. Reviewed-by: jcoomes, jmasa, tonyp ! src/share/vm/memory/genCollectedHeap.hpp Changeset: b0b36f0de97e Author: tonyp Date: 2009-10-20 11:28 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b0b36f0de97e Merge Changeset: dfdaf65c3423 Author: apetrusenko Date: 2009-10-22 07:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/dfdaf65c3423 6858886: G1: guarantee(_next_marked_bytes <= used(),"invariant") at heapRegion.hpp:359 Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 67a9176de85c Author: trims Date: 2009-10-23 14:27 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/67a9176de85c 6894844: Bump the HS17 build number to 04 Summary: Update the HS17 build number to 04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: d8dd291a362a Author: trims Date: 2009-10-23 14:28 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d8dd291a362a Merge From tim.bell at sun.com Fri Oct 30 20:32:32 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 30 Oct 2009 20:32:32 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20091030203309.D4DF34193F@hg.openjdk.java.net> Changeset: 8885b2256507 Author: ohair Date: 2009-10-29 11:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8885b2256507 6896472: Missing libjsig.so causes jdk build failure Reviewed-by: tbell, kvn, phh ! make/java/redist/Makefile Changeset: 9618f9a100e4 Author: tbell Date: 2009-10-30 09:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9618f9a100e4 Merge - src/share/classes/com/sun/jmx/event/DaemonThreadFactory.java - src/share/classes/com/sun/jmx/event/EventBuffer.java - src/share/classes/com/sun/jmx/event/EventClientFactory.java - src/share/classes/com/sun/jmx/event/EventConnection.java - src/share/classes/com/sun/jmx/event/EventParams.java - src/share/classes/com/sun/jmx/event/LeaseManager.java - src/share/classes/com/sun/jmx/event/LeaseRenewer.java - src/share/classes/com/sun/jmx/event/ReceiverBuffer.java - src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java - src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.java - src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java - src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java - src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java - src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java - src/share/classes/com/sun/jmx/mbeanserver/NotifySupport.java - src/share/classes/com/sun/jmx/mbeanserver/PerThreadGroupPool.java - src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java - src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java - src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java - src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java - src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java - src/share/classes/com/sun/jmx/namespace/RoutingProxy.java - src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java - src/share/classes/com/sun/jmx/namespace/package.html - src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java - src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.java - src/share/classes/com/sun/jmx/namespace/serial/package.html - src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java - src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java - src/share/classes/javax/management/ClientContext.java - src/share/classes/javax/management/Description.java - src/share/classes/javax/management/DescriptorFields.java - src/share/classes/javax/management/DynamicWrapperMBean.java - src/share/classes/javax/management/GenericMBeanException.java - src/share/classes/javax/management/Impact.java - src/share/classes/javax/management/MBean.java - src/share/classes/javax/management/ManagedAttribute.java - src/share/classes/javax/management/ManagedOperation.java - src/share/classes/javax/management/NotificationInfo.java - src/share/classes/javax/management/NotificationInfos.java - src/share/classes/javax/management/ObjectNameTemplate.java - src/share/classes/javax/management/QueryNotificationFilter.java - src/share/classes/javax/management/QueryParser.java - src/share/classes/javax/management/SendNotification.java - src/share/classes/javax/management/event/EventClient.java - src/share/classes/javax/management/event/EventClientDelegate.java - src/share/classes/javax/management/event/EventClientDelegateMBean.java - src/share/classes/javax/management/event/EventClientNotFoundException.java - src/share/classes/javax/management/event/EventConsumer.java - src/share/classes/javax/management/event/EventForwarder.java - src/share/classes/javax/management/event/EventReceiver.java - src/share/classes/javax/management/event/EventRelay.java - src/share/classes/javax/management/event/EventSubscriber.java - src/share/classes/javax/management/event/FetchingEventForwarder.java - src/share/classes/javax/management/event/FetchingEventRelay.java - src/share/classes/javax/management/event/ListenerInfo.java - src/share/classes/javax/management/event/NotificationManager.java - src/share/classes/javax/management/event/RMIPushEventForwarder.java - src/share/classes/javax/management/event/RMIPushEventRelay.java - src/share/classes/javax/management/event/RMIPushServer.java - src/share/classes/javax/management/event/package-info.java - src/share/classes/javax/management/namespace/JMXDomain.java - src/share/classes/javax/management/namespace/JMXNamespace.java - src/share/classes/javax/management/namespace/JMXNamespaceMBean.java - src/share/classes/javax/management/namespace/JMXNamespacePermission.java - src/share/classes/javax/management/namespace/JMXNamespaceView.java - src/share/classes/javax/management/namespace/JMXNamespaces.java - src/share/classes/javax/management/namespace/JMXRemoteNamespace.java - src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java - src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java - src/share/classes/javax/management/namespace/MBeanServerSupport.java - src/share/classes/javax/management/namespace/VirtualEventManager.java - src/share/classes/javax/management/namespace/package-info.java - src/share/classes/javax/management/openmbean/MXBeanMapping.java - src/share/classes/javax/management/openmbean/MXBeanMappingClass.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java - src/share/classes/javax/management/openmbean/MXBeanMappingFactoryClass.java - src/share/classes/javax/management/remote/IdentityMBeanServerForwarder.java - src/share/classes/sun/net/www/protocol/http/HttpLogFormatter.java - src/share/classes/sun/net/www/protocol/http/NegotiateCallbackHandler.java - src/share/classes/sun/net/www/protocol/http/NegotiatorImpl.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthSequence.java - src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java - src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c - test/javax/management/Introspector/AnnotatedMBeanTest.java - test/javax/management/Introspector/AnnotatedNotificationInfoTest.java - test/javax/management/Introspector/ExceptionsDescriptorTest.java - test/javax/management/Introspector/MBeanDescriptionTest.java - test/javax/management/Introspector/ObjectNameTemplateTest.java - test/javax/management/Introspector/ParameterNameTest.java - test/javax/management/Introspector/ResourceInjectionTest.java - test/javax/management/MBeanServer/AttributeListMapTest.java - test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java - test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java - test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java - test/javax/management/ObjectName/ValueOfTest.java - test/javax/management/context/ContextForwarderTest.java - test/javax/management/context/ContextTest.java - test/javax/management/context/LocaleAwareBroadcasterTest.java - test/javax/management/context/LocaleTest.java - test/javax/management/context/LocalizableTest.java - test/javax/management/context/RemoteContextTest.java - test/javax/management/context/localizable/MBeanDescriptions.properties - test/javax/management/context/localizable/MBeanDescriptions_fr.java - test/javax/management/context/localizable/Whatsit.java - test/javax/management/context/localizable/WhatsitMBean.java - test/javax/management/descriptor/DescriptorConstructorTest.java - test/javax/management/eventService/AddRemoveListenerTest.java - test/javax/management/eventService/CustomForwarderTest.java - test/javax/management/eventService/EventClientExecutorTest.java - test/javax/management/eventService/EventClientThreadTest.java - test/javax/management/eventService/EventDelegateSecurityTest.java - test/javax/management/eventService/EventManagerTest.java - test/javax/management/eventService/FetchingTest.java - test/javax/management/eventService/LeaseManagerDeadlockTest.java - test/javax/management/eventService/LeaseTest.java - test/javax/management/eventService/ListenerTest.java - test/javax/management/eventService/MyFetchingEventForwarder.java - test/javax/management/eventService/NotSerializableNotifTest.java - test/javax/management/eventService/PublishTest.java - test/javax/management/eventService/ReconnectableConnectorTest.java - test/javax/management/eventService/SharingThreadTest.java - test/javax/management/eventService/SubUnsubTest.java - test/javax/management/eventService/SubscribeTest.java - test/javax/management/eventService/UsingEventService.java - test/javax/management/interop/MBeanExceptionInteropTest.java - test/javax/management/modelmbean/DefaultDescriptorFieldTest.java - test/javax/management/monitor/InstantiateMonitorNotificationTest.java - test/javax/management/mxbean/CustomTypeTest.java - test/javax/management/mxbean/JMXServiceURLTest.java - test/javax/management/mxbean/customtypes/CustomLongMXBean.java - test/javax/management/mxbean/customtypes/CustomMXBean.java - test/javax/management/mxbean/customtypes/IntegerIsLongFactory.java - test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java - test/javax/management/mxbean/customtypes/package-info.java - test/javax/management/namespace/DomainCreationTest.java - test/javax/management/namespace/EventWithNamespaceControlTest.java - test/javax/management/namespace/EventWithNamespaceTest.java - test/javax/management/namespace/ExportNamespaceTest.java - test/javax/management/namespace/JMXDomainTest.java - test/javax/management/namespace/JMXNamespaceSecurityTest.java - test/javax/management/namespace/JMXNamespaceTest.java - test/javax/management/namespace/JMXNamespaceViewTest.java - test/javax/management/namespace/JMXNamespacesTest.java - test/javax/management/namespace/JMXRemoteNamespaceTest.java - test/javax/management/namespace/JMXRemoteTargetNamespace.java - test/javax/management/namespace/LazyDomainTest.java - test/javax/management/namespace/LeadingSeparatorsTest.java - test/javax/management/namespace/MXBeanRefTest.java - test/javax/management/namespace/NamespaceController.java - test/javax/management/namespace/NamespaceControllerMBean.java - test/javax/management/namespace/NamespaceCreationTest.java - test/javax/management/namespace/NamespaceNotificationsTest.java - test/javax/management/namespace/NullDomainObjectNameTest.java - test/javax/management/namespace/NullObjectNameTest.java - test/javax/management/namespace/QueryNamesTest.java - test/javax/management/namespace/RemoveNotificationListenerTest.java - test/javax/management/namespace/RoutingServerProxyTest.java - test/javax/management/namespace/SerialParamProcessorTest.java - test/javax/management/namespace/SourceNamespaceTest.java - test/javax/management/namespace/VirtualMBeanNotifTest.java - test/javax/management/namespace/VirtualMBeanTest.java - test/javax/management/namespace/VirtualNamespaceQueryTest.java - test/javax/management/namespace/VirtualPropsTest.java - test/javax/management/namespace/Wombat.java - test/javax/management/namespace/WombatMBean.java - test/javax/management/namespace/namespace.policy - test/javax/management/notification/SupportClearTest.java - test/javax/management/openmbean/CompositeDataToMapTest.java - test/javax/management/openmbean/GenericMBeanExceptionTest.java - test/javax/management/query/QueryDottedAttrTest.java - test/javax/management/query/QueryNotifFilterTest.java - test/javax/management/query/QueryParseTest.java - test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java - test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java - test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java - test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java - test/javax/management/standardmbean/FindMethodTest.java - test/javax/management/standardmbean/RegistrationTest.java Changeset: e046a2002310 Author: tbell Date: 2009-10-30 13:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e046a2002310 Merge From alan.bateman at sun.com Fri Oct 30 21:33:06 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Fri, 30 Oct 2009 21:33:06 +0000 Subject: hg: jdk7/tl/jdk: 6896829: test/sun/util/logging/PlatformLoggerTest.java needs @compile tag to be compiled by jtreg Message-ID: <20091030213319.8D0A841950@hg.openjdk.java.net> Changeset: fe9db22a220f Author: alanb Date: 2009-10-30 21:31 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/fe9db22a220f 6896829: test/sun/util/logging/PlatformLoggerTest.java needs @compile tag to be compiled by jtreg Reviewed-by: mchung, tbell ! test/sun/util/logging/PlatformLoggerTest.java