Mercurial > hg > icedtea8-forest > jaxws
changeset 654:9be5317def51 icedtea-3.0.0pre02
Merge jdk8u20-b23
author | andrew |
---|---|
date | Tue, 19 Aug 2014 23:56:59 +0100 |
parents | 1cd7680df99e (current diff) f3bf1b270fea (diff) |
children | 9937bdc8da9d |
files | .hgtags |
diffstat | 13 files changed, 190 insertions(+), 63 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Jun 02 18:51:25 2014 +0100 +++ b/.hgtags Tue Aug 19 23:56:59 2014 +0100 @@ -263,6 +263,7 @@ 384ccf4e14cb90c89570e16a5f4ca440a69d6d93 jdk8u5-b02 e423a4f2ec72ea0e24bea0fa77dd105095bbee67 jdk8u5-b03 738b966ee0b00d994445d34eb7eb087bd41a5478 jdk8u5-b04 +3960c6ef7bd1782d6357c510dab393d291164045 jdk8u11-b00 3960c6ef7bd1782d6357c510dab393d291164045 jdk8u5-b05 0543f4dddddc67b142b4706b2d403a654809e605 jdk8u5-b06 0eb7f9f88e93587ace50614385f85afd221f5cb1 jdk8u5-b07 @@ -272,6 +273,20 @@ 75fd3933daaf5826e7c03bfb318026ac8a4c07ef jdk8u5-b11 e2454d30b525bcb6ebcc711bd2928fbd29c11143 jdk8u5-b12 d2200a87d5ad6a9d06d9df144376ea5511b3916b jdk8u5-b13 +ad56fa1dc3d375a6e909d3e005939626ba44a4b5 jdk8u5-b31 +d2732c66f0f927d7f31dead4cce1a0612b9ff2a1 jdk8u11-b01 +152cc523baf1fdfe48514e3fe0d8e5a9b3c01ba4 jdk8u11-b02 +c2c073f04f0566c868fec49b96e5885ad69f065c jdk8u11-b03 +d1dbc7bc54291d447fce5655e0878b8689ad25b7 jdk8u11-b04 +9626907d2521220a0214129733088bad35656239 jdk8u11-b05 +6b71476418c1f6a085fb10460dcfedc5346e69af jdk8u11-b06 +c29ede8e947c365ce55174eba716050c48461576 jdk8u11-b07 +ca91f03660789a75710b4a081cd32aab00e80964 jdk8u11-b08 +6e994ba1e4610b367f292a41a0d2c77091f93ab6 jdk8u11-b09 +aa3f37b9fbdca195ac9430b8c301db7f33347241 jdk8u11-b10 +5d161297f3031a82d04953bf60721f31e7c18da1 jdk8u11-b11 +beaec77113928b64365d7ea9b564ee02d1625b89 jdk8u11-b12 +5ceaffbb168fb84168cd49da83c469fdfaec4ee8 jdk8u11-b31 ba061957b8bdb5f04e58154b27405fbf6fe3c71f jdk8u20-b02 337a3a4086235e926e1d684bf4d0b2add70d6f55 jdk8u20-b03 579caba2483ee3c9e32d87b31ab46e86f1aa9cd3 jdk8u20-b04 @@ -284,3 +299,16 @@ bc6d2f3426f3d04adc8245ad120e2b52fe7dfbde jdk8u20-b08 2e76ce4ec993c32368ef51b67873aa5ff06e1437 jdk8u20-b09 806fa0e68d922e3a5ff7c34317bf9f33dbc97eab icedtea-3.0.0pre01 +84f913145e2acb8474f3779d7ef154eebec9537a jdk8u20-b10 +ce4e5885a11012edaf76ce9a6115e23acabfd282 jdk8u20-b11 +94fbd96ebb83a3ce966c347082b079f9e4fec76a jdk8u20-b12 +9634e8ad55c9ab691325116aff765de00dfc8410 jdk8u20-b13 +796c274fbf5e71f1af1e9c3111518c057dcc95bd jdk8u20-b14 +8ef9f5f9b0c5f86f325c4aad3c6dc1ff9243ea43 jdk8u20-b15 +86741f3a4a381de18fbbfecd588660ca7a94c5ed jdk8u20-b16 +3ff7f413379f29e1937223902edf1fe2b90d7d60 jdk8u20-b17 +a3b85d6097c52cbff3e514ad6dc4f705fbaaa8bb jdk8u20-b18 +615fdd17d4e24af63fe63a0fe85cfda3645e6826 jdk8u20-b19 +4681b10c0c3197f591b88eadc481a283ae90d003 jdk8u20-b20 +31d43d250c836c13fcc87025837783788c5cd0de jdk8u20-b21 +2d360fb1b2b89c90133231f9ed5f823997b70c19 jdk8u20-b22
--- a/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java Tue Aug 19 23:56:59 2014 +0100 @@ -177,7 +177,8 @@ throw new AbortException(); } _parameters.add(p); - _parametersByName.put(p.getName(), p); + String name = p.getCustomName() != null ? p.getCustomName() : p.getName(); + _parametersByName.put(name, p); } public Parameter getParameterByName(String name) {
--- a/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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,6 +41,7 @@ import java.io.ByteArrayInputStream; import java.io.StringReader; import java.io.StringWriter; +import java.nio.charset.StandardCharsets; import java.text.MessageFormat; import java.util.*; @@ -107,7 +108,7 @@ } //add w3c EPR binding if(!(options.noAddressingBbinding) && options.target.isLaterThan(Options.Target.V2_1)){ - InputSource is = new InputSource(new ByteArrayInputStream(w3ceprSchemaBinding.getBytes())); + InputSource is = new InputSource(new ByteArrayInputStream(w3ceprSchemaBinding.getBytes(StandardCharsets.UTF_8))); is.setSystemId(sysId+(++i +1)); b.schemas.add(is); }
--- a/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -1791,9 +1791,9 @@ } if (part.isIN()) { - setCustomizedParameterName(info.portTypeOperation, inMsg, part, param, false); + setCustomizedParameterName(info.bindingOperation, inMsg, part, param, false); } else if (outMsg != null) { - setCustomizedParameterName(info.portTypeOperation, outMsg, part, param, false); + setCustomizedParameterName(info.bindingOperation, outMsg, part, param, false); } params.add(param);
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java Tue Aug 19 23:56:59 2014 +0100 @@ -576,7 +576,8 @@ mailMap.addMailcap("text/xml;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.XmlDataContentHandler"); mailMap.addMailcap("application/xml;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.XmlDataContentHandler"); mailMap.addMailcap("application/fastinfoset;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.FastInfosetDataContentHandler"); - mailMap.addMailcap("multipart/*;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.MultipartDataContentHandler"); + // this handler seems to be not used according VCS history ... + // mailMap.addMailcap("multipart/*;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.MultipartDataContentHandler"); mailMap.addMailcap("image/*;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.ImageDataContentHandler"); mailMap.addMailcap("text/plain;;x-java-content-handler=com.sun.xml.internal.messaging.saaj.soap.StringDataContentHandler"); }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -41,22 +43,32 @@ * * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java Mon Jun 02 18:51:25 2014 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java Tue Aug 19 23:56:59 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -41,22 +43,32 @@ * * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) {