OpenJDK / amber / amber
changeset 44203:d2d435372329
Merge
author | lana |
---|---|
date | Mon, 13 Mar 2017 19:59:41 +0000 |
parents | 56713dcfe871 4a79ad46e578 |
children | 0c46195767fb 91576389a517 |
files | hotspot/.hgtags hotspot/src/share/vm/prims/jvm.cpp hotspot/src/share/vm/runtime/arguments.cpp hotspot/src/share/vm/runtime/globals.hpp hotspot/test/compiler/jsr292/patches/java.base/java/lang/invoke/MethodHandleHelper.java hotspot/test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java hotspot/test/gc/startup_warnings/TestDefNewCMS.java hotspot/test/gc/startup_warnings/TestParNewCMS.java hotspot/test/gc/startup_warnings/TestParNewSerialOld.java hotspot/test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java hotspot/test/runtime/NMT/AutoshutdownNMT.java jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest5.out jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest7.out jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/bytecode/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/impl/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/nav/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package.html jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/streaming/ContextClassloaderLocal.properties jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/commons/xmlutil/ContextClassloaderLocal.properties jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/ContextClassloaderLocal.properties jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/ContextClassloaderLocal.properties jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/ap/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/api/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/generator/bean/field/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/model/nav/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/outline/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/gbind/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/internalizer/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/runtime/package.html jaxws/src/jdk.xml.bind/share/classes/com/sun/xml/internal/xsom/impl/util/Uri.java jaxws/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/parser/ContextClassloaderLocal.properties jdk/make/src/classes/build/tools/jigsaw/Graph.java jdk/src/java.base/macosx/native/launcher/jexec.c jdk/src/java.base/share/classes/sun/security/provider/certpath/PKIXTimestampParameters.java jdk/src/java.base/share/classes/sun/security/util/CertConstraintParameters.java jdk/src/java.base/share/native/libzip/zlib-1.2.8/ChangeLog jdk/src/java.base/share/native/libzip/zlib-1.2.8/README jdk/src/java.base/share/native/libzip/zlib-1.2.8/compress.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/crc32.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/deflate.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/deflate.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzclose.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzguts.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzlib.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzread.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzwrite.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/infback.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/inffast.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/inffast.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/inffixed.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/inflate.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/inflate.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/inftrees.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/inftrees.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/patches/ChangeLog_java jdk/src/java.base/share/native/libzip/zlib-1.2.8/trees.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/trees.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/uncompr.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/zadler32.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/zconf.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/zcrc32.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/zlib.h jdk/src/java.base/share/native/libzip/zlib-1.2.8/zutil.c jdk/src/java.base/share/native/libzip/zlib-1.2.8/zutil.h jdk/src/java.base/unix/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java jdk/src/jdk.desktop/share/classes/jdk/awt/AWTUtils.java jdk/src/jdk.desktop/share/classes/module-info.java jdk/test/java/awt/jdk/TestJDKAWTUtils.java jdk/test/java/lang/StackWalker/CountLocalSlots.java jdk/test/java/lang/StackWalker/LocalsCrash.java jdk/test/java/lang/invoke/lambda/MetafactorySamReturnTest.java jdk/test/java/lang/invoke/modules/ModuleAccessControlTest.java jdk/test/java/lang/invoke/modules/src/m1/module-info.java jdk/test/java/lang/invoke/modules/src/m1/p1/Main.java jdk/test/java/lang/invoke/modules/src/m1/p1/Type1.java jdk/test/java/lang/invoke/modules/src/m1/p2/Type2.java jdk/test/java/lang/invoke/modules/src/m2/module-info.java jdk/test/java/lang/invoke/modules/src/m2/q1/Type1.java jdk/test/java/lang/invoke/modules/src/m2/q2/Type2.java jdk/test/java/util/stream/bootlib/java.base/java/util/stream/SpliteratorTestHelper.java jdk/test/javax/xml/jaxp/common/8035437/Document.java jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java jdk/test/javax/xml/jaxp/common/8035437/Node.java jdk/test/sun/security/krb5/auto/BadKdc.java jdk/test/sun/security/krb5/auto/BadKdc1.java jdk/test/sun/security/krb5/auto/BadKdc2.java jdk/test/sun/security/krb5/auto/BadKdc3.java jdk/test/sun/security/krb5/auto/BadKdc4.java jdk/test/sun/security/krb5/auto/CommMatcher.java jdk/test/sun/security/krb5/auto/MaxRetries.java jdk/test/sun/security/krb5/auto/TcpTimeout.java jdk/test/sun/security/krb5/auto/UdpTcp.java jdk/test/sun/text/IntHashtable/Bug4170614Test.java langtools/test/tools/javac/6627362/x/Object.java langtools/test/tools/javac/T4093617/java.base/Object.java langtools/test/tools/javac/diags/examples/ModuleInfoWithXModuleSourcePath/Extra.java langtools/test/tools/javac/diags/examples/ModuleInfoWithXModuleSourcePath/module-info.java langtools/test/tools/javac/diags/examples/ModuleInfoWithXmoduleClasspath/ModuleInfoWithXmoduleClasspath.java langtools/test/tools/javac/diags/examples/ModuleInfoWithXmoduleClasspath/additional/module-info.java langtools/test/tools/javac/diags/examples/NoSuperclass.java langtools/test/tools/javac/diags/examples/XModuleWithModulePath/XModuleWithModulePath.java langtools/test/tools/javac/meth/BadPolySig.java langtools/test/tools/javac/modules/XModuleTest.java langtools/test/tools/javac/redefineObject/java.base/Object1.java langtools/test/tools/javac/redefineObject/java.base/Object2.java |
diffstat | 1184 files changed, 44518 insertions(+), 31064 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Thu Mar 09 21:35:17 2017 +0000 +++ b/.hgtags Mon Mar 13 19:59:41 2017 +0000 @@ -1,3 +1,5 @@ +fa3e76b477829afc4476f0b725cfaa440a6fd917 jdk-9+157 +b5015f742ba648184bb7fc547197bd33ebfde30d jdk-9+158 1cc8dd79fd1cd13d36b385196271a29632c67c3b jdk7-b24 bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25 5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26 @@ -399,3 +401,5 @@ 8c70d170e62c0c58b5bc3ba666bd140399b98c9c jdk-10+0 45b751afd11e6c05991cf4913c5a0ac3304fcc4e jdk-9+154 f4aff695ffe05cfdb69d8af25a4ddc6a029754ea jdk-9+155 +06bce0388880b5ff8e040e4a9d72a3ea11dac321 jdk-9+156 +74116beae88a8f17a80301aa6c83865c82f10ece jdk-10+1
--- a/.hgtags-top-repo Thu Mar 09 21:35:17 2017 +0000 +++ b/.hgtags-top-repo Mon Mar 13 19:59:41 2017 +0000 @@ -396,5 +396,9 @@ 71a766d4c18041a7f833ee22823125b02e1a7f1e jdk-9+151 ef056360ddf3977d7d2ddbeb456a4d612d19ea05 jdk-9+152 816a6d03a7c44edfbd8780110529f1bdc3964fb9 jdk-9+153 +8d22611ffb6540bc1ace64a00c048c8b82d8c69a jdk-10+0 8d26916eaa21b689835ffc1c0dbf12470aa9be61 jdk-9+154 688a3863c00ebc089ab17ee1fc46272cbbd96815 jdk-9+155 +783ec7542cf7154e5d2b87f55bb97d28f81e9ada jdk-9+156 +4eb77fb98952dc477a4229575c81d2263a9ce711 jdk-9+157 +a4087bc10a88a43ea3ad0919b5b4af1c86977221 jdk-9+158
--- a/.jcheck/conf Thu Mar 09 21:35:17 2017 +0000 +++ b/.jcheck/conf Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -project=jdk9 +project=jdk10
--- a/common/autoconf/basics.m4 Thu Mar 09 21:35:17 2017 +0000 +++ b/common/autoconf/basics.m4 Mon Mar 13 19:59:41 2017 +0000 @@ -1202,6 +1202,18 @@ # Check for support for specific options in bash AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS], [ + # Check bash version + # Extra [ ] to stop m4 mangling + [ BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ] + AC_MSG_CHECKING([bash version]) + AC_MSG_RESULT([$BASH_VER]) + + BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1` + BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2` + if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then + AC_MSG_ERROR([bash version 3.2 or better is required]) + fi + # Test if bash supports pipefail. AC_MSG_CHECKING([if bash supports pipefail]) if ${BASH} -c 'set -o pipefail'; then
--- a/common/autoconf/generated-configure.sh Thu Mar 09 21:35:17 2017 +0000 +++ b/common/autoconf/generated-configure.sh Mon Mar 13 19:59:41 2017 +0000 @@ -5170,7 +5170,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1486175373 +DATE_WHEN_GENERATED=1486679715 ############################################################################### # @@ -24092,6 +24092,20 @@ fi + # Check bash version + # Extra [ ] to stop m4 mangling + BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking bash version" >&5 +$as_echo_n "checking bash version... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH_VER" >&5 +$as_echo "$BASH_VER" >&6; } + + BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1` + BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2` + if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then + as_fn_error $? "bash version 3.2 or better is required" "$LINENO" 5 + fi + # Test if bash supports pipefail. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bash supports pipefail" >&5 $as_echo_n "checking if bash supports pipefail... " >&6; }
--- a/common/autoconf/version-numbers Thu Mar 09 21:35:17 2017 +0000 +++ b/common/autoconf/version-numbers Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,7 @@ # Default version numbers to use unless overridden by configure -DEFAULT_VERSION_MAJOR=9 +DEFAULT_VERSION_MAJOR=10 DEFAULT_VERSION_MINOR=0 DEFAULT_VERSION_SECURITY=0 DEFAULT_VERSION_PATCH=0
--- a/common/bin/unshuffle_list.txt Thu Mar 09 21:35:17 2017 +0000 +++ b/common/bin/unshuffle_list.txt Mon Mar 13 19:59:41 2017 +0000 @@ -361,8 +361,8 @@ jdk/src/java.base/share/native/libverify/check_format.c : jdk/src/share/native/common/check_format.c jdk/src/java.base/share/native/libverify/opcodes.in_out : jdk/src/share/native/common/opcodes.in_out jdk/src/java.base/share/native/libzip : jdk/src/share/native/java/util/zip -jdk/src/java.base/share/native/libzip/zlib-1.2.8 : jdk/src/share/native/java/util/zip/zlib-1.2.8 -jdk/src/java.base/share/native/libzip/zlib-1.2.8/patches/ChangeLog_java : jdk/src/share/native/java/util/zip/zlib-1.2.8/patches/ChangeLog_java +jdk/src/java.base/share/native/libzip/zlib : jdk/src/share/native/java/util/zip/zlib +jdk/src/java.base/share/native/libzip/zlib/patches/ChangeLog_java : jdk/src/share/native/java/util/zip/zlib/patches/ChangeLog_java jdk/src/java.base/unix/classes/java/io : jdk/src/solaris/classes/java/io jdk/src/java.base/unix/classes/java/lang : jdk/src/solaris/classes/java/lang jdk/src/java.base/unix/classes/java/net : jdk/src/solaris/classes/java/net
--- a/common/conf/jib-profiles.js Thu Mar 09 21:35:17 2017 +0000 +++ b/common/conf/jib-profiles.js Mon Mar 13 19:59:41 2017 +0000 @@ -1080,7 +1080,7 @@ + "." + (minor != null ? minor : version_numbers.get("DEFAULT_VERSION_MINOR")) + "." + (security != null ? security : version_numbers.get("DEFAULT_VERSION_SECURITY")) + "." + (patch != null ? patch : version_numbers.get("DEFAULT_VERSION_PATCH")); - while (version.match(".*\.0$")) { + while (version.match(".*\\.0$")) { version = version.substring(0, version.length - 2); } return version;
--- a/common/nb_native/nbproject/configurations.xml Thu Mar 09 21:35:17 2017 +0000 +++ b/common/nb_native/nbproject/configurations.xml Mon Mar 13 19:59:41 2017 +0000 @@ -1223,7 +1223,7 @@ <in>check_format.c</in> </df> <df name="libzip"> - <df name="zlib-1.2.8"> + <df name="zlib"> <in>compress.c</in> <in>deflate.c</in> <in>gzclose.c</in> @@ -38283,7 +38283,7 @@ <pElem>../../jdk/src/java.base/unix/native/include</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../build/support/headers/java.base</pElem> <pElem>../../make</pElem> </incDir> @@ -38304,7 +38304,7 @@ <pElem>../../jdk/src/java.base/unix/native/include</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../build/support/headers/java.base</pElem> <pElem>../../make</pElem> </incDir> @@ -38325,7 +38325,7 @@ <pElem>../../jdk/src/java.base/unix/native/include</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../build/support/headers/java.base</pElem> <pElem>../../make</pElem> </incDir> @@ -38346,7 +38346,7 @@ <pElem>../../jdk/src/java.base/unix/native/include</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../build/support/headers/java.base</pElem> <pElem>../../make</pElem> </incDir> @@ -38367,7 +38367,7 @@ <pElem>../../jdk/src/java.base/unix/native/include</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../build/support/headers/java.base</pElem> <pElem>../../make</pElem> </incDir> @@ -38377,14 +38377,14 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/compress.c" - ex="false" - tool="0" - flavor2="0"> - <cTool flags="4"> - </cTool> - </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/deflate.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/compress.c" + ex="false" + tool="0" + flavor2="0"> + <cTool flags="4"> + </cTool> + </item> + <item path="../../jdk/src/java.base/share/native/libzip/zlib/deflate.c" ex="false" tool="0" flavor2="0"> @@ -38394,7 +38394,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzclose.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/gzclose.c" ex="false" tool="0" flavor2="0"> @@ -38404,7 +38404,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzlib.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/gzlib.c" ex="false" tool="0" flavor2="0"> @@ -38414,7 +38414,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzread.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/gzread.c" ex="false" tool="0" flavor2="0"> @@ -38424,7 +38424,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/gzwrite.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/gzwrite.c" ex="false" tool="0" flavor2="0"> @@ -38434,7 +38434,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/infback.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/infback.c" ex="false" tool="0" flavor2="0"> @@ -38444,7 +38444,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/inffast.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/inffast.c" ex="false" tool="0" flavor2="0"> @@ -38454,7 +38454,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/inflate.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/inflate.c" ex="false" tool="0" flavor2="0"> @@ -38464,7 +38464,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/inftrees.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/inftrees.c" ex="false" tool="0" flavor2="0"> @@ -38474,7 +38474,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/trees.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/trees.c" ex="false" tool="0" flavor2="0"> @@ -38484,7 +38484,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/uncompr.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/uncompr.c" ex="false" tool="0" flavor2="0"> @@ -38494,7 +38494,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/zadler32.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/zadler32.c" ex="false" tool="0" flavor2="0"> @@ -38504,7 +38504,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/zcrc32.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/zcrc32.c" ex="false" tool="0" flavor2="0"> @@ -38514,7 +38514,7 @@ </preprocessorList> </cTool> </item> - <item path="../../jdk/src/java.base/share/native/libzip/zlib-1.2.8/zutil.c" + <item path="../../jdk/src/java.base/share/native/libzip/zlib/zutil.c" ex="false" tool="0" flavor2="0"> @@ -41203,7 +41203,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41232,7 +41232,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41261,7 +41261,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41290,7 +41290,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41319,7 +41319,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41348,7 +41348,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41377,7 +41377,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41406,7 +41406,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41435,7 +41435,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41464,7 +41464,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41493,7 +41493,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41522,7 +41522,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41551,7 +41551,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41580,7 +41580,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41609,7 +41609,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41638,7 +41638,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41667,7 +41667,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41696,7 +41696,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41725,7 +41725,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41754,7 +41754,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41783,7 +41783,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41812,7 +41812,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41841,7 +41841,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41870,7 +41870,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41899,7 +41899,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41928,7 +41928,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41957,7 +41957,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -41986,7 +41986,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42015,7 +42015,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42044,7 +42044,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42073,7 +42073,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42102,7 +42102,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42131,7 +42131,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42160,7 +42160,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42189,7 +42189,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42218,7 +42218,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42247,7 +42247,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42276,7 +42276,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42305,7 +42305,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42334,7 +42334,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42363,7 +42363,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42413,7 +42413,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42442,7 +42442,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -42471,7 +42471,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -46557,7 +46557,7 @@ <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjli</pElem> <pElem>../../jdk/src/java.base/share/native/libjli</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../make</pElem> </incDir> <preprocessorList> @@ -46639,15 +46639,15 @@ </preprocessorList> </cTool> </folder> - <folder path="0/jdk/src/java.base/share/native/libzip/zlib-1.2.8"> - <cTool> - <incDir> - <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/giflib</pElem> - <pElem>../../jdk/src/java.desktop/share/native/libjavajpeg</pElem> - <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> - <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <folder path="0/jdk/src/java.base/share/native/libzip/zlib"> + <cTool> + <incDir> + <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/giflib</pElem> + <pElem>../../jdk/src/java.desktop/share/native/libjavajpeg</pElem> + <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> + <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> + <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -46712,7 +46712,7 @@ <incDir> <pElem>../../jdk/src/java.base/unix/native/libjli</pElem> <pElem>../../jdk/src/java.base/share/native/libjli</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../make</pElem> </incDir> <preprocessorList> @@ -47250,7 +47250,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -47598,7 +47598,7 @@ <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen</pElem> <pElem>../../jdk/src/java.desktop/share/native/libsplashscreen/libpng</pElem> <pElem>../../jdk/src/java.desktop/unix/native/libsplashscreen</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/linux/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> @@ -47996,7 +47996,7 @@ <pElem>../../jdk/src/jdk.pack/share/native/common-unpack</pElem> <pElem>../../jdk/src/java.base/share/native/libjava</pElem> <pElem>../../jdk/src/java.base/unix/native/libjava</pElem> - <pElem>../../jdk/src/java.base/share/native/libzip/zlib-1.2.8</pElem> + <pElem>../../jdk/src/java.base/share/native/libzip/zlib</pElem> <pElem>../../jdk/src/java.base/share/native/include</pElem> <pElem>../../jdk/src/java.base/linux/native/include</pElem> <pElem>../../jdk/src/java.base/unix/native/include</pElem>
--- a/corba/.hgtags Thu Mar 09 21:35:17 2017 +0000 +++ b/corba/.hgtags Mon Mar 13 19:59:41 2017 +0000 @@ -396,5 +396,9 @@ 77f827f5bbad3ef795664bc675f72d98d156b9f8 jdk-9+151 ff8cb43c07c069b1debdee44cb88ca22db1ec757 jdk-9+152 68a8e8658511093b322a46ed04b2a321e1da2a43 jdk-9+153 +d66f97a610a6beac987740edc2bf6a70f46ba574 jdk-10+0 078ebe23b584466dc8346e620d7821d91751e5a9 jdk-9+154 a545f54babfa31aa7eb611f36031609acd617cbc jdk-9+155 +907c26240cd481579e919bfd23740797ff8ce1c8 jdk-9+156 +9383da04b385cca46b7ca67f3a39ac1b673e09fe jdk-9+157 +de6bdf38935fa753183ca288bed5c06a23c0bb12 jdk-9+158
--- a/corba/.jcheck/conf Thu Mar 09 21:35:17 2017 +0000 +++ b/corba/.jcheck/conf Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -project=jdk9 +project=jdk10
--- a/corba/src/java.corba/share/classes/module-info.java Thu Mar 09 21:35:17 2017 +0000 +++ b/corba/src/java.corba/share/classes/module-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -25,6 +25,8 @@ /** * Defines the Java binding of the OMG CORBA APIs, and the RMI-IIOP API. + * + * @since 9 */ @Deprecated(since="9", forRemoval=true) module java.corba {
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java Thu Mar 09 21:35:17 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java Mon Mar 13 19:59:41 2017 +0000 @@ -106,13 +106,13 @@ * * <LI>check in properties parameter, if any * - * <LI>check in the System properties + * <LI>check in the System properties, if any * * <LI>check in the orb.properties file located in the user.home - * directory (if any) + * directory, if any * - * <LI>check in the orb.properties file located in the java.home/lib - * directory (if any) + * <LI>check in the orb.properties file located in the run-time image, + * if any * * <LI>fall back on a hardcoded default behavior (use the Java IDL * implementation) @@ -170,9 +170,15 @@ * Thus, where appropriate, it is necessary that * the classes for this alternative ORBSingleton are available on the application's class path. * It should be noted that the singleton ORB is system wide. - * + * <P> * When a per-application ORB is created via the 2-arg init methods, * then it will be located using the thread context class loader. + * <P> + * The IDL to Java Language OMG specification documents the ${java.home}/lib directory as the location, + * in the Java run-time image, to search for orb.properties. + * This location is not intended for user editable configuration files. + * Therefore, the implementation first checks the ${java.home}/conf directory for orb.properties, + * and thereafter the ${java.home}/lib directory. * * @since JDK1.2 */ @@ -271,14 +277,25 @@ } String javaHome = System.getProperty("java.home"); - fileName = javaHome + File.separator - + "lib" + File.separator + "orb.properties"; - props = getFileProperties( fileName ) ; + + fileName = javaHome + File.separator + "conf" + + File.separator + "orb.properties"; + props = getFileProperties(fileName); + + if (props != null) { + String value = props.getProperty(name); + if (value != null) + return value; + } + + fileName = javaHome + File.separator + "lib" + + File.separator + "orb.properties"; + props = getFileProperties(fileName); if (props == null) - return null ; + return null; else - return props.getProperty( name ) ; + return props.getProperty(name); } } );
--- a/hotspot/.hgtags Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/.hgtags Mon Mar 13 19:59:41 2017 +0000 @@ -556,6 +556,7 @@ 2a2ac7d9f52c8cb2b80077e515b5840b947e640c jdk-9+151 31f1d26c60df7b2e516a4f84160d76ba017d4e09 jdk-9+152 217ba81b9a4ce8698200370175aa2db86a39f66c jdk-9+153 +fc7e94cb748507366b839e859f865f724467446a jdk-10+0 a9fdfd55835ef9dccb7f317b07249bd66653b874 jdk-9+154 f3b3d77a1751897413aae43ac340a130b6fa2ae1 jdk-9+155 43139c588ea48b6504e52b6c3dec530b17b1fdb4 jdk-9+156
--- a/hotspot/.jcheck/conf Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/.jcheck/conf Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -project=jdk9 +project=jdk10
--- a/hotspot/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -45,10 +45,8 @@ // We compile very aggressively with the builtin simulator because // doing so greatly reduces run times and tests more code. define_pd_global(intx, CompileThreshold, 150 ); -define_pd_global(intx, BackEdgeThreshold, 500); #else define_pd_global(intx, CompileThreshold, 1500 ); -define_pd_global(intx, BackEdgeThreshold, 100000); #endif define_pd_global(intx, OnStackReplacePercentage, 933 ); @@ -76,6 +74,4 @@ define_pd_global(bool, CSEArrayLength, false); define_pd_global(bool, TwoOperandLIRForm, false ); -define_pd_global(intx, SafepointPollOffset, 0 ); - #endif // CPU_AARCH64_VM_C1_GLOBALS_AARCH64_HPP
--- a/hotspot/src/cpu/aarch64/vm/c2_globals_aarch64.hpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/cpu/aarch64/vm/c2_globals_aarch64.hpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -43,7 +43,6 @@ define_pd_global(bool, ProfileInterpreter, true); define_pd_global(bool, TieredCompilation, trueInTiered); define_pd_global(intx, CompileThreshold, 10000); -define_pd_global(intx, BackEdgeThreshold, 100000); define_pd_global(intx, OnStackReplacePercentage, 140); define_pd_global(intx, ConditionalMoveLimit, 3);
--- a/hotspot/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -150,13 +150,7 @@ // Helper methods private void printGCAlgorithm(Map flagMap) { - // print about new generation - long l = getFlagValue("UseParNewGC", flagMap); - if (l == 1L) { - System.out.println("using parallel threads in the new generation."); - } - - l = getFlagValue("UseTLAB", flagMap); + long l = getFlagValue("UseTLAB", flagMap); if (l == 1L) { System.out.println("using thread-local object allocation."); }
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -3050,15 +3050,12 @@ thr_yield(); } -// Interface for setting lwp priorities. If we are using T2 libthread, -// which forces the use of BoundThreads or we manually set UseBoundThreads, -// all of our threads will be assigned to real lwp's. Using the thr_setprio -// function is meaningless in this mode so we must adjust the real lwp's priority +// Interface for setting lwp priorities. We are using T2 libthread, +// which forces the use of bound threads, so all of our threads will +// be assigned to real lwp's. Using the thr_setprio function is +// meaningless in this mode so we must adjust the real lwp's priority. // The routines below implement the getting and setting of lwp priorities. // -// Note: T2 is now the only supported libthread. UseBoundThreads flag is -// being deprecated and all threads are now BoundThreads -// // Note: There are three priority scales used on Solaris. Java priotities // which range from 1 to 10, libthread "thr_setprio" scale which range // from 0 to 127, and the current scheduling class of the process we
--- a/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -488,9 +488,6 @@ _gc_timer_cm(new (ResourceObj::C_HEAP, mtGC) ConcurrentGCTimer()), _cms_start_registered(false) { - if (ExplicitGCInvokesConcurrentAndUnloadsClasses) { - ExplicitGCInvokesConcurrent = true; - } // Now expand the span and allocate the collection support structures // (MUT, marking bit map etc.) to cover both generations subject to // collection. @@ -2559,10 +2556,8 @@ // Decide if we want to enable class unloading as part of the // ensuing concurrent GC cycle. We will collect and // unload classes if it's the case that: -// (1) an explicit gc request has been made and the flag -// ExplicitGCInvokesConcurrentAndUnloadsClasses is set, OR -// (2) (a) class unloading is enabled at the command line, and -// (b) old gen is getting really full +// (a) class unloading is enabled at the command line, and +// (b) old gen is getting really full // NOTE: Provided there is no change in the state of the heap between // calls to this method, it should have idempotent results. Moreover, // its results should be monotonically increasing (i.e. going from 0 to 1, @@ -2575,11 +2570,7 @@ // below. void CMSCollector::update_should_unload_classes() { _should_unload_classes = false; - // Condition 1 above - if (_full_gc_requested && ExplicitGCInvokesConcurrentAndUnloadsClasses) { - _should_unload_classes = true; - } else if (CMSClassUnloadingEnabled) { // Condition 2.a above - // Disjuncts 2.b.(i,ii,iii) above + if (CMSClassUnloadingEnabled) { _should_unload_classes = (concurrent_cycles_since_last_unload() >= CMSClassUnloadingMaxInterval) || _cmsGen->is_too_full();
--- a/hotspot/src/share/vm/oops/method.cpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/oops/method.cpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2199,7 +2199,6 @@ ResourceMark rm; assert(is_method(), "must be method"); st->print_cr("%s", internal_name()); - // get the effect of PrintOopAddress, always, for methods: st->print_cr(" - this oop: " INTPTR_FORMAT, p2i(this)); st->print (" - method holder: "); method_holder()->print_value_on(st); st->cr(); st->print (" - constants: " INTPTR_FORMAT " ", p2i(constants()));
--- a/hotspot/src/share/vm/prims/jvm.cpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/prims/jvm.cpp Mon Mar 13 19:59:41 2017 +0000 @@ -2967,14 +2967,7 @@ JVMWrapper("JVM_Yield"); if (os::dont_yield()) return; HOTSPOT_THREAD_YIELD(); - - // When ConvertYieldToSleep is off (default), this matches the classic VM use of yield. - // Critical for similar threading behaviour - if (ConvertYieldToSleep) { - os::sleep(thread, MinSleepInterval, false); - } else { - os::naked_yield(); - } + os::naked_yield(); JVM_END @@ -2998,18 +2991,7 @@ EventThreadSleep event; if (millis == 0) { - // When ConvertSleepToYield is on, this matches the classic VM implementation of - // JVM_Sleep. Critical for similar threading behaviour (Win32) - // It appears that in certain GUI contexts, it may be beneficial to do a short sleep - // for SOLARIS - if (ConvertSleepToYield) { - os::naked_yield(); - } else { - ThreadState old_state = thread->osthread()->get_state(); - thread->osthread()->set_state(SLEEPING); - os::sleep(thread, MinSleepInterval, false); - thread->osthread()->set_state(old_state); - } + os::naked_yield(); } else { ThreadState old_state = thread->osthread()->get_state(); thread->osthread()->set_state(SLEEPING);
--- a/hotspot/src/share/vm/runtime/arguments.cpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/runtime/arguments.cpp Mon Mar 13 19:59:41 2017 +0000 @@ -375,53 +375,17 @@ // -------------- Deprecated Flags -------------- // --- Non-alias flags - sorted by obsolete_in then expired_in: { "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, - { "AutoGCSelectPauseMillis", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "UseAutoGCSelectPolicy", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "UseParNewGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "ExplicitGCInvokesConcurrentAndUnloadsClasses", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "ConvertSleepToYield", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) }, - { "ConvertYieldToSleep", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) }, // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in: { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, - { "CMSMarkStackSizeMax", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "CMSMarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "G1MarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "ParallelMarkingThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, - { "ParallelCMSThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, // -------------- Obsolete Flags - sorted by expired_in -------------- - { "UseOldInlining", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "SafepointPollOffset", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseBoundThreads", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "DefaultThreadPriority", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NoYieldsInMicrolock", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "BackEdgeThreshold", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseNewReflection", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ReflectionWrapResolutionErrors",JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "VerifyReflectionBytecodes", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "AutoShutdownNMT", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NmethodSweepFraction", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NmethodSweepCheckInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "CodeCacheMinimumFreeSpace", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, -#ifndef ZERO - { "UseFastAccessorMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseFastEmptyMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, -#endif // ZERO - { "UseCompilerSafepoints", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "AdaptiveSizePausePolicy", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ParallelGCRetainPLAB", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ThreadSafetyMargin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "LazyBootClassLoader", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "StarvationMonitorInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "PreInflateSpin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "JNIDetachReleasesMonitors", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseAltSigs", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "SegmentedHeapDumpThreshold", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "PrintOopAddress", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "PermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::jdk(10) }, - { "MaxPermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::jdk(10) }, + { "ConvertSleepToYield", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) }, + { "ConvertYieldToSleep", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) }, + { "MinSleepInterval", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) }, + { "PermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() }, + { "MaxPermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() }, #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS { "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() }, @@ -444,11 +408,6 @@ static AliasedFlag const aliased_jvm_flags[] = { { "DefaultMaxRAMFraction", "MaxRAMFraction" }, - { "CMSMarkStackSizeMax", "MarkStackSizeMax" }, - { "CMSMarkStackSize", "MarkStackSize" }, - { "G1MarkStackSize", "MarkStackSize" }, - { "ParallelMarkingThreads", "ConcGCThreads" }, - { "ParallelCMSThreads", "ConcGCThreads" }, { "CreateMinidumpOnCrash", "CreateCoredumpOnCrash" }, { NULL, NULL} }; @@ -1547,7 +1506,6 @@ assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC && !UseG1GC, "control point invariant"); assert(UseConcMarkSweepGC, "CMS is expected to be on here"); - assert(UseParNewGC, "ParNew should always be used with CMS"); if (FLAG_IS_DEFAULT(ParallelGCThreads)) { FLAG_SET_DEFAULT(ParallelGCThreads, Abstract_VM_Version::parallel_worker_threads()); @@ -1588,7 +1546,6 @@ void Arguments::set_cms_and_parnew_gc_flags() { assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC, "Error"); assert(UseConcMarkSweepGC, "CMS is expected to be on here"); - assert(UseParNewGC, "ParNew should always be used with CMS"); // Turn off AdaptiveSizePolicy by default for cms until it is complete. disable_adaptive_size_policy("UseConcMarkSweepGC"); @@ -1728,16 +1685,6 @@ NOT_LP64(ShouldNotReachHere(); return 0); } -bool Arguments::should_auto_select_low_pause_collector() { - if (UseAutoGCSelectPolicy && - !FLAG_IS_DEFAULT(MaxGCPauseMillis) && - (MaxGCPauseMillis <= AutoGCSelectPauseMillis)) { - log_trace(gc)("Automatic selection of the low pause collector based on pause goal of %d (ms)", (int) MaxGCPauseMillis); - return true; - } - return false; -} - void Arguments::set_use_compressed_oops() { #ifndef ZERO #ifdef _LP64 @@ -1841,16 +1788,7 @@ void Arguments::select_gc_ergonomically() { #if INCLUDE_ALL_GCS if (os::is_server_class_machine()) { - if (!UseAutoGCSelectPolicy) { - FLAG_SET_ERGO_IF_DEFAULT(bool, UseG1GC, true); - } else { - if (should_auto_select_low_pause_collector()) { - FLAG_SET_ERGO_IF_DEFAULT(bool, UseConcMarkSweepGC, true); - FLAG_SET_ERGO_IF_DEFAULT(bool, UseParNewGC, true); - } else { - FLAG_SET_ERGO_IF_DEFAULT(bool, UseParallelGC, true); - } - } + FLAG_SET_ERGO_IF_DEFAULT(bool, UseG1GC, true); } else { FLAG_SET_ERGO_IF_DEFAULT(bool, UseSerialGC, true); } @@ -1859,7 +1797,6 @@ UNSUPPORTED_OPTION(UseParallelGC); UNSUPPORTED_OPTION(UseParallelOldGC); UNSUPPORTED_OPTION(UseConcMarkSweepGC); - UNSUPPORTED_OPTION(UseParNewGC); FLAG_SET_ERGO_IF_DEFAULT(bool, UseSerialGC, true); #endif // INCLUDE_ALL_GCS } @@ -2078,7 +2015,6 @@ if (!ClassUnloading) { FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); - FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false); } #endif // INCLUDE_ALL_GCS } @@ -2433,18 +2369,6 @@ return false; } - if (UseConcMarkSweepGC && !UseParNewGC) { - jio_fprintf(defaultStream::error_stream(), - "It is not possible to combine the DefNew young collector with the CMS collector.\n"); - return false; - } - - if (UseParNewGC && !UseConcMarkSweepGC) { - jio_fprintf(defaultStream::error_stream(), - "It is not possible to combine the ParNew young collector with any collector other than CMS.\n"); - return false; - } - return true; } @@ -3731,11 +3655,6 @@ } } - if (UseConcMarkSweepGC && FLAG_IS_DEFAULT(UseParNewGC) && !UseParNewGC) { - // CMS can only be used with ParNew - FLAG_SET_ERGO(bool, UseParNewGC, true); - } - if (!check_vm_args_consistency()) { return JNI_ERR; }
--- a/hotspot/src/share/vm/runtime/arguments.hpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/runtime/arguments.hpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -480,9 +480,6 @@ static julong limit_by_allocatable_memory(julong size); // Setup heap size static void set_heap_size(); - // Based on automatic selection criteria, should the - // low pause collector be used. - static bool should_auto_select_low_pause_collector(); // Bytecode rewriting static void set_bytecode_flags();
--- a/hotspot/src/share/vm/runtime/globals.hpp Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/src/share/vm/runtime/globals.hpp Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1158,13 +1158,6 @@ product_pd(bool, DontYieldALot, \ "Throw away obvious excess yield calls") \ \ - product(bool, ConvertSleepToYield, true, \ - "Convert sleep(0) to thread yield ") \ - \ - product(bool, ConvertYieldToSleep, false, \ - "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \ - "behavior") \ - \ develop(bool, UseDetachedThreads, true, \ "Use detached threads that are recycled upon termination " \ "(for Solaris only)") \ @@ -1478,11 +1471,6 @@ "A System.gc() request invokes a concurrent collection; " \ "(effective only when using concurrent collectors)") \ \ - product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false, \ - "A System.gc() request invokes a concurrent collection and " \ - "also unloads classes during such a concurrent gc cycle " \ - "(effective only when UseConcMarkSweepGC)") \ - \ product(bool, GCLockerInvokesConcurrent, false, \ "The exit of a JNI critical section necessitating a scavenge, " \ "also kicks off a background concurrent collection") \ @@ -1500,9 +1488,6 @@ product(bool, UseCMSBestFit, true, \ "Use CMS best fit allocation strategy") \ \ - product(bool, UseParNewGC, false, \ - "Use parallel threads in the new generation") \ - \ product(uintx, ParallelGCBufferWastePct, 10, \ "Wasted fraction of parallel allocation buffer") \ range(0, 100) \ @@ -2058,13 +2043,6 @@ "Maximum fraction (1/n) of virtual memory used for ergonomically "\ "determining maximum heap size") \ \ - product(bool, UseAutoGCSelectPolicy, false, \ - "Use automatic collection selection policy") \ - \ - product(uintx, AutoGCSelectPauseMillis, 5000, \ - "Automatic GC selection pause threshold in milliseconds") \ - range(0, max_uintx) \ - \ product(bool, UseAdaptiveSizePolicy, true, \ "Use adaptive generation sizing policies") \ \ @@ -3002,10 +2980,6 @@ develop(intx, DontYieldALotInterval, 10, \ "Interval between which yields will be dropped (milliseconds)") \ \ - develop(intx, MinSleepInterval, 1, \ - "Minimum sleep() interval (milliseconds) when " \ - "ConvertSleepToYield is off (used for Solaris)") \ - \ develop(intx, ProfilerPCTickThreshold, 15, \ "Number of ticks in a PC buckets to be a hotspot") \ \
--- a/hotspot/test/TEST.groups Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/TEST.groups Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -209,11 +209,8 @@ gc/g1/TestShrinkToOneRegion.java \ gc/metaspace/G1AddMetaspaceDependency.java \ gc/startup_warnings/TestCMS.java \ - gc/startup_warnings/TestDefNewCMS.java \ gc/startup_warnings/TestParallelGC.java \ gc/startup_warnings/TestParallelScavengeSerialOld.java \ - gc/startup_warnings/TestParNewCMS.java \ - gc/startup_warnings/TestParNewSerialOld.java \ runtime/SharedArchiveFile/SharedArchiveFile.java # Minimal VM on Compact 2 adds in some compact2 tests
--- a/hotspot/test/compiler/jsr292/patches/java.base/java/lang/invoke/MethodHandleHelper.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/compiler/jsr292/patches/java.base/java/lang/invoke/MethodHandleHelper.java Mon Mar 13 19:59:41 2017 +0000 @@ -99,7 +99,7 @@ public static MethodHandle make(MethodHandle target) { LambdaForm lform = DelegatingMethodHandle.makeReinvokerForm( - target, -1, DelegatingMethodHandle.class, "reinvoker.dontInline", + target, -1, DelegatingMethodHandle.class, /*forceInline=*/false, DelegatingMethodHandle.NF_getTarget, null); return new NonInlinedReinvoker(target, lform); }
--- a/hotspot/test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test TestExplicitGCInvokesConcurrentAndUnloadsClasses - * @summary Test that the flag ExplicitGCInvokesConcurrentAndUnloadsClasses is deprecated - * @bug 8170388 - * @key gc - * @library /test/lib - * @modules java.base/jdk.internal.misc - * java.management - * @run driver TestExplicitGCInvokesConcurrentAndUnloadsClasses - */ - -import jdk.test.lib.process.OutputAnalyzer; -import jdk.test.lib.process.ProcessTools; - -public class TestExplicitGCInvokesConcurrentAndUnloadsClasses { - public static void main(String[] args) throws Exception { - ProcessBuilder pb = - ProcessTools.createJavaProcessBuilder("-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses", - "-Xlog:gc", - "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("ExplicitGCInvokesConcurrentAndUnloadsClasses was deprecated"); - output.shouldHaveExitValue(0); - } -}
--- a/hotspot/test/gc/arguments/TestSelectDefaultGC.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/gc/arguments/TestSelectDefaultGC.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -66,7 +66,6 @@ assertVMOption(output, "UseSerialGC", !isServer); // CMS is never default assertVMOption(output, "UseConcMarkSweepGC", false); - assertVMOption(output, "UseParNewGC", false); } public static void main(String[] args) throws Exception {
--- a/hotspot/test/gc/startup_warnings/TestDefNewCMS.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* -* @test TestDefNewCMS -* @key gc -* @bug 8065972 -* @summary Test that the unsupported DefNew+CMS combination does not start -* @library /test/lib -* @modules java.base/jdk.internal.misc -* java.management -*/ - -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.OutputAnalyzer; - -public class TestDefNewCMS { - - public static void main(String args[]) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:-UseParNewGC", "-XX:+UseConcMarkSweepGC", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("It is not possible to combine the DefNew young collector with the CMS collector."); - output.shouldContain("Error"); - output.shouldHaveExitValue(1); - } - -}
--- a/hotspot/test/gc/startup_warnings/TestParNewCMS.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* -* @test TestParNewCMS -* @key gc -* @bug 8065972 -* @summary Test that specifying -XX:+UseParNewGC on the command line logs a warning message -* @library /test/lib -* @modules java.base/jdk.internal.misc -* java.management -*/ - -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.OutputAnalyzer; - - -public class TestParNewCMS { - - public static void main(String args[]) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParNewGC", "-XX:+UseConcMarkSweepGC", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("warning: Option UseParNewGC was deprecated in version"); - output.shouldNotContain("error"); - output.shouldHaveExitValue(0); - } - -}
--- a/hotspot/test/gc/startup_warnings/TestParNewSerialOld.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* -* @test TestParNewSerialOld -* @key gc -* @bug 8065972 -* @summary Test that the unsupported ParNew+SerialOld combination does not start -* @library /test/lib -* @modules java.base/jdk.internal.misc -* java.management -*/ - -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.OutputAnalyzer; - - -public class TestParNewSerialOld { - - public static void main(String args[]) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParNewGC", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("It is not possible to combine the ParNew young collector with any collector other than CMS."); - output.shouldContain("Error"); - output.shouldHaveExitValue(1); - } - -}
--- a/hotspot/test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test TestUseAutoGCSelectPolicy - * @key gc - * @bug 8166461 8167494 - * @summary Test that UseAutoGCSelectPolicy and AutoGCSelectPauseMillis do print a warning message - * @library /test/lib - * @modules java.base/jdk.internal.misc - * java.management - */ - -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.OutputAnalyzer; - -public class TestUseAutoGCSelectPolicy { - - public static void main(String args[]) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseAutoGCSelectPolicy", "-XX:AutoGCSelectPauseMillis=3000", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("UseAutoGCSelectPolicy was deprecated in version 9.0"); - output.shouldContain("AutoGCSelectPauseMillis was deprecated in version 9.0"); - output.shouldNotContain("error"); - output.shouldHaveExitValue(0); - } -}
--- a/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,18 +37,18 @@ // Case 1: Newly obsolete flags with extra junk appended should not be treated as newly obsolete (8060449) ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-XX:UseOldInliningPlusJunk", "-version"); + "-XX:ConvertSleepToYieldPlusJunk", "-version"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Unrecognized VM option 'UseOldInliningPlusJunk'"); // Must identify bad option. + output.shouldContain("Unrecognized VM option 'ConvertSleepToYieldPlusJunk'"); // Must identify bad option. output.shouldHaveExitValue(1); - // Case 2: Newly obsolete integer-valued flags should be recognized as newly obsolete (8073989) + // Case 2: Newly obsolete flags should be recognized as newly obsolete (8073989) ProcessBuilder pb2 = ProcessTools.createJavaProcessBuilder( - "-XX:NmethodSweepFraction=10", "-version"); + "-XX:+ConvertSleepToYield", "-version"); OutputAnalyzer output2 = new OutputAnalyzer(pb2.start()); output2.shouldContain("Ignoring option").shouldContain("support was removed"); - output2.shouldContain("NmethodSweepFraction"); + output2.shouldContain("ConvertSleepToYield"); } }
--- a/hotspot/test/runtime/CommandLine/VMAliasOptions.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/VMAliasOptions.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,11 +40,6 @@ */ public static final String[][] ALIAS_OPTIONS = { {"DefaultMaxRAMFraction", "MaxRAMFraction", "1032"}, - {"CMSMarkStackSizeMax", "MarkStackSizeMax", "1032"}, - {"CMSMarkStackSize", "MarkStackSize", "1032"}, - {"G1MarkStackSize", "MarkStackSize", "1032"}, - {"ParallelMarkingThreads", "ConcGCThreads", "2"}, - {"ParallelCMSThreads", "ConcGCThreads", "2"}, {"CreateMinidumpOnCrash", "CreateCoredumpOnCrash", "false" }, };
--- a/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java Thu Mar 09 21:35:17 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,17 +41,9 @@ public static final String[][] DEPRECATED_OPTIONS = { // deprecated non-alias flags: {"MaxGCMinorPauseMillis", "1032"}, - {"UseParNewGC", "false"}, - {"ConvertSleepToYield", "false" }, - {"ConvertYieldToSleep", "false" }, // deprecated alias flags (see also aliased_jvm_flags): {"DefaultMaxRAMFraction", "4"}, - {"CMSMarkStackSizeMax", "1032"}, - {"CMSMarkStackSize", "1032"}, - {"G1MarkStackSize", "1032"}, - {"ParallelMarkingThreads", "2"}, - {"ParallelCMSThreads", "2"}, {"CreateMinidumpOnCrash", "false"} };
--- a/hotspot/test/runtime/NMT/AutoshutdownNMT.java Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @key nmt - * @summary Test for deprecated message if -XX:-AutoShutdownNMT is specified - * @library /test/lib - * @modules java.base/jdk.internal.misc - * java.management - */ - -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.OutputAnalyzer; - -public class AutoshutdownNMT { - - public static void main(String args[]) throws Exception { - - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-XX:NativeMemoryTracking=detail", - "-XX:-AutoShutdownNMT", - "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Ignoring option AutoShutdownNMT"); - } -}
--- a/jaxp/.hgtags Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/.hgtags Mon Mar 13 19:59:41 2017 +0000 @@ -396,5 +396,9 @@ 13c6906bfc861d99dc35a19c80b7a99f0b0ac58d jdk-9+151 7e3da313b1746578da648155e37dd8526e83153d jdk-9+152 1384504d2cd0e55c5e0becaeaf40ab05cae959d6 jdk-9+153 +0908877116d17c6e59092ec7d53ef687a96d3278 jdk-10+0 7fa738305436d14c0926df0f04892890cacc766b jdk-9+154 48fa77af153288b08ba794e1616a7b0685f3b67e jdk-9+155 +e930c373aaa4e0e712c9a25ba4b03d473b48c294 jdk-9+156 +412df235a8a229469a2cb9e7bb274d43277077d2 jdk-9+157 +60e670a65e07cc309951bd838b484401e6dd7847 jdk-9+158
--- a/jaxp/.jcheck/conf Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/.jcheck/conf Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -project=jdk9 +project=jdk10
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Mon Mar 13 19:59:41 2017 +0000 @@ -438,7 +438,7 @@ Layer bootLayer = Layer.boot(); Configuration cf = bootLayer.configuration() - .resolveRequires(finder, ModuleFinder.of(), Set.of(mn)); + .resolve(finder, ModuleFinder.of(), Set.of(mn)); PrivilegedAction<Layer> pa = () -> bootLayer.defineModules(cf, name -> loader); Layer layer = AccessController.doPrivileged(pa); @@ -483,10 +483,11 @@ String pn = _tfactory.getPackageName(); assert pn != null && pn.length() > 0; - ModuleDescriptor descriptor = ModuleDescriptor.module(mn) - .requires("java.xml") - .exports(pn) - .build(); + ModuleDescriptor descriptor = + ModuleDescriptor.newModule(mn, Set.of(ModuleDescriptor.Modifier.SYNTHETIC)) + .requires("java.xml") + .exports(pn) + .build(); Module m = createModule(descriptor, loader);
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. */ /* @@ -743,7 +743,7 @@ // scan XMLDecl try { if (fEntityScanner.skipString(XMLDECL)) { - if (fEntityScanner.peekChar() == ' ') { + if (XMLChar.isSpace(fEntityScanner.peekChar())) { fMarkupDepth++; scanXMLDeclOrTextDecl(false); } else {
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java Mon Mar 13 19:59:41 2017 +0000 @@ -415,9 +415,15 @@ /** Current DTD scanner. */ protected XMLDTDScanner fCurrentDTDScanner; - /** Flag indiciating whether XML11 components have been initialized. */ + /** Flag indicating whether XML11 components have been initialized. */ private boolean f11Initialized = false; + /** Flag indicating whether the symbol table instance was specified during construction **/ + private boolean fSymbolTableProvided = false; + + /** Flag indicating if the symbol table was initialized and never used before that **/ + private boolean fSymbolTableJustInitialized = true; + // // Constructors // @@ -566,15 +572,18 @@ }; addRecognizedProperties(recognizedProperties); - if (symbolTable == null) { - symbolTable = new SymbolTable(); + // Remember if symbolTable was provided from outside + fSymbolTableProvided = symbolTable != null; + if (!fSymbolTableProvided) { + fSymbolTable = new SymbolTable(); + } else { + fSymbolTable = symbolTable; } - fSymbolTable = symbolTable; fProperties.put(SYMBOL_TABLE, fSymbolTable); fGrammarPool = grammarPool; if (fGrammarPool != null) { - fProperties.put(XMLGRAMMAR_POOL, fGrammarPool); + fProperties.put(XMLGRAMMAR_POOL, fGrammarPool); } fEntityManager = new XMLEntityManager(); @@ -840,6 +849,7 @@ fValidationManager.reset(); fVersionDetector.reset(this); fConfigUpdated = true; + resetSymbolTable(); resetCommon(); short version = fVersionDetector.determineDocVersion(fInputSource); @@ -858,15 +868,7 @@ // resets and sets the pipeline. fVersionDetector.startDocumentParsing((XMLEntityHandler) fCurrentScanner, version); fInputSource = null; - } catch (XNIException ex) { - if (PRINT_EXCEPTION_STACK_TRACE) - ex.printStackTrace(); - throw ex; - } catch (IOException ex) { - if (PRINT_EXCEPTION_STACK_TRACE) - ex.printStackTrace(); - throw ex; - } catch (RuntimeException ex) { + } catch (IOException | RuntimeException ex) { if (PRINT_EXCEPTION_STACK_TRACE) ex.printStackTrace(); throw ex; @@ -879,15 +881,7 @@ try { return fCurrentScanner.scanDocument(complete); - } catch (XNIException ex) { - if (PRINT_EXCEPTION_STACK_TRACE) - ex.printStackTrace(); - throw ex; - } catch (IOException ex) { - if (PRINT_EXCEPTION_STACK_TRACE) - ex.printStackTrace(); - throw ex; - } catch (RuntimeException ex) { + } catch (IOException | RuntimeException ex) { if (PRINT_EXCEPTION_STACK_TRACE) ex.printStackTrace(); throw ex; @@ -1589,6 +1583,23 @@ } } + + /** + * Reset the symbol table if it wasn't provided during construction + * and its not the first time when parse is called after initialization + */ + private void resetSymbolTable() { + if (!fSymbolTableProvided) { + if (fSymbolTableJustInitialized) { + // Skip symbol table reallocation for the first parsing process + fSymbolTableJustInitialized = false; + } else { + fSymbolTable = new SymbolTable(); + fProperties.put(SYMBOL_TABLE, fSymbolTable); + } + } + } + /** * Returns the state of a feature. This method calls getFeature() * on ParserConfigurationSettings, bypassing getFeature() on this
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java Mon Mar 13 19:59:41 2017 +0000 @@ -717,7 +717,9 @@ */ public final void endDocument() throws org.xml.sax.SAXException { - flushCharactersBuffer(); + if (m_doIndent) { + flushCharactersBuffer(); + } flushPending(); if (m_doIndent && !m_isprevtext) { @@ -776,9 +778,11 @@ Attributes atts) throws SAXException { - // will add extra one if having namespace but no matter - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + // will add extra one if having namespace but no matter + m_childNodeNum++; + flushCharactersBuffer(); + } ElemContext elemContext = m_elemContext; // clean up any pending things first @@ -839,8 +843,10 @@ writer.write('<'); writer.write(name); - m_childNodeNumStack.push(m_childNodeNum); - m_childNodeNum = 0; + if (m_doIndent) { + m_childNodeNumStack.add(m_childNodeNum); + m_childNodeNum = 0; + } if (m_tracer != null) firePseudoAttributes(); @@ -915,7 +921,9 @@ final String name) throws org.xml.sax.SAXException { - flushCharactersBuffer(); + if (m_doIndent) { + flushCharactersBuffer(); + } // deal with any pending issues if (m_cdataTagOpen) closeCDATA(); @@ -997,12 +1005,11 @@ } } - m_childNodeNum = m_childNodeNumStack.pop(); - // clean up because the element has ended - if ((elemFlags & ElemDesc.WHITESPACESENSITIVE) != 0) - m_ispreserve = true; - m_isprevtext = false; - + if (m_doIndent) { + m_childNodeNum = m_childNodeNumStack.remove(m_childNodeNumStack.size() - 1); + // clean up because the element has ended + m_isprevtext = false; + } // fire off the end element event if (m_tracer != null) super.fireEndElem(name); @@ -1018,11 +1025,6 @@ } // some more clean because the element has ended. - if (!elemContext.m_startTagOpen) - { - if (m_doIndent && !m_preserves.isEmpty()) - m_preserves.pop(); - } m_elemContext = elemContext.m_prev; // m_isRawStack.pop(); } @@ -1525,7 +1527,6 @@ closeStartTag(); m_elemContext.m_startTagOpen = false; } - m_ispreserve = true; // With m_ispreserve just set true it looks like shouldIndent() // will always return false, so drop any possible indentation. @@ -1602,8 +1603,6 @@ m_elemContext.m_startTagOpen = false; } - m_ispreserve = true; - if (shouldIndent()) indent(); @@ -1640,8 +1639,10 @@ public void processingInstruction(String target, String data) throws org.xml.sax.SAXException { - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + m_childNodeNum++; + flushCharactersBuffer(); + } // Process any pending starDocument and startElement first. flushPending(); @@ -1790,11 +1791,6 @@ */ if (m_StringOfCDATASections != null) m_elemContext.m_isCdataSection = isCdataSection(); - if (m_doIndent) - { - m_isprevtext = false; - m_preserves.push(m_ispreserve); - } } catch(IOException e)
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java Mon Mar 13 19:59:41 2017 +0000 @@ -20,34 +20,36 @@ package com.sun.org.apache.xml.internal.serializer; -import com.sun.org.apache.xalan.internal.utils.SecuritySupport; -import com.sun.org.apache.xml.internal.serializer.utils.MsgKey; -import com.sun.org.apache.xml.internal.serializer.utils.Utils; -import com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; -import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; -import java.util.Deque; import java.util.EmptyStackException; import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; import java.util.Properties; -import java.util.Queue; import java.util.Set; import java.util.StringTokenizer; + import javax.xml.transform.ErrorListener; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; + import org.w3c.dom.Node; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; +import com.sun.org.apache.xalan.internal.utils.SecuritySupport; +import com.sun.org.apache.xml.internal.serializer.utils.MsgKey; +import com.sun.org.apache.xml.internal.serializer.utils.Utils; +import com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException; + /** * This abstract class is a base class for other stream * serializers (xml, html, text ...) that write output to a stream. @@ -103,7 +105,7 @@ * If m_childNodeNum > 1, the text node will be indented. * */ - protected Deque<Integer> m_childNodeNumStack = new ArrayDeque<>(); + protected List<Integer> m_childNodeNumStack = new ArrayList<>(); protected int m_childNodeNum = 0; @@ -115,26 +117,6 @@ protected boolean m_ispreserveSpace = false; - /** - * Stack to keep track of whether or not we need to - * preserve whitespace. - * - * Used to push/pop values used for the field m_ispreserve, but - * m_ispreserve is only relevant if m_doIndent is true. - * If m_doIndent is false this field has no impact. - * - */ - protected BoolStack m_preserves = new BoolStack(); - - /** - * State flag to tell if preservation of whitespace - * is important. - * - * Used only in shouldIndent() but only if m_doIndent is true. - * If m_doIndent is false this flag has no impact. - * - */ - protected boolean m_ispreserve = false; /** * State flag that tells if the previous node processed @@ -1267,7 +1249,6 @@ closeStartTag(); m_elemContext.m_startTagOpen = false; } - m_ispreserve = true; if (shouldIndent()) indent(); @@ -1357,8 +1338,6 @@ m_elemContext.m_startTagOpen = false; } - m_ispreserve = true; - m_writer.write(ch, start, length); } catch (IOException e) @@ -1405,8 +1384,8 @@ if (length == 0 || (isInEntityRef())) return; - final boolean shouldFormat = shouldFormatOutput(); - if (m_elemContext.m_startTagOpen && !shouldFormat) + final boolean shouldNotFormat = !shouldFormatOutput(); + if (m_elemContext.m_startTagOpen) { closeStartTag(); m_elemContext.m_startTagOpen = false; @@ -1432,8 +1411,12 @@ if (m_disableOutputEscapingStates.peekOrFalse() || (!m_escaping)) { - charactersRaw(chars, start, length); - m_isprevtext = true; + if (shouldNotFormat) { + charactersRaw(chars, start, length); + m_isprevtext = true; + } else { + m_charactersBuffer.addRawText(chars, start, length); + } // time to fire off characters generation event if (m_tracer != null) super.fireCharEvent(chars, start, length); @@ -1441,16 +1424,16 @@ return; } - if (m_elemContext.m_startTagOpen && !shouldFormat) + if (m_elemContext.m_startTagOpen) { closeStartTag(); m_elemContext.m_startTagOpen = false; } - if (shouldFormat) { + if (shouldNotFormat) { + outputCharacters(chars, start, length); + } else { m_charactersBuffer.addText(chars, start, length); - } else { - outputCharacters(chars, start, length); } // time to fire off characters generation event @@ -1465,7 +1448,14 @@ * @return True if the content should be formatted. */ protected boolean shouldFormatOutput() { - return !m_ispreserveSpace && m_doIndent; + return m_doIndent && !m_ispreserveSpace; + } + + /** + * @return True if the content in current element should be formatted. + */ + public boolean getIndent() { + return shouldFormatOutput(); } /** @@ -1506,12 +1496,6 @@ i = lastDirty; } } - /* If there is some non-whitespace, mark that we may need - * to preserve this. This is only important if we have indentation on. - */ - if (i < end) - m_ispreserve = true; - // int lengthClean; // number of clean characters in a row // final boolean[] isAsciiClean = m_charInfo.getASCIIClean(); @@ -1577,12 +1561,7 @@ */ final protected void flushCharactersBuffer() throws SAXException { try { - if (shouldFormatOutput() && m_charactersBuffer.hasContent()) { - if (m_elemContext.m_startTagOpen) { - closeStartTag(); - m_elemContext.m_startTagOpen = false; - } - + if (shouldFormatOutput() && m_charactersBuffer.isAnyCharactersBuffered()) { if (m_elemContext.m_isCdataSection) { /* * due to cdata-section-elements atribute, we need this as @@ -1594,11 +1573,16 @@ } m_childNodeNum++; + boolean skipBeginningNewlines = false; if (shouldIndentForText()) { indent(); m_startNewLine = true; + // newline has always been added here because if this is the + // text before the first element, shouldIndent() won't + // return true. + skipBeginningNewlines = true; } - m_charactersBuffer.flush(); + m_charactersBuffer.flush(skipBeginningNewlines); } } catch (IOException e) { throw new SAXException(e); @@ -1858,8 +1842,10 @@ if (isInEntityRef()) return; - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + m_childNodeNum++; + flushCharactersBuffer(); + } if (m_needToCallStartDocument) { @@ -1890,8 +1876,6 @@ if (namespaceURI != null) ensurePrefixIsDeclared(namespaceURI, name); - m_ispreserve = false; - if (shouldIndent() && m_startNewLine) { indent(); @@ -1912,11 +1896,13 @@ if (atts != null) addAttributes(atts); - m_ispreserveSpace = m_preserveSpaces.peekOrFalse(); - m_preserveSpaces.push(m_ispreserveSpace); - - m_childNodeNumStack.push(m_childNodeNum); - m_childNodeNum = 0; + if (m_doIndent) { + m_ispreserveSpace = m_preserveSpaces.peekOrFalse(); + m_preserveSpaces.push(m_ispreserveSpace); + + m_childNodeNumStack.add(m_childNodeNum); + m_childNodeNum = 0; + } m_elemContext = m_elemContext.push(namespaceURI,localName,name); m_isprevtext = false; @@ -2128,7 +2114,9 @@ if (isInEntityRef()) return; - flushCharactersBuffer(); + if (m_doIndent) { + flushCharactersBuffer(); + } // namespaces declared at the current depth are no longer valid // so get rid of them m_prefixMap.popNamespaces(m_elemContext.m_currentElemDepth, null); @@ -2175,16 +2163,13 @@ throw new SAXException(e); } - if (!m_elemContext.m_startTagOpen && m_doIndent) - { - m_ispreserve = m_preserves.isEmpty() ? false : m_preserves.pop(); + if (m_doIndent) { + m_ispreserveSpace = m_preserveSpaces.popAndTop(); + m_childNodeNum = m_childNodeNumStack.remove(m_childNodeNumStack.size() - 1); + + m_isprevtext = false; } - m_ispreserveSpace = m_preserveSpaces.popAndTop(); - m_childNodeNum = m_childNodeNumStack.pop(); - - m_isprevtext = false; - // fire off the end element event if (m_tracer != null) super.fireEndElem(name); @@ -2320,8 +2305,10 @@ int start_old = start; if (isInEntityRef()) return; - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + m_childNodeNum++; + flushCharactersBuffer(); + } if (m_elemContext.m_startTagOpen) { closeStartTag(); @@ -2501,8 +2488,10 @@ */ public void startCDATA() throws org.xml.sax.SAXException { - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + m_childNodeNum++; + flushCharactersBuffer(); + } m_cdataStartCalled = true; } @@ -2588,12 +2577,6 @@ */ if (m_StringOfCDATASections != null) m_elemContext.m_isCdataSection = isCdataSection(); - - if (m_doIndent) - { - m_isprevtext = false; - m_preserves.push(m_ispreserve); - } } } @@ -2943,7 +2926,9 @@ String value, boolean xslAttribute) { - if (m_charactersBuffer.isAnyCharactersBuffered()) { + if (!m_charactersBuffer.isAnyCharactersBuffered()) { + return doAddAttributeAlways(uri, localName, rawName, type, value, xslAttribute); + } else { /* * If stylesheet includes xsl:copy-of an attribute node, XSLTC will * fire an addAttribute event. When a text node is handling in @@ -2954,8 +2939,6 @@ * */ return m_attributes.getIndex(rawName) < 0; - } else { - return doAddAttributeAlways(uri, localName, rawName, type, value, xslAttribute); } } @@ -3086,7 +3069,7 @@ } } - if (rawName.equals("xml:space")) { + if (m_doIndent && rawName.equals("xml:space")) { if (value.equals("preserve")) { m_ispreserveSpace = true; if (m_preserveSpaces.size() > 0) @@ -3227,8 +3210,6 @@ // Leave m_format alone for now - Brian M. // this.m_format = null; this.m_inDoctype = false; - this.m_ispreserve = false; - this.m_preserves.clear(); this.m_ispreserveSpace = false; this.m_preserveSpaces.clear(); this.m_childNodeNum = 0; @@ -3411,6 +3392,7 @@ } } + /** * This inner class is used to buffer the text nodes and the entity * reference nodes if indentation is on. There is only one CharacterBuffer @@ -3425,20 +3407,21 @@ */ private abstract class GenericCharacters { /** - * @return True if having any character other than whitespace or - * line feed. + * @return True if all characters in this Text are newlines. */ - abstract boolean hasContent(); - - abstract void flush() throws SAXException; + abstract boolean flush(boolean skipBeginningNewlines) throws SAXException; /** - * Converts this GenericCharacters to a new character array. + * Converts this GenericCharacters to a new character array. This + * method is used to handle cdata-section-elements attribute in + * xsl:output. Therefore it doesn't need to consider + * skipBeginningNewlines because the text will be involved with CDATA + * tag. */ abstract char[] toChars(); } - private Queue<GenericCharacters> bufferedCharacters = new ArrayDeque<>(); + private List<GenericCharacters> bufferedCharacters = new ArrayList<>(); /** * Append a text node to the buffer. @@ -3451,27 +3434,21 @@ text = Arrays.copyOfRange(chars, start, start + length); } - boolean hasContent() { - for (int i = 0; i < text.length; i++) { - if (!isWhiteSpace(text[i])) { + boolean flush(boolean skipBeginningNewlines) throws SAXException { + int start = 0; + while (skipBeginningNewlines && text[start] == '\n') { + start++; + if (start == text.length) { return true; } } + outputCharacters(text, start, text.length - start); return false; } - void flush() throws SAXException { - outputCharacters(text, 0, text.length); - } - char[] toChars() { return text; } - - boolean isWhiteSpace(char ch) { - return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r'; - } - }); } @@ -3480,12 +3457,22 @@ */ public void addEntityReference(String entityName) { bufferedCharacters.add(new GenericCharacters() { - boolean hasContent() { - return true; - } - - void flush() throws SAXException { - outputEntityReference(entityName); + boolean flush(boolean skipBeginningNewlines) throws SAXException { + if (m_elemContext.m_startTagOpen) + { + closeStartTag(); + m_elemContext.m_startTagOpen = false; + } + if (m_cdataTagOpen) + closeCDATA(); + char[] cs = toChars(); + try { + m_writer.write(cs, 0, cs.length); + m_isprevtext = true; + } catch (IOException e) { + throw new SAXException(e); + } + return false; } char[] toChars() { @@ -3495,35 +3482,69 @@ } /** - * @return True if any GenericCharacters is already buffered. + * Append a raw text to the buffer. Used to handle raw characters event. */ - public boolean isAnyCharactersBuffered() { - return !bufferedCharacters.isEmpty(); + public void addRawText(final char chars[], final int start, final int length) { + bufferedCharacters.add(new GenericCharacters() { + char[] text; + + { + text = Arrays.copyOfRange(chars, start, start + length); + } + + boolean flush(boolean skipBeginningNewlines) throws SAXException { + try { + int start = 0; + while (skipBeginningNewlines && text[start] == '\n') { + start++; + if (start == text.length) { + return true; + } + } + m_writer.write(text, start, text.length - start); + m_isprevtext = true; + } catch (IOException e) { + throw new SAXException(e); + } + return false; + } + + char[] toChars() { + return text; + } + }); } /** - * @return True if any buffered GenericCharacters has content. + * @return True if any GenericCharacters are buffered. */ - public boolean hasContent() { - return bufferedCharacters.stream().anyMatch(GenericCharacters::hasContent); + public boolean isAnyCharactersBuffered() { + return bufferedCharacters.size() > 0; } /** * Flush all buffered GenericCharacters. */ - public void flush() throws SAXException { - GenericCharacters element; - while ((element = bufferedCharacters.poll()) != null) - element.flush(); + public void flush(boolean skipBeginningNewlines) throws SAXException { + Iterator<GenericCharacters> itr = bufferedCharacters.iterator(); + + boolean continueSkipBeginningNewlines = skipBeginningNewlines; + while (itr.hasNext()) { + GenericCharacters element = itr.next(); + continueSkipBeginningNewlines = element.flush(continueSkipBeginningNewlines); + itr.remove(); + } } /** * Converts all buffered GenericCharacters to a new character array. */ public char[] toChars() { - return bufferedCharacters.stream().map(GenericCharacters::toChars) - .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append).toString() - .toCharArray(); + StringBuilder sb = new StringBuilder(); + for (GenericCharacters element : bufferedCharacters) { + sb.append(element.toChars()); + } + return sb.toString().toCharArray(); } /** @@ -3534,6 +3555,7 @@ } } + // Implement DTDHandler /** * If this method is called, the serializer is used as a
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java Mon Mar 13 19:59:41 2017 +0000 @@ -88,8 +88,6 @@ setOmitXMLDeclaration(xmlListener.getOmitXMLDeclaration()); - m_ispreserve = xmlListener.m_ispreserve; - m_preserves = xmlListener.m_preserves; m_ispreserveSpace = xmlListener.m_ispreserveSpace; m_preserveSpaces = xmlListener.m_preserveSpaces; m_childNodeNum = xmlListener.m_childNodeNum; @@ -201,7 +199,9 @@ */ public void endDocument() throws org.xml.sax.SAXException { - flushCharactersBuffer(); + if (m_doIndent) { + flushCharactersBuffer(); + } flushPending(); if (m_doIndent && !m_isprevtext) { @@ -235,11 +235,6 @@ */ public void startPreserving() throws org.xml.sax.SAXException { - - // Not sure this is really what we want. -sb - m_preserves.push(true); - - m_ispreserve = true; } /** @@ -251,9 +246,6 @@ */ public void endPreserving() throws org.xml.sax.SAXException { - - // Not sure this is really what we want. -sb - m_ispreserve = m_preserves.isEmpty() ? false : m_preserves.pop(); } /** @@ -273,8 +265,10 @@ if (isInEntityRef()) return; - m_childNodeNum++; - flushCharactersBuffer(); + if (m_doIndent) { + m_childNodeNum++; + flushCharactersBuffer(); + } flushPending(); if (target.equals(Result.PI_DISABLE_OUTPUT_ESCAPING))
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOM3TreeWalker.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOM3TreeWalker.java Mon Mar 13 19:59:41 2017 +0000 @@ -1024,7 +1024,8 @@ return; } - if (bDispatch) { + if (bDispatch + && (!fSerializer.getIndent() || !node.getData().replace('\n', ' ').trim().isEmpty())) { dispatachChars(node); } }
--- a/jaxp/src/java.xml/share/classes/module-info.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/module-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,8 @@ /** * Defines the Java API for XML Processing (JAXP), the Streaming API for XML (StAX), * the Simple API for XML (SAX), and the W3C Document Object Model (DOM) API. + * + * @since 9 */ module java.xml { exports javax.xml; @@ -53,12 +55,6 @@ exports org.xml.sax; exports org.xml.sax.ext; exports org.xml.sax.helpers; - exports com.sun.org.apache.xerces.internal.dom to - java.xml.ws; - exports com.sun.org.apache.xerces.internal.jaxp to - java.xml.ws; - exports com.sun.org.apache.xerces.internal.util to - java.xml.ws; exports com.sun.org.apache.xml.internal.dtm to java.xml.crypto; exports com.sun.org.apache.xml.internal.utils to
--- a/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -22,6 +22,7 @@ */ package org.w3c.dom.ptests; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.compareWithGold; import static jaxp.library.JAXPTestUtilities.tryRunWithTmpPermission; import static org.testng.Assert.assertEquals; @@ -157,7 +158,7 @@ Element element = (Element) document.getElementsByTagName("sender").item(0); parentElement.insertBefore(createTestDocumentFragment(document), element); - String outputfile = "InsertBefore.out"; + String outputfile = USER_DIR + "InsertBefore.out"; String goldfile = GOLDEN_DIR + "InsertBeforeGF.out"; tryRunWithTmpPermission(() -> outputXml(document, outputfile), new PropertyPermission("user.dir", "read")); assertTrue(compareWithGold(goldfile, outputfile)); @@ -175,7 +176,7 @@ Element element = (Element) document.getElementsByTagName("sender").item(0); parentElement.replaceChild(createTestDocumentFragment(document), element); - String outputfile = "ReplaceChild3.out"; + String outputfile = USER_DIR + "ReplaceChild3.out"; String goldfile = GOLDEN_DIR + "ReplaceChild3GF.out"; tryRunWithTmpPermission(() -> outputXml(document, outputfile), new PropertyPermission("user.dir", "read")); assertTrue(compareWithGold(goldfile, outputfile));
--- a/jaxp/test/javax/xml/jaxp/functional/test/astro/DocumentLSTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/DocumentLSTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -22,6 +22,7 @@ */ package test.astro; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.filenameToURL; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -130,7 +131,7 @@ impl = (DOMImplementationLS) db.getDOMImplementation(); LSSerializer domSerializer = impl.createLSSerializer(); MyDOMOutput mydomoutput = new MyDOMOutput(); - try (OutputStream os = new FileOutputStream("test.out")) { + try (OutputStream os = new FileOutputStream(USER_DIR + "test.out")) { mydomoutput.setByteStream(os); mydomoutput.setEncoding("UTF-8"); assertTrue(domSerializer.write(doc, mydomoutput));
--- a/jaxp/test/javax/xml/jaxp/module/ServiceProviderTest/LayerModularXMLParserTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/module/ServiceProviderTest/LayerModularXMLParserTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -96,7 +96,7 @@ public void testOneLayer() throws Exception { ModuleFinder finder1 = ModuleFinder.of(MOD_DIR1); Configuration cf1 = Layer.boot().configuration() - .resolveRequiresAndUses(finder1, ModuleFinder.of(), Set.of("test")); + .resolveAndBind(finder1, ModuleFinder.of(), Set.of("test")); ClassLoader scl = ClassLoader.getSystemClassLoader(); Layer layer1 = Layer.boot().defineModulesWithManyLoaders(cf1, scl); ClassLoader cl1 = layer1.findLoader("test"); @@ -126,12 +126,12 @@ public void testTwoLayer() throws Exception { ModuleFinder finder1 = ModuleFinder.of(MOD_DIR1); Configuration cf1 = Layer.boot().configuration() - .resolveRequiresAndUses(finder1, ModuleFinder.of(), Set.of("test")); + .resolveAndBind(finder1, ModuleFinder.of(), Set.of("test")); ClassLoader scl = ClassLoader.getSystemClassLoader(); Layer layer1 = Layer.boot().defineModulesWithManyLoaders(cf1, scl); ModuleFinder finder2 = ModuleFinder.of(MOD_DIR2); - Configuration cf2 = cf1.resolveRequiresAndUses(finder2, ModuleFinder.of(), Set.of("test")); + Configuration cf2 = cf1.resolveAndBind(finder2, ModuleFinder.of(), Set.of("test")); Layer layer2 = layer1.defineModulesWithOneLoader(cf2, layer1.findLoader("test")); ClassLoader cl2 = layer2.findLoader("test"); @@ -160,12 +160,12 @@ public void testTwoLayerWithDuplicate() throws Exception { ModuleFinder finder1 = ModuleFinder.of(MOD_DIR1, MOD_DIR2); Configuration cf1 = Layer.boot().configuration() - .resolveRequiresAndUses(finder1, ModuleFinder.of(), Set.of("test")); + .resolveAndBind(finder1, ModuleFinder.of(), Set.of("test")); ClassLoader scl = ClassLoader.getSystemClassLoader(); Layer layer1 = Layer.boot().defineModulesWithManyLoaders(cf1, scl); ModuleFinder finder2 = ModuleFinder.of(MOD_DIR2); - Configuration cf2 = cf1.resolveRequiresAndUses(finder2, ModuleFinder.of(), Set.of("test")); + Configuration cf2 = cf1.resolveAndBind(finder2, ModuleFinder.of(), Set.of("test")); Layer layer2 = layer1.defineModulesWithOneLoader(cf2, layer1.findLoader("test")); ClassLoader cl2 = layer2.findLoader("test");
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -60,7 +60,7 @@ /* * @test - * @bug 6439439 8087303 + * @bug 6439439 8087303 8174025 * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest * @run testng/othervm -DrunSecMngr=true common.prettyprint.PrettyPrintTest * @run testng/othervm common.prettyprint.PrettyPrintTest @@ -69,29 +69,30 @@ @Listeners({jaxp.library.FilePolicy.class}) public class PrettyPrintTest { /* - * test CDATA, elements only, text and element, whitespace and element, - * xml:space property and nested xml:space property, mixed node types. + * test CDATA, elements only, text and element, xml:space property, mixed + * node types. */ @DataProvider(name = "xml-data") public Object[][] xmlData() throws Exception { return new Object[][] { - { read("xmltest1.xml"), read("xmltest1.out") }, - { read("xmltest2.xml"), read("xmltest2.out") }, - { read("xmltest3.xml"), read("xmltest3.out") }, - { read("xmltest4.xml"), read("xmltest4.out") }, - { read("xmltest5.xml"), read("xmltest5.out") }, - { read("xmltest6.xml"), read("xmltest6.out") }, - { read("xmltest7.xml"), read("xmltest7.out") }, - { read("xmltest8.xml"), read("xmltest8.out") } }; + { "xmltest1.xml", "xmltest1.out" }, + { "xmltest2.xml", "xmltest2.out" }, + { "xmltest3.xml", "xmltest3.out" }, + { "xmltest4.xml", "xmltest4.out" }, + { "xmltest6.xml", "xmltest6.out" }, + { "xmltest8.xml", "xmltest8.out" } }; } /* * @bug 8087303 - * Test the whitespace text nodes are serialized with pretty-print by LSSerializer and transformer correctly + * Test the xml document are serialized with pretty-print by + * LSSerializer and transformer correctly * */ @Test(dataProvider = "xml-data") - public void testXMLPrettyPrint(String source, String expected) throws Exception { + public void testXMLPrettyPrint(String sourceFile, String expectedFile) throws Exception { + String source = read(sourceFile); + String expected = read(expectedFile); // test it's no change if no pretty-print String result = serializerWrite(toXmlDocument(source), false); assertTrue(toXmlDocument(source).isEqualNode(toXmlDocument(result)), "The actual is: " + result); @@ -104,26 +105,100 @@ assertEquals(transform(toXmlDocument(source), true).replaceAll("\r\n", "\n"), expected); } + /* - * test pure text content, and sequent Text nodes. + * @bug 8087303 + * Test a single text node is serialized with pretty-print by + * LSSerializer and transformer correctly + * */ - @DataProvider(name = "xml-node-data") - public Object[][] xmlNodeData() throws Exception { - return new Object[][] { - { newTextNode(read("nodetest1.txt")), read("nodetest1.out") }, - { createDocWithSequentTextNodes(), read("nodetest2.out") } }; + @Test + public void testSingleTextNode() throws Exception { + Node xml = newTextNode(read("nodetest1.txt")); + String expected = read("nodetest1.out"); + assertEquals(serializerWrite(xml, true), expected); + assertEquals(transform(xml, true).replaceAll("\r\n", "\n"), expected); + } + + /* + * @bug 8087303 + * Test the transformer shall keep all whitespace text node in + * sequent text nodes + * + */ + @Test + public void testSequentTextNodesWithTransformer() throws Exception { + Node xml = createDocWithSequentTextNodes(); + String expected = read("nodetest2.out"); + assertEquals(transform(xml, true).replaceAll("\r\n", "\n"), expected); } /* * @bug 8087303 - * Test the whitespace text nodes are serialized with pretty-print by LSSerializer and transformer correctly, - * doesn't compare with the source because the test data is Node object + * Test LSSerializer shall eliminate the whitespace text node + * in sequent text nodes + * + */ + @Test + public void testSequentTextNodesWithLSSerializer() throws Exception { + Node xml = createDocWithSequentTextNodes(); + String expected = read("nodetest2ls.out"); + assertEquals(serializerWrite(xml, true), expected); + } + + + /* + * test whitespace and element, nested xml:space property. + */ + @DataProvider(name = "xml-data-whitespace-ls") + public Object[][] whitespaceLS() throws Exception { + return new Object[][] { + { "xmltest5.xml", "xmltest5ls.out" }, + { "xmltest7.xml", "xmltest7ls.out" } }; + } + + /* + * @bug 8087303 + * Test LSSerializer shall eliminate the whitespace text node + * unless xml:space="preserve" * */ - @Test(dataProvider = "xml-node-data") - public void testXMLNodePrettyPrint(Node xml, String expected) throws Exception { - assertEquals(serializerWrite(xml, true), expected); - assertEquals(transform(xml, true).replaceAll("\r\n", "\n"), expected); + @Test(dataProvider = "xml-data-whitespace-ls") + public void testWhitespaceWithLSSerializer(String sourceFile, String expectedFile) throws Exception { + String source = read(sourceFile); + String expected = read(expectedFile); + // test it's no change if no pretty-print + String result = serializerWrite(toXmlDocument(source), false); + assertTrue(toXmlDocument(source).isEqualNode(toXmlDocument(result)), "The actual is: " + result); + // test pretty-print + assertEquals(serializerWrite(toXmlDocument(source), true), expected); + } + + /* + * test whitespace and element, nested xml:space property. + */ + @DataProvider(name = "xml-data-whitespace-xslt") + public Object[][] whitespaceXSLT() throws Exception { + return new Object[][] { + { "xmltest5.xml", "xmltest5xslt.out" }, + { "xmltest7.xml", "xmltest7xslt.out" } }; + } + + /* + * @bug 8087303 + * Test the transformer shall format the output but keep all + * whitespace text node even if xml:space="preserve" + * + */ + @Test(dataProvider = "xml-data-whitespace-xslt") + public void testWhitespaceWithTransformer(String sourceFile, String expectedFile) throws Exception { + String source = read(sourceFile); + String expected = read(expectedFile); + // test it's no change if no pretty-print + String result = transform(toXmlDocument(source), false); + assertTrue(toXmlDocument(source).isEqualNode(toXmlDocument(result)), "The actual is: " + result); + // test pretty-print + assertEquals(transform(toXmlDocument(source), true).replaceAll("\r\n", "\n"), expected); } /* @@ -132,12 +207,14 @@ @DataProvider(name = "html-data") public Object[][] htmlData() throws Exception { return new Object[][] { - { read("htmltest1.xml"), read("htmltest1.out") }, - { read("htmltest2.xml"), read("htmltest2.out") }, - { read("htmltest3.xml"), read("htmltest3.out") }, - { read("htmltest4.xml"), read("htmltest4.out") }, - { read("htmltest5.xml"), read("htmltest5.out") }, - { read("htmltest6.xml"), read("htmltest6.out") } }; + { "htmltest1.xml", "htmltest1.out" }, + { "htmltest2.xml", "htmltest2.out" }, + { "htmltest3.xml", "htmltest3.out" }, + { "htmltest4.xml", "htmltest4.out" }, + { "htmltest5.xml", "htmltest5.out" }, + { "htmltest6.xml", "htmltest6.out" }, + /* @bug 8174025, test whitespace between inline elements */ + { "htmltest7.xml", "htmltest7.out" } }; } /* @@ -146,7 +223,9 @@ * */ @Test(dataProvider = "html-data") - public void testTransformToHTML(String source, String expected) throws Exception { + public void testTransformToHTML(String sourceFile, String expectedFile) throws Exception { + String source = read(sourceFile); + String expected = read(expectedFile); // test it's no change if no pretty-print StringWriter writer = new StringWriter(); getTransformer(true, false).transform(new StreamSource(new StringReader(source)), new StreamResult(writer)); @@ -158,6 +237,27 @@ assertEquals(writer.toString().replaceAll("\r\n", "\n"), expected); } + /* + * @bug 8174025 + * Test the serializer can handle <xsl:text disable-output-escaping="yes"> correctly. + * + */ + @Test + public void testDisableOutputEscaping() throws Exception { + final String xsl ="generate-catalog.xsl"; + final String xml ="simple-entity-resolver-config.xml"; + final String expectedOutput ="simple-entity-resolver-config-transformed.xml"; + TransformerFactory factory = TransformerFactory.newInstance(); + Transformer transformer = factory.newTemplates(new StreamSource(new StringReader(read(xsl)))).newTransformer(); + + String key = "schemaBase"; + String value = "schemas"; + transformer.setParameter(key, value); + StringWriter writer = new StringWriter(); + transformer.transform(new StreamSource(new StringReader(read(xml))), new StreamResult(writer)); + assertEquals(writer.toString().replaceAll("\r\n", "\n"), read(expectedOutput)); + } + @Test public void testLSSerializerFormatPrettyPrint() { @@ -298,6 +398,9 @@ Document doc = db.newDocument(); Node root = doc.createElement("root"); doc.appendChild(root); + root.appendChild(doc.createTextNode("\n")); + root.appendChild(doc.createTextNode("\n")); + root.appendChild(doc.createTextNode("\n")); root.appendChild(doc.createTextNode(" ")); root.appendChild(doc.createTextNode("t")); root.appendChild(doc.createTextNode("\n"));
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/generate-catalog.xsl Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> + <!-- Stylesheet for generating the entity-resolver document in XCatalog format --> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:output method="xml" indent="yes"/> + <xsl:param name="schemaBase"/> + <xsl:template match="entity-resolver-config"> + <catalog xmlns="xmlns:xml:catalog" + prefer="system" + xml:base="{$schemaBase}" > + + <xsl:for-each select="entity"> + + <!-- Generate System Id --> + <xsl:text disable-output-escaping="yes"><system systemId="</xsl:text> + <xsl:value-of select="system-id/text()"/> + <xsl:text>" uri="</xsl:text> + <xsl:value-of select="location/text()"/> + <xsl:text disable-output-escaping="yes">" /> </xsl:text> + </xsl:for-each> + </catalog> + </xsl:template> + </xsl:stylesheet> \ No newline at end of file
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/htmltest1.xml Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/htmltest1.xml Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -<rss version="2.0"><channel xml:space="preserve"><title>Java Tutorials and Examples 1</title> <language>en-us</language></channel></rss> \ No newline at end of file +<rss version="2.0"><channel xml:space="preserve"><title>Java Tutorials and Examples 1</title><language>en-us</language></channel></rss> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/htmltest7.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,7 @@ +<html> + <body> + <p> + <span>this</span> <span>is</span> <span>a</span> <span>whitespace</span> <span>inline element</span> <span>test</span> + </p> + </body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/htmltest7.xml Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,1 @@ +<html><body><p> <span>this</span> <span>is</span> <span>a</span> <span>whitespace</span> <span>inline element</span> <span>test</span> </p></body></html> \ No newline at end of file
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/nodetest2.out Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/nodetest2.out Mon Mar 13 19:59:41 2017 +0000 @@ -1,19 +1,30 @@ <root> t t - <child1/> + <child1> +</child1> t - <child2/> - <child3/> - <child4/> + <child2> </child2> + + <child3> </child3> + + <child4> </child4> + <child5> t <child51> + <child511>t</child511> + </child51> t </child5> + <!-- test comment --> + + <!-- --> + <?target1 test?> + </root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/nodetest2ls.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,18 @@ +<root> + tt + <child1/> + t + <child2/> + <child3/> + <child4/> + <child5> + t + <child51> + <child511>t</child511> + </child51> + t + </child5> + <!-- test comment --> + <!-- --> + <?target1 test?> +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/simple-entity-resolver-config-transformed.xml Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?><catalog prefer="system" xml:base="schemas" xmlns="xmlns:xml:catalog"><system systemId="http://www.example.test/oracle/schema/example1.xsd" uri="META-INF/example1.xsd" /> +<system systemId="http://www.example.test/oracle/schema/example2.xsd" uri="META-INF/example2.xsd" /> +</catalog>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/simple-entity-resolver-config.xml Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,20 @@ +<?xml version="1.0"?> + <entity-resolver-config + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://www.example.test/schema.xsd" + schema-major-version="1" + schema-minor-version="1"> + + <entity> + <description>Example 1 Schema Type library 10.0 </description> + <public-id>>-//Oracle//Example 1 Schema Type library 10.0//EN</public-id> + <system-id>http://www.example.test/oracle/schema/example1.xsd</system-id> + <location>META-INF/example1.xsd</location> + </entity> + <entity> + <description>Example 2 Schema Type library 10.0 </description> + <public-id>>-//Oracle//Example 2 Schema Type library 10.0//EN</public-id> + <system-id>http://www.example.test/oracle/schema/example2.xsd</system-id> + <location>META-INF/example2.xsd</location> + </entity> + </entity-resolver-config> \ No newline at end of file
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest5.out Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -<rss version="2.0"> - <channel> - <title>Java Tutorials and Examples 1</title> - <language>en-us</language> - </channel> - <a> - <b/> - </a> - <c/> -</rss>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest5ls.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,10 @@ +<rss version="2.0"> + <channel> + <title>Java Tutorials and Examples 1</title> + <language>en-us</language> + </channel> + <a> + <b/> + </a> + <c/> +</rss>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest5xslt.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,15 @@ +<rss version="2.0"> + <channel> + + <title>Java Tutorials and Examples 1</title> + + <language>en-us</language> + </channel> + <a> + <b> </b> + </a> + + <c> + +</c> +</rss>
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest7.out Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -<rss> - <layer1 xml:space="preserve"> <title>Java </title> <layer2 xml:space="asfsa"> <layer3> <layer4 xml:space="default"> - <l5>5</l5> - </layer4> </layer3> </layer2> <layer2 xml:space="default"> - <layer3> - <l4/> - </layer3> - <layer3 xml:space="preserve"> <l4> </l4> </layer3> - </layer2> </layer1> -</rss>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest7ls.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,10 @@ +<rss> + <layer1 xml:space="preserve"> <title>Java </title> <layer2 xml:space="asfsa"> <layer3> <layer4 xml:space="default"> + <l5>5</l5> + </layer4> </layer3> </layer2> <layer2 xml:space="default"> + <layer3> + <l4/> + </layer3> + <layer3 xml:space="preserve"> <l4> </l4> </layer3> + </layer2> </layer1> +</rss>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest7xslt.out Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,17 @@ +<rss> + <layer1 xml:space="preserve"> <title>Java </title> <layer2 xml:space="asfsa"> <layer3> <layer4 xml:space="default"> + + <l5>5</l5> + + + </layer4> </layer3> </layer2> <layer2 xml:space="default"> + + <layer3> + + <l4> </l4> + + </layer3> + + <layer3 xml:space="preserve"> <l4> </l4> </layer3> + </layer2> </layer1> +</rss>
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest8.out Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest8.out Mon Mar 13 19:59:41 2017 +0000 @@ -1,25 +1,20 @@ <root> - - t + t <![CDATA[ ]]> - -t + t <child1/> - - t + t <!-- test comment --> <child2/> <child5> - - t + t <?target1 test?> <child51> <child511>t</child511> </child51> <?target1 test?> - - t + t </child5> </root>
--- a/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest8.xml Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/common/prettyprint/xmltest8.xml Mon Mar 13 19:59:41 2017 +0000 @@ -2,14 +2,7 @@ t<![CDATA[ ]]> t <child1/> - t<!-- test comment --> - <child2/> - <child5> - t<?target1 test?> - <child51> - <child511>t</child511> - </child51><?target1 test?> + t<!-- test comment --><child2/><child5> + t<?target1 test?><child51><child511>t</child511></child51><?target1 test?> t - </child5> - -</root> + </child5></root>
--- a/jaxp/test/javax/xml/jaxp/unittest/dom/ls/LSSerializerTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/dom/ls/LSSerializerTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -279,11 +279,11 @@ "<author>\n" + " <a>&name1;Jo Smith</a>\n" + " <b>b &name2;Jo Smith &name1;Jo Smith b</b>\n" + - " <c> &name;Jo Smith </c>\n" + + " <c>&name;Jo Smith </c>\n" + " <d>&ele1;d</d>\n" + - " <e> &ele2;eee </e>\n" + + " <e>&ele2;eee </e>\n" + " <f><att></f>\n" + - " <g> &ele; g</g>\n" + + " <g>&ele; g</g>\n" + " <h>&ele2;</h>\n" + "</author>\n"); @@ -301,7 +301,7 @@ "<author>\n" + " <a>&name;Jo Smith</a>\n" + " <b>b &name;Jo Smith &name;Jo Smith b</b>\n" + - " <c> &name;Jo Smith </c>\n" + + " <c>&name;Jo Smith </c>\n" + " <d>\n" + " <aa>\n" + " <bb>text</bb>\n" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/parsers/BaseParsingTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package parsers; + +import java.io.StringReader; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamReader; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Listeners; +import org.testng.annotations.Test; +import org.xml.sax.InputSource; + +/** + * @test + * @bug 8169450 + * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest + * @run testng/othervm -DrunSecMngr=true parsers.BaseParsingTest + * @run testng/othervm parsers.BaseParsingTest + * @summary Tests that verify base parsing + */ +@Listeners({jaxp.library.BasePolicy.class}) +public class BaseParsingTest { + + @DataProvider(name = "xmlDeclarations") + public static Object[][] xmlDeclarations() { + return new Object[][]{ + {"<?xml version=\"1.0\"?><root><test>t</test></root>"}, + {"<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><test>t</test></root>"}, + {"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone='yes'?><root><test>t</test></root>"}, + {"<?xml\n" + + " version=\"1.0\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version=\"1.0\"\n" + + " encoding=\"UTF-8\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version=\"1.0\"\n" + + " encoding=\"UTF-8\"\n" + + " standalone=\"yes\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version\n" + + "=\n" + + "\"1.0\"\n" + + " encoding\n" + + "=\n" + + "\"UTF-8\"\n" + + " standalone\n" + + "=\n" + + "\"yes\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml version=\"1.1\"?><root><test>t</test></root>"}, + {"<?xml version=\"1.1\" encoding=\"UTF-8\"?><root><test>t</test></root>"}, + {"<?xml version=\"1.1\" encoding=\"UTF-8\" standalone='yes'?><root><test>t</test></root>"}, + {"<?xml\n" + + " version=\"1.1\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version=\"1.1\"\n" + + " encoding=\"UTF-8\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version=\"1.1\"\n" + + " encoding=\"UTF-8\"\n" + + " standalone=\"yes\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"}, + {"<?xml\n" + + " version\n" + + "=\n" + + "\"1.1\"\n" + + " encoding\n" + + "=\n" + + "\"UTF-8\"\n" + + " standalone\n" + + "=\n" + + "\"yes\"?>\n" + + "<root>\n" + + " <test>t</test>\n" + + "</root>"} + }; + } + + /** + * @bug 8169450 + * Verifies that the parser successfully parses the declarations provided in + * xmlDeclarations. Exception would otherwise be thrown as reported in 8169450. + * + * XML Declaration according to https://www.w3.org/TR/REC-xml/#NT-XMLDecl + * [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' + * [24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') + * [25] Eq ::= S? '=' S? [26] VersionNum ::= '1.' [0-9]+ + * + * @param xml the test xml + * @throws Exception if the parser fails to parse the xml + */ + @Test(dataProvider = "xmlDeclarations") + public void test(String xml) throws Exception { + XMLInputFactory xif = XMLInputFactory.newDefaultFactory(); + XMLStreamReader xsr = xif.createXMLStreamReader(new StringReader(xml)); + while (xsr.hasNext()) { + xsr.next(); + } + } + + /** + * @bug 8169450 + * This particular issue does not appear in DOM parsing since the spaces are + * normalized during version detection. This test case then serves as a guard + * against such an issue from occuring in the version detection. + * + * @param xml the test xml + * @throws Exception if the parser fails to parse the xml + */ + @Test(dataProvider = "xmlDeclarations") + public void testWithDOM(String xml) throws Exception { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setValidating(true); + DocumentBuilder db = dbf.newDocumentBuilder(); + db.parse(new InputSource(new StringReader(xml))); + } +}
--- a/jaxp/test/javax/xml/jaxp/unittest/parsers/Bug6341770.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/parsers/Bug6341770.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,7 @@ package parsers; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.tryRunWithTmpPermission; import java.io.File; @@ -61,7 +62,7 @@ return; } try { - File dir = new File(ALPHA); + File dir = new File(USER_DIR + ALPHA); dir.delete(); dir.mkdir(); File main = new File(dir, "main.xml");
--- a/jaxp/test/javax/xml/jaxp/unittest/sax/Bug7057778Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/sax/Bug7057778Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,7 @@ package sax; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.getSystemProperty; import static jaxp.library.JAXPTestUtilities.tryRunWithTmpPermission; @@ -69,7 +70,7 @@ @Test public void testParse() { File src = new File(getClass().getResource(xml).getFile()); - File dst = new File(xml1); + File dst = new File(USER_DIR + xml1); try { copyFile(src, dst); SAXParserFactory spf = SAXParserFactory.newInstance();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/sax/SymbolTableResetTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package sax; + +import java.io.StringReader; + +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.testng.Assert; +import org.testng.annotations.Listeners; +import org.testng.annotations.Test; +import org.xml.sax.InputSource; +import org.xml.sax.helpers.DefaultHandler; + +/* + * @test + * @bug 8173390 + * @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest + * @run testng/othervm -DrunSecMngr=true sax.SymbolTableResetTest + * @run testng/othervm sax.SymbolTableResetTest + * @summary Test that SAXParser reallocates symbol table during + * subsequent parse operations + */ +@Listeners({jaxp.library.BasePolicy.class}) +public class SymbolTableResetTest { + + /* + * Test mimics the SAXParser usage in SAAJ-RI that reuses the + * parsers from the internal pool. To avoid memory leaks, symbol + * table associated with the parser should be reallocated during each + * parse() operation. + */ + @Test + public void testReset() throws Exception { + // Dummy xml input for parser + String input = "<dummy>Test</dummy>"; + // Create SAXParser + SAXParserFactory spf = SAXParserFactory.newInstance(); + SAXParser p = spf.newSAXParser(); + // First parse iteration + p.parse(new InputSource(new StringReader(input)), new DefaultHandler()); + // Get first symbol table reference + Object symTable1 = p.getProperty(SYMBOL_TABLE_PROPERTY); + p.reset(); + // Second parse iteration + p.parse(new InputSource(new StringReader(input)), new DefaultHandler()); + // Get second symbol table reference + Object symTable2 = p.getProperty(SYMBOL_TABLE_PROPERTY); + // Symbol table references should be different + Assert.assertNotSame(symTable1, symTable2, "Symbol table references"); + } + + // Symbol table property + private static final String SYMBOL_TABLE_PROPERTY = "http://apache.org/xml/properties/internal/symbol-table"; + +}
--- a/jaxp/test/javax/xml/jaxp/unittest/stream/Bug6688002Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/stream/Bug6688002Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package stream; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; @@ -67,15 +69,15 @@ } public class MyRunnable implements Runnable { - final int no; + final String no; MyRunnable(int no) { - this.no = no; + this.no = String.valueOf(no); } public void run() { try { - FileOutputStream fos = new FileOutputStream("" + no); + FileOutputStream fos = new FileOutputStream(USER_DIR + no); XMLStreamWriter w = getWriter(fos); // System.out.println("Writer="+w+" Thread="+Thread.currentThread()); w.writeStartDocument(); @@ -89,7 +91,7 @@ w.close(); fos.close(); - FileInputStream fis = new FileInputStream("" + no); + FileInputStream fis = new FileInputStream(USER_DIR + no); XMLStreamReader r = getReader(fis); while (r.hasNext()) { r.next();
--- a/jaxp/test/javax/xml/jaxp/unittest/stream/XMLEventWriterTest/ReaderToWriterTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/stream/XMLEventWriterTest/ReaderToWriterTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package stream.XMLEventWriterTest; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; @@ -58,7 +60,7 @@ private static final XMLOutputFactory XML_OUTPUT_FACTORY = XMLOutputFactory.newInstance(); private static final String INPUT_FILE = "W2JDLR4002TestService.wsdl.data"; - private static final String OUTPUT_FILE = "Encoded.wsdl"; + private static final String OUTPUT_FILE = USER_DIR + "Encoded.wsdl"; /** * Unit test for writing namespaces when namespaceURI == null. @@ -126,7 +128,7 @@ try { InputStream in = getClass().getResourceAsStream("ReaderToWriterTest.wsdl"); - OutputStream out = new FileOutputStream("ReaderToWriterTest-out.xml"); + OutputStream out = new FileOutputStream(USER_DIR + "ReaderToWriterTest-out.xml"); XMLEventReader reader = XML_INPUT_FACTORY.createXMLEventReader(in); XMLEventWriter writer = XML_OUTPUT_FACTORY.createXMLEventWriter(out, "UTF-8");
--- a/jaxp/test/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/WriterTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/WriterTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package stream.XMLStreamWriterTest; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; @@ -84,7 +86,7 @@ System.out.println("Test StreamWriter with out any namespace functionality"); try { - String outputFile = files[0] + ".out"; + String outputFile = USER_DIR + files[0] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -98,7 +100,7 @@ xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[0] + ".out", files[0] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[0] + ".org")); } catch (Exception ex) { Assert.fail("testOne Failed " + ex); @@ -113,7 +115,7 @@ System.out.println("Test StreamWriter's Namespace Context"); try { - String outputFile = files[1] + ".out"; + String outputFile = USER_DIR + files[1] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(System.out); @@ -157,7 +159,7 @@ System.out.println("Test StreamWriter for proper element sequence."); try { - String outputFile = files[2] + ".out"; + String outputFile = USER_DIR + files[2] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -172,7 +174,7 @@ xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[2] + ".out", files[2] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[2] + ".org")); } catch (Exception ex) { Assert.fail("testThree Failed " + ex); @@ -188,7 +190,7 @@ try { - String outputFile = files[3] + ".out"; + String outputFile = USER_DIR + files[3] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -205,7 +207,7 @@ xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[3] + ".out", files[3] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[3] + ".org")); } catch (Exception ex) { Assert.fail("testFour Failed " + ex); @@ -221,7 +223,7 @@ try { - String outputFile = files[4] + ".out"; + String outputFile = USER_DIR + files[4] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(System.out); @@ -265,7 +267,7 @@ xtw.writeEndDocument(); xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[4] + ".out", files[4] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[4] + ".org")); System.out.println("Done"); } catch (Exception ex) { Assert.fail("testFive Failed " + ex); @@ -281,7 +283,7 @@ try { - String outputFile = files[5] + ".out"; + String outputFile = USER_DIR + files[5] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(System.out); @@ -325,7 +327,7 @@ xtw.writeEndDocument(); xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[5] + ".out", files[5] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[5] + ".org")); System.out.println("Done"); } catch (Exception ex) { Assert.fail("testSix Failed " + ex); @@ -341,7 +343,7 @@ try { - String outputFile = files[6] + ".out"; + String outputFile = USER_DIR + files[6] + ".out"; System.out.println("Writing output to " + outputFile); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -374,7 +376,7 @@ xtw.writeEndDocument(); xtw.flush(); xtw.close(); - Assert.assertTrue(checkResults(files[6] + ".out", files[6] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[6] + ".org")); System.out.println("Done"); } catch (Exception ex) { Assert.fail("testSeven Failed " + ex); @@ -390,7 +392,7 @@ try { - String outputFile = files[7] + ".out"; + String outputFile = USER_DIR + files[7] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -424,7 +426,7 @@ xtw.flush(); xtw.close(); // check against testSeven.xml.org - Assert.assertTrue(checkResults(files[7] + ".out", files[7] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[7] + ".org")); System.out.println("Done"); } catch (Exception ex) { ex.printStackTrace(); @@ -442,7 +444,7 @@ try { - String outputFile = files[8] + ".out"; + String outputFile = USER_DIR + files[8] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -476,7 +478,7 @@ xtw.flush(); xtw.close(); // check against testSeven.xml.org - Assert.assertTrue(checkResults(files[8] + ".out", files[7] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[7] + ".org")); System.out.println("Done"); } catch (Exception ex) { Assert.fail("testNine Failed " + ex); @@ -491,7 +493,7 @@ System.out.println("Test StreamWriter supplied with no namespace information and" + "isRepairingNamespace is set to true."); try { - String outputFile = files[9] + ".out"; + String outputFile = USER_DIR + files[9] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -542,7 +544,7 @@ System.out.println("Test StreamWriter supplied with namespace information passed through startElement and" + "isRepairingNamespace is set to true."); try { - String outputFile = files[10] + ".out"; + String outputFile = USER_DIR + files[10] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -576,7 +578,7 @@ xtw.flush(); xtw.close(); // check against testSeven.xml.org - Assert.assertTrue(checkResults(files[10] + ".out", files[7] + ".org")); + Assert.assertTrue(checkResults(outputFile, files[7] + ".org")); System.out.println("Done"); } catch (Exception ex) { Assert.fail("testEleven Failed " + ex); @@ -592,7 +594,7 @@ try { - String outputFile = files[11] + ".out"; + String outputFile = USER_DIR + files[11] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -643,7 +645,7 @@ try { - String outputFile = files[12] + ".out"; + String outputFile = USER_DIR + files[12] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING); @@ -695,7 +697,7 @@ try { - String outputFile = files[14] + ".out"; + String outputFile = USER_DIR + files[14] + ".out"; System.out.println("Writing output to " + outputFile); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, new Boolean(true)); xtw = outputFactory.createXMLStreamWriter(new FileOutputStream(outputFile), ENCODING);
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/Bug4693341Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/Bug4693341Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package transform; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -55,7 +57,7 @@ // save dtd file to current working directory to avoid writing into source repository public void copyDTDtoWorkDir() throws IOException { try (FileInputStream dtdres = new FileInputStream(getClass().getResource("Bug4693341.dtd").getPath()); - FileOutputStream dtdwork = new FileOutputStream("Bug4693341.dtd");) { + FileOutputStream dtdwork = new FileOutputStream(USER_DIR + "Bug4693341.dtd");) { int n; byte[] buffer = new byte[1024]; while((n = dtdres.read(buffer)) > -1) { @@ -71,7 +73,7 @@ copyDTDtoWorkDir(); - File outf = new File("Bug4693341.out"); + File outf = new File(USER_DIR + "Bug4693341.out"); StreamResult result = new StreamResult(new FileOutputStream(outf)); String in = getClass().getResource("Bug4693341.xml").getPath();
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/Bug4892774.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/Bug4892774.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package transform; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.File; import javax.xml.transform.Source; @@ -58,7 +60,7 @@ private final String XML_FILE = "catalog.xml"; private final String XML10_FILE = "catalog_10.xml"; // 1.0 version document - private final String TEMP_FILE = "tmp.xml"; + private final String TEMP_FILE = USER_DIR + "tmp.xml"; private final String EXPECTED_VERSION = "1.1"; static private Transformer idTransform = null;
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/Bug6216226Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/Bug6216226Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,7 @@ package transform; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.runWithTmpPermission; import java.io.File; @@ -52,7 +53,7 @@ @Test public final void test() { try { - File test = new File("bug6216226.txt"); + File test = new File(USER_DIR + "bug6216226.txt"); TransformerFactory tf = TransformerFactory.newInstance(); Transformer xformer = tf.newTransformer(); StringReader st = new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\"?><doc></doc>");
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/CR6935697Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/CR6935697Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package transform; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.FileOutputStream; import javax.xml.transform.Result; @@ -65,7 +67,7 @@ Transformer xformer = template.newTransformer(); // Prepare the input and output files Source source = new StreamSource(getClass().getResourceAsStream(inFilename)); - Result result = new StreamResult(new FileOutputStream(outFilename)); + Result result = new StreamResult(new FileOutputStream(USER_DIR + outFilename)); // Apply the xsl file to the source file and write the result to the // output file xformer.transform(source, result);
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/XSLTFunctionsTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/XSLTFunctionsTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,7 @@ package transform; +import java.io.FilePermission; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; @@ -46,6 +47,7 @@ import static jaxp.library.JAXPTestUtilities.runWithAllPerm; import static jaxp.library.JAXPTestUtilities.clearSystemProperty; import static jaxp.library.JAXPTestUtilities.setSystemProperty; +import static jaxp.library.JAXPTestUtilities.tryRunWithTmpPermission; import static jaxp.library.JAXPTestUtilities.getSystemProperty; /* @@ -77,7 +79,9 @@ Transformer t = tf.newTransformer(new StreamSource(new StringReader(xsl))); //Transform the xml - t.transform(new StreamSource(new StringReader(xml)), new StreamResult(new StringWriter())); + tryRunWithTmpPermission( + () -> t.transform(new StreamSource(new StringReader(xml)), new StreamResult(new StringWriter())), + new FilePermission(output, "write"), new FilePermission(redirect, "write")); // Verifies that the output is redirected successfully String userDir = getSystemProperty("user.dir");
--- a/jaxp/test/javax/xml/jaxp/unittest/transform/util/TransformerUtil.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/transform/util/TransformerUtil.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package transform.util; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; @@ -34,7 +36,7 @@ protected String type; - protected final String TEMP_FILE = "tmp.xml"; + protected final String TEMP_FILE = USER_DIR + "tmp.xml"; public abstract Source prepareSource(InputStream is) throws Exception;
--- a/jaxp/test/javax/xml/jaxp/unittest/validation/CR6708840Test.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/validation/CR6708840Test.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,8 @@ package validation; +import static jaxp.library.JAXPTestUtilities.USER_DIR; + import java.io.File; import java.io.FileWriter; @@ -122,7 +124,7 @@ Validator schemaValidator = schemaGrammar.newValidator(); Source staxSrc = new StAXSource(staxReader); - File resultFile = new File("gMonths.result.xml"); + File resultFile = new File(USER_DIR + "gMonths.result.xml"); if (resultFile.exists()) { resultFile.delete(); }
--- a/jaxp/test/javax/xml/jaxp/unittest/validation/ValidatorTest.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxp/test/javax/xml/jaxp/unittest/validation/ValidatorTest.java Mon Mar 13 19:59:41 2017 +0000 @@ -23,6 +23,7 @@ package validation; +import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.runWithTmpPermission; import java.io.File; @@ -61,7 +62,7 @@ File resultFile = null; try { - resultFile = new File("stax.result"); + resultFile = new File(USER_DIR + "stax.result"); if (resultFile.exists()) { resultFile.delete(); } @@ -88,7 +89,7 @@ File resultFile = null; try { - resultFile = new File("stax.result"); + resultFile = new File(USER_DIR + "stax.result"); if (resultFile.exists()) { resultFile.delete(); } @@ -117,7 +118,7 @@ // test valid gMonths File resultFile = null; try { - resultFile = new File("gMonths.result.xml"); + resultFile = new File(USER_DIR + "gMonths.result.xml"); if (resultFile.exists()) { resultFile.delete(); } @@ -144,7 +145,7 @@ // test invalid gMonths File invalidResultFile = null; try { - invalidResultFile = new File("gMonths-invalid.result.xml"); + invalidResultFile = new File(USER_DIR + "gMonths-invalid.result.xml"); if (invalidResultFile.exists()) { invalidResultFile.delete(); }
--- a/jaxws/.hgtags Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/.hgtags Mon Mar 13 19:59:41 2017 +0000 @@ -399,5 +399,9 @@ c48b4d4768b1c2b8fe5d1a844ca13732e5dfbe2a jdk-9+151 6f8fb1cf7e5f61c40dcc3654f9a623c505f6de1f jdk-9+152 7a532a9a227137155b905341d4b99939db51220e jdk-9+153 +34af95c7dbff74f3448fcdb7d745524e8a1cc88a jdk-10+0 34af95c7dbff74f3448fcdb7d745524e8a1cc88a jdk-9+154 9b9918656c97724fd89c04a8547043bbd37f5935 jdk-9+155 +7c829eba781409b4fe15392639289af1553dcf63 jdk-9+156 +b7e70e1e0154e1d2c69f814e03a8800ef8634fe0 jdk-9+157 +e53b322357382209fb553b9a1541ccfd12cbcb6c jdk-9+158
--- a/jaxws/.jcheck/conf Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/.jcheck/conf Mon Mar 13 19:59:41 2017 +0000 @@ -1,1 +1,1 @@ -project=jdk9 +project=jdk10
--- a/jaxws/src/java.activation/share/classes/META-INF/mimetypes.default Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.activation/share/classes/META-INF/mimetypes.default Mon Mar 13 19:59:41 2017 +0000 @@ -7,6 +7,7 @@ image/ief ief image/jpeg jpeg jpg jpe JPG image/tiff tiff tif +image/png png PNG image/x-xwindowdump xwd application/postscript ai eps ps application/rtf rtf
--- a/jaxws/src/java.activation/share/classes/module-info.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.activation/share/classes/module-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -25,6 +25,8 @@ /** * Defines the JavaBeans Activation Framework (JAF) API. + * + * @since 9 */ module java.activation { requires transitive java.datatransfer;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,9 +54,7 @@ public Object[] getArguments(); public String getResourceBundleName(); - public default ResourceBundle getResourceBundle(Locale locale) { - return null; - } + public ResourceBundle getResourceBundle(Locale locale); /** * Special constant that represents a message that
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ import java.util.Locale; import java.util.ResourceBundle; + /** * @author WS Development Team */ @@ -42,13 +43,9 @@ private final String _key; private final Object[] _args; + @Deprecated public LocalizableMessage(String bundlename, String key, Object... args) { - _bundlename = bundlename; - _rbSupplier = null; - _key = key; - if(args==null) - args = new Object[0]; - _args = args; + this(bundlename, null, key, args); } public LocalizableMessage(String bundlename, ResourceBundleSupplier rbSupplier, @@ -61,15 +58,17 @@ _args = args; } - + @Override public String getKey() { return _key; } + @Override public Object[] getArguments() { return Arrays.copyOf(_args, _args.length); } + @Override public String getResourceBundleName() { return _bundlename; }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ private final String _bundlename; private final ResourceBundleSupplier _rbSupplier; + @Deprecated public LocalizableMessageFactory(String bundlename) { _bundlename = bundlename; _rbSupplier = null; @@ -58,4 +59,5 @@ */ ResourceBundle getResourceBundle(Locale locale); } + }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,6 @@ package com.sun.istack.internal.localization; -import com.sun.istack.internal.localization.LocalizableMessageFactory.ResourceBundleSupplier; import java.text.MessageFormat; import java.util.HashMap; import java.util.Locale; @@ -41,7 +40,7 @@ public class Localizer { private final Locale _locale; - private final HashMap _resourceBundles; + private final HashMap<String, ResourceBundle> _resourceBundles; public Localizer() { this(Locale.getDefault()); @@ -49,7 +48,7 @@ public Localizer(Locale l) { _locale = l; - _resourceBundles = new HashMap(); + _resourceBundles = new HashMap<>(); } public Locale getLocale() {
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/NullLocalizable.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/NullLocalizable.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,9 @@ package com.sun.istack.internal.localization; +import java.util.Locale; +import java.util.ResourceBundle; + /** * {@link Localizable} that wraps a non-localizable string. * @@ -39,13 +42,20 @@ this.msg = msg; } + @Override public String getKey() { return Localizable.NOT_LOCALIZABLE; } + @Override public Object[] getArguments() { return new Object[]{msg}; } + @Override public String getResourceBundleName() { return ""; } + @Override + public ResourceBundle getResourceBundle(Locale locale) { + return null; + } }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -533,4 +533,14 @@ * @since 2.2.6 */ public static final String DISABLE_XML_SECURITY = "com.sun.xml.internal.bind.disableXmlSecurity"; + + /** + * If true and element namespace is not specified, namespace of parent element will be used. + * The default value is false. + * + * Boolean + * @since 2.3.0 + */ + public static final String BACKUP_WITH_PARENT_NAMESPACE = "com.sun.xml.internal.bind.backupWithParentNamespace"; + }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -112,6 +112,8 @@ "is not active. Using JAXB's implementation"); } + Boolean backupWithParentNamespace = getPropertyValue(properties, JAXBRIContext.BACKUP_WITH_PARENT_NAMESPACE, Boolean.class); + RuntimeAnnotationReader ar = getPropertyValue(properties,JAXBRIContext.ANNOTATION_READER,RuntimeAnnotationReader.class); Collection<TypeReference> tr = getPropertyValue(properties, JAXBRIContext.TYPE_REFERENCES, Collection.class); @@ -144,6 +146,7 @@ builder.setSupressAccessorWarnings(supressAccessorWarnings); builder.setImprovedXsiTypeHandling(improvedXsiTypeHandling); builder.setDisableSecurityProcessing(disablesecurityProcessing); + builder.setBackupWithParentNamespace(backupWithParentNamespace); return builder.build(); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/bytecode/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Code that deals with low level byte code manipulation. + */ +package com.sun.xml.internal.bind.v2.bytecode;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/bytecode/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html> - - -<body> - Code that deals with low level byte code manipulation. -</body> -</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Abstraction around reading annotations, to support internal/external annotations. + */ +package com.sun.xml.internal.bind.v2.model.annotation;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html><body> - - - Abstraction around reading annotations, to support internal/external annotations. -</body></html>
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,24 +29,25 @@ /** * listen to static errors found during building a JAXB model from a set of classes. - * Implemented by the client of {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilder}. + * Implemented by the client of {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilderI}. * * <p> * All the static errors have to be reported while constructing a - * model, not when a model is used (IOW, until the {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilder#link} completes. - * Internally, {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilder} wraps an {@link ErrorHandler} and all the model + * model, not when a model is used (IOW, until the {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilderI} completes. + * Internally, {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilderI} wraps an {@link ErrorHandler} and all the model * components should report errors through it. * * <p> * {@link IllegalAnnotationException} is a checked exception to remind * the model classes to report it rather than to throw it. * - * @see com.sun.xml.internal.bind.v2.model.impl.ModelBuilder + * @see com.sun.xml.internal.bind.v2.model.impl.ModelBuilderI * @author Kohsuke Kawaguchi */ public interface ErrorHandler { /** * Receives a notification for an error in the annotated code. + * @param e */ void error( IllegalAnnotationException e ); }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,7 +57,7 @@ public final boolean isOrdered; /** - * {@link com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory} benefits from having index numbers assigned to + * {@code com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory} benefits from having index numbers assigned to * {@link #ELEMENT}, {@link #REFERENCE}, and {@link #MAP} in this order. */ public final int propertyIndex;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,18 +34,22 @@ * * <p> * This interface is only meant to be used as a return type from - * {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilder}. + * {@link com.sun.xml.internal.bind.v2.model.impl.ModelBuilderI}. * * @author Kohsuke Kawaguchi + * @param <T> + * @param <C> */ public interface RegistryInfo<T,C> { /** * Returns all the references to other types in this registry. + * @return */ Set<TypeInfo<T,C>> getReferences(); /** * Returns the class with {@link XmlRegistry}. + * @return */ C getClazz(); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/impl/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Implementation of the com.sun.xml.internal.bind.j2s.model package. + */ +package com.sun.xml.internal.bind.v2.model.impl;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/impl/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html> - - -<body> -Implementation of the com.sun.xml.internal.bind.j2s.model package. -</body> -</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/nav/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Abstraction around the reflection library, to support various reflection models (such as java.lang.reflect and Annotation Processing). + */ +package com.sun.xml.internal.bind.v2.model.nav;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/model/nav/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html><body> - - - Abstraction around the reflection library, to support various reflection models (such as java.lang.reflect and Annotation Processing). -</body></html>
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -242,6 +242,16 @@ private Set<XmlNs> xmlNsSet = null; /** + * If true, despite the specification, unmarshall child element with parent namespace, if child namespace is not specified. + * The default value is null for System {code}com.sun.xml.internal.bind.backupWithParentNamespace{code} property to be used, + * and false is assumed if it's not set either. + * + * Boolean + * @since 2.3.0 + */ + public Boolean backupWithParentNamespace = null; + + /** * Returns declared XmlNs annotations (from package-level annotation XmlSchema * * @return set of all present XmlNs annotations @@ -263,6 +273,7 @@ this.supressAccessorWarnings = builder.supressAccessorWarnings; this.improvedXsiTypeHandling = builder.improvedXsiTypeHandling; this.disableSecurityProcessing = builder.disableSecurityProcessing; + this.backupWithParentNamespace = builder.backupWithParentNamespace; Collection<TypeReference> typeRefs = builder.typeRefs; @@ -1024,6 +1035,7 @@ private boolean allNillable; private boolean improvedXsiTypeHandling = true; private boolean disableSecurityProcessing = true; + private Boolean backupWithParentNamespace = null; // null for System property to be used public JAXBContextBuilder() {}; @@ -1039,6 +1051,7 @@ this.xmlAccessorFactorySupport = baseImpl.xmlAccessorFactorySupport; this.allNillable = baseImpl.allNillable; this.disableSecurityProcessing = baseImpl.disableSecurityProcessing; + this.backupWithParentNamespace = baseImpl.backupWithParentNamespace; } public JAXBContextBuilder setRetainPropertyInfo(boolean val) { @@ -1101,6 +1114,11 @@ return this; } + public JAXBContextBuilder setBackupWithParentNamespace(Boolean backupWithParentNamespace) { + this.backupWithParentNamespace = backupWithParentNamespace; + return this; + } + public JAXBContextImpl build() throws JAXBException { // fool-proof
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Code that implements JAXBContext, Unmarshaller, and Marshaller. + */ +package com.sun.xml.internal.bind.v2.runtime;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html> - - -<body> -Code that implements JAXBContext, Unmarshaller, and Marshaller. -</body> -</html>
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,7 +39,7 @@ private static final Logger logger = Util.getClassLogger(); - protected static final boolean noOptimize = Runtime.version().major() >= 9 || + protected static final boolean noOptimize = Util.getSystemProperty(ClassTailor.class.getName()+".noOptimize")!=null; static {
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,6 +40,11 @@ import com.sun.xml.internal.bind.Util; import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor; +import java.lang.reflect.Field; +import java.security.CodeSource; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; +import java.security.ProtectionDomain; /** * A {@link ClassLoader} used to "inject" optimized accessor classes @@ -131,7 +136,7 @@ /** * Injected classes keyed by their names. */ - private final Map<String, Class> classes = new HashMap<String, Class>(); + private final Map<String, Class> classes = new HashMap<>(); private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); private final Lock r = rwl.readLock(); private final Lock w = rwl.writeLock(); @@ -141,26 +146,59 @@ * False otherwise, which happens if this classloader can't see {@link Accessor}. */ private final boolean loadable; - private static final Method defineClass; - private static final Method resolveClass; - private static final Method findLoadedClass; + private static Method defineClass; + private static Method resolveClass; + private static Method findLoadedClass; + private static Object U; static { - Method[] m = AccessController.doPrivileged( - new PrivilegedAction<Method[]>() { + try { + Method[] m = AccessController.doPrivileged( + new PrivilegedAction<Method[]>() { + @Override + public Method[] run() { + return new Method[]{ + getMethod(ClassLoader.class, "defineClass", String.class, byte[].class, Integer.TYPE, Integer.TYPE), + getMethod(ClassLoader.class, "resolveClass", Class.class), + getMethod(ClassLoader.class, "findLoadedClass", String.class) + }; + } + } + ); + defineClass = m[0]; + resolveClass = m[1]; + findLoadedClass = m[2]; + } catch (Throwable t) { + try { + U = AccessController.doPrivileged(new PrivilegedExceptionAction() { @Override - public Method[] run() { - return new Method[]{ - getMethod(ClassLoader.class, "defineClass", String.class, byte[].class, Integer.TYPE, Integer.TYPE), - getMethod(ClassLoader.class, "resolveClass", Class.class), - getMethod(ClassLoader.class, "findLoadedClass", String.class) - }; + public Object run() throws Exception { + Class u = Class.forName("sun.misc.Unsafe"); + Field theUnsafe = u.getDeclaredField("theUnsafe"); + theUnsafe.setAccessible(true); + return theUnsafe.get(null); } - } - ); - defineClass = m[0]; - resolveClass = m[1]; - findLoadedClass = m[2]; + }); + defineClass = AccessController.doPrivileged(new PrivilegedExceptionAction<Method>() { + @Override + public Method run() throws Exception { + try { + return U.getClass().getMethod("defineClass", + new Class[]{String.class, + byte[].class, + Integer.TYPE, + Integer.TYPE, + ClassLoader.class, + ProtectionDomain.class}); + } catch (NoSuchMethodException | SecurityException ex) { + throw ex; + } + } + }); + } catch (SecurityException | PrivilegedActionException ex) { + Logger.getLogger(Injector.class.getName()).log(Level.SEVERE, null, ex); + } + } } private static Method getMethod(final Class<?> c, final String methodname, final Class<?>... params) { @@ -210,13 +248,11 @@ rlocked = false; //find loaded class from classloader - if (c == null) { + if (c == null && findLoadedClass != null) { try { c = (Class) findLoadedClass.invoke(parent, className.replace('/', '.')); - } catch (IllegalArgumentException e) { - logger.log(Level.FINE, "Unable to find " + className, e); - } catch (IllegalAccessException e) { + } catch (IllegalArgumentException | IllegalAccessException e) { logger.log(Level.FINE, "Unable to find " + className, e); } catch (InvocationTargetException e) { Throwable t = e.getTargetException(); @@ -253,9 +289,13 @@ // we need to inject a class into the try { - c = (Class) defineClass.invoke(parent, className.replace('/', '.'), image, 0, image.length); - resolveClass.invoke(parent, c); - } catch (IllegalAccessException e) { + if (resolveClass != null) { + c = (Class) defineClass.invoke(parent, className.replace('/', '.'), image, 0, image.length); + resolveClass.invoke(parent, c); + } else { + c = (Class) defineClass.invoke(U, className.replace('/', '.'), image, 0, image.length, parent, Injector.class.getProtectionDomain()); + } + } catch (IllegalAccessException e) { logger.log(Level.FINE, "Unable to inject " + className, e); return null; } catch (InvocationTargetException e) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Hosts optimized + * {@link com.sun.xml.internal.bind.v2.runtime.reflect.Accessor}, + * {@link com.sun.xml.internal.bind.v2.runtime.reflect.TransducedAccessor}, and {@link com.sun.xml.internal.bind.v2.runtime.Transducer}. + * + * <h2>How it works</h2> + * <p> + * Most of the classes in this package are "templates." At run-time, A template class file is slightly modified to match + * the target Java Bean, then it will be loaded into the VM. + */ +package com.sun.xml.internal.bind.v2.runtime.reflect.opt;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html><body> - - -Hosts optimized -{@link com.sun.xml.internal.bind.v2.runtime.reflect.Accessor}, -{@link com.sun.xml.internal.bind.v2.runtime.reflect.TransducedAccessor}, and -{@link com.sun.xml.internal.bind.v2.runtime.Transducer}. - -<h2>How it works</h2> -<p> - Most of the classes in this package are "templates." At run-time, - A template class file is slightly modified to match the target Java Bean, - then it will be loaded into the VM. -</body></html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Abstraction around accessing data of actual objects. + */ +package com.sun.xml.internal.bind.v2.runtime.reflect;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html><body> - - - Abstraction around accessing data of actual objects. -</body></html>
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,7 +33,7 @@ import org.w3c.dom.Node; /** - * Object that returns the current location that the {@link com.sun.xml.internal.bind.v2.runtime.unmarshaller.XmlVisitor} + * Object that returns the current location that the {@code com.sun.xml.internal.bind.v2.runtime.unmarshaller.XmlVisitor} * is parsing. * * @author Kohsuke Kawaguchi @@ -41,6 +41,7 @@ public interface LocatorEx extends Locator { /** * Gets the current location in a {@link ValidationEventLocator} object. + * @return */ ValidationEventLocator getLocation();
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,9 @@ import javax.xml.namespace.QName; +import com.sun.xml.internal.bind.Util; import com.sun.xml.internal.bind.api.AccessorException; +import com.sun.xml.internal.bind.api.JAXBRIContext; import com.sun.xml.internal.bind.v2.WellKnownNamespace; import com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl; import com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl; @@ -231,11 +233,26 @@ @Override public void childElement(UnmarshallingContext.State state, TagName arg) throws SAXException { ChildLoader child = childUnmarshallers.get(arg.uri,arg.local); - if (child == null) { - child = catchAll; - if (child==null) { - super.childElement(state,arg); - return; + if(child == null) { + Boolean backupWithParentNamespace = ((JAXBContextImpl) state.getContext().getJAXBContext()).backupWithParentNamespace; + backupWithParentNamespace = backupWithParentNamespace != null + ? backupWithParentNamespace + : Boolean.parseBoolean(Util.getSystemProperty(JAXBRIContext.BACKUP_WITH_PARENT_NAMESPACE)); + if ((beanInfo != null) && (beanInfo.getTypeNames() != null) && backupWithParentNamespace) { + Iterator<?> typeNamesIt = beanInfo.getTypeNames().iterator(); + QName parentQName = null; + if ((typeNamesIt != null) && (typeNamesIt.hasNext()) && (catchAll == null)) { + parentQName = (QName) typeNamesIt.next(); + String parentUri = parentQName.getNamespaceURI(); + child = childUnmarshallers.get(parentUri, arg.local); + } + } + if (child == null) { + child = catchAll; + if(child==null) { + super.childElement(state,arg); + return; + } } }
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,5 +23,8 @@ * questions. */ +/** + * XML Schema writer generated by TXW. + */ @com.sun.xml.internal.txw2.annotation.XmlNamespace("http://www.w3.org/2001/XMLSchema") package com.sun.xml.internal.bind.v2.schemagen.xmlschema;
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html Thu Mar 09 21:35:17 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -<!-- - Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - This code is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License version 2 only, as - published by the Free Software Foundation. Oracle designates this - particular file as subject to the "Classpath" exception as provided - by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - or visit www.oracle.com if you need additional information or have any - questions. ---> - -<html> - - -<body> -XML Schema writer generated by TXW. -</body> -</html>
--- a/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/ContextFinder.java Thu Mar 09 21:35:17 2017 +0000 +++ b/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/ContextFinder.java Mon Mar 13 19:59:41 2017 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. *