From e0d639878346946d0627a57b0eeb0cac8ca533fc Mon Sep 17 00:00:00 2001 From: Brent Christian Date: Fri, 6 Dec 2024 21:18:35 +0000 Subject: [PATCH] 8344575: Examine usage of ReflectUtil.forName() in java.sql.rowset - XmlReaderContentHandler Reviewed-by: lancea, mchung, alanb, liach --- src/java.base/share/classes/module-info.java | 3 +-- .../classes/sun/reflect/misc/ReflectUtil.java | 4 ---- .../rowset/internal/XmlReaderContentHandler.java | 15 +++++++-------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java index 3c293770003f9..7486fdd825ce5 100644 --- a/src/java.base/share/classes/module-info.java +++ b/src/java.base/share/classes/module-info.java @@ -315,8 +315,7 @@ java.desktop; exports sun.reflect.misc to java.desktop, - java.management, - java.sql.rowset; + java.management; exports sun.security.internal.interfaces to jdk.crypto.cryptoki; exports sun.security.internal.spec to diff --git a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java index 812e77a0a82d0..92c55f6653292 100644 --- a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java +++ b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java @@ -32,10 +32,6 @@ public final class ReflectUtil { private ReflectUtil() { } - public static Class forName(String name) throws ClassNotFoundException { - return Class.forName(name); - } - /** * Ensures that access to a method or field is granted and throws * IllegalAccessException if not. This method is not suitable for checking diff --git a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java index e5f25f8a1680b..73bb39eba985b 100644 --- a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java +++ b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2024, 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 @@ -659,13 +659,12 @@ public void endElement(String uri, String lName, String qName) throws SAXExcepti case PropClassTag: //Added the handling for Class tags to take care of maps //Makes an entry into the map upon end of class tag - try{ - typeMap.put(Key_map,sun.reflect.misc.ReflectUtil.forName(Value_map)); - - }catch(ClassNotFoundException ex) { - throw new SAXException(MessageFormat.format(resBundle.handleGetObject("xmlrch.errmap").toString(), ex.getMessage())); - } - break; + try { + typeMap.put(Key_map, Class.forName(Value_map, true, null)); + } catch (ClassNotFoundException ex) { + throw new SAXException(MessageFormat.format(resBundle.handleGetObject("xmlrch.errmap").toString(), ex.getMessage())); + } + break; case MapTag: //Added the handling for Map to take set the typeMap