You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/10/07 23:35:25 UTC

svn commit: r1882308 [1/2] - in /xmlbeans/trunk/src/main/java/org/apache/xmlbeans: ./ impl/common/ impl/schema/ impl/soap/ impl/store/ impl/tool/

Author: kiwiwings
Date: Wed Oct  7 23:35:25 2020
New Revision: 1882308

URL: http://svn.apache.org/viewvc?rev=1882308&view=rev
Log:
spotbugs and forbidden apis fixes
raw container -> use generics

Modified:
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptions.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/NameUtil.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/QNameHelper.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SystemCache.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/XBLogFactory.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SoapEncSchemaTypeSystem.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscJavaizer.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/soap/FactoryFinder.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XsbDumper.java

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java Wed Oct  7 23:35:25 2020
@@ -17,6 +17,7 @@ package org.apache.xmlbeans;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
@@ -712,7 +713,7 @@ public final class GDate implements GDat
         if (_fs == null) {
             return 0;
         }
-        return _fs.setScale(3, BigDecimal.ROUND_DOWN).unscaledValue().intValue();
+        return _fs.setScale(3, RoundingMode.DOWN).unscaledValue().intValue();
     }
 
     /**

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptions.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptions.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptions.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptions.java Wed Oct  7 23:35:25 2020
@@ -1408,7 +1408,7 @@ public class XmlOptions implements java.
     }
 
     private XmlOptions set(XmlOptionsKeys option, int value) {
-        return set(option, new Integer(value));
+        return set(option, (Integer)value);
     }
 
     private XmlOptions set(XmlOptionsKeys option, boolean value) {

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java Wed Oct  7 23:35:25 2020
@@ -15,27 +15,24 @@
 
 package org.apache.xmlbeans.impl.common;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.util.concurrent.TimeUnit;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.events.Namespace;
-
 import org.apache.xmlbeans.XmlOptionsBean;
 import org.w3c.dom.Document;
-import org.w3c.dom.Element;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
 
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Method;
+import java.util.concurrent.TimeUnit;
+
 public final class DocumentHelper {
-    private static XBLogger logger = XBLogFactory.getLogger(DocumentHelper.class);
+    private static final XBLogger logger = XBLogFactory.getLogger(DocumentHelper.class);
     private static long lastLog;
 
     private DocumentHelper() {}
@@ -58,7 +55,7 @@ public final class DocumentHelper {
         /** Prints the error message. */
         private void printError(int type, SAXParseException ex) {
             StringBuilder sb = new StringBuilder();
-            
+
             String systemId = ex.getSystemId();
             if (systemId != null) {
                 int index = systemId.lastIndexOf('/');
@@ -76,7 +73,7 @@ public final class DocumentHelper {
             logger.log(type, sb.toString(), ex);
         }
     }
-    
+
     /**
      * Creates a new document builder, with sensible defaults
      *
@@ -115,7 +112,7 @@ public final class DocumentHelper {
             logger.log(XBLogger.WARN, "Cannot set SAX feature because outdated XML parser in classpath", feature, ame);
         }
     }
-    
+
     private static void trySetXercesSecurityManager(DocumentBuilderFactory dbf, XmlOptionsBean options) {
         // Try built-in JVM one first, standalone if not
         for (String securityManagerClassName : new String[]{
@@ -123,7 +120,7 @@ public final class DocumentHelper {
                 "org.apache.xerces.util.SecurityManager"
         }) {
             try {
-                Object mgr = Class.forName(securityManagerClassName).newInstance();
+                Object mgr = Class.forName(securityManagerClassName).getDeclaredConstructor().newInstance();
                 Method setLimit = mgr.getClass().getMethod("setEntityExpansionLimit", Integer.TYPE);
                 setLimit.invoke(mgr, options.getEntityExpansionLimit());
                 dbf.setAttribute(XMLBeansConstants.SECURITY_MANAGER, mgr);
@@ -154,7 +151,7 @@ public final class DocumentHelper {
      * Parses the given stream via the default (sensible)
      * DocumentBuilder
      * @param inp Stream to read the XML data from
-     * @return the parsed Document 
+     * @return the parsed Document
      */
     public static Document readDocument(XmlOptionsBean xmlOptions, InputStream inp) throws IOException, SAXException {
         return newDocumentBuilder(xmlOptions).parse(inp);
@@ -164,7 +161,7 @@ public final class DocumentHelper {
      * Parses the given stream via the default (sensible)
      * DocumentBuilder
      * @param inp sax source to read the XML data from
-     * @return the parsed Document 
+     * @return the parsed Document
      */
     public static Document readDocument(XmlOptionsBean xmlOptions, InputSource inp) throws IOException, SAXException {
         return newDocumentBuilder(xmlOptions).parse(inp);

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/NameUtil.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/NameUtil.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/NameUtil.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/NameUtil.java Wed Oct  7 23:35:25 2020
@@ -29,76 +29,67 @@ public class NameUtil {
     public final static char AYAH = '\u06DD';
     public final static char ELHIZB = '\u06DE';
 
-    private final static boolean DEBUG = false;
-
-    private final static Set javaWords = new HashSet(Arrays.asList(
-        new String[]
-            {
-                "assert",
-                "abstract",
-                "boolean",
-                "break",
-                "byte",
-                "case",
-                "catch",
-                "char",
-                "class",
-                "const",
-                "continue",
-                "default",
-                "do",
-                "double",
-                "else",
-                "enum", // since JDK1.5
-                "extends",
-                "false", // not a keyword
-                "final",
-                "finally",
-                "float",
-                "for",
-                "goto",
-                "if",
-                "implements",
-                "import",
-                "instanceof",
-                "int",
-                "interface",
-                "long",
-                "native",
-                "new",
-                "null", // not a keyword
-                "package",
-                "private",
-                "protected",
-                "public",
-                "return",
-                "short",
-                "static",
-                "strictfp",
-                "super",
-                "switch",
-                "synchronized",
-                "this",
-                "threadsafe",
-                "throw",
-                "throws",
-                "transient",
-                "true", // not a keyword
-                "try",
-                "void",
-                "volatile",
-                "while",
-            }
-    ));
-
-    private final static Set extraWords = new HashSet(Arrays.asList(
-        new String[]
-            {
-                "i",          // used for indexes
-                "target",     // used for parameter
-                "org",        // used for package names
-                "com",        // used for package names
-            }
+    private final static Set<String> javaWords = new HashSet<>(Arrays.asList(
+        "assert",
+        "abstract",
+        "boolean",
+        "break",
+        "byte",
+        "case",
+        "catch",
+        "char",
+        "class",
+        "const",
+        "continue",
+        "default",
+        "do",
+        "double",
+        "else",
+        "enum", // since JDK1.5
+        "extends",
+        "false", // not a keyword
+        "final",
+        "finally",
+        "float",
+        "for",
+        "goto",
+        "if",
+        "implements",
+        "import",
+        "instanceof",
+        "int",
+        "interface",
+        "long",
+        "native",
+        "new",
+        "null", // not a keyword
+        "package",
+        "private",
+        "protected",
+        "public",
+        "return",
+        "short",
+        "static",
+        "strictfp",
+        "super",
+        "switch",
+        "synchronized",
+        "this",
+        "threadsafe",
+        "throw",
+        "throws",
+        "transient",
+        "true", // not a keyword
+        "try",
+        "void",
+        "volatile",
+        "while"));
+
+    private final static Set<String> extraWords = new HashSet<>(Arrays.asList(
+        "i",          // used for indexes
+        "target",     // used for parameter
+        "org",        // used for package names
+        "com"        // used for package names
     ));
 
     /*
@@ -192,111 +183,107 @@ public class NameUtil {
     ));
     */
 
-    private final static Set javaNames = new HashSet(Arrays.asList(
-        new String[]
-            {
-                // 1. all the Java.lang classes [1.4.1 JDK].
-                "CharSequence",
-                "Cloneable",
-                "Comparable",
-                "Runnable",
-
-                "Boolean",
-                "Byte",
-                "Character",
-                "Class",
-                "ClassLoader",
-                "Compiler",
-                "Double",
-                "Float",
-                "InheritableThreadLocal",
-                "Integer",
-                "Long",
-                "Math",
-                "Number",
-                "Object",
-                "Package",
-                "Process",
-                "Runtime",
-                "RuntimePermission",
-                "SecurityManager",
-                "Short",
-                "StackTraceElement",
-                "StrictMath",
-                "String",
-                "StringBuffer",
-                "System",
-                "Thread",
-                "ThreadGroup",
-                "ThreadLocal",
-                "Throwable",
-                "Void",
-
-                "ArithmeticException",
-                "ArrayIndexOutOfBoundsException",
-                "ArrayStoreException",
-                "ClassCastException",
-                "ClassNotFoundException",
-                "CloneNotSupportedException",
-                "Exception",
-                "IllegalAccessException",
-                "IllegalArgumentException",
-                "IllegalMonitorStateException",
-                "IllegalStateException",
-                "IllegalThreadStateException",
-                "IndexOutOfBoundsException",
-                "InstantiationException",
-                "InterruptedException",
-                "NegativeArraySizeException",
-                "NoSuchFieldException",
-                "NoSuchMethodException",
-                "NullPointerException",
-                "NumberFormatException",
-                "RuntimeException",
-                "SecurityException",
-                "StringIndexOutOfBoundsException",
-                "UnsupportedOperationException",
-
-                "AbstractMethodError",
-                "AssertionError",
-                "ClassCircularityError",
-                "ClassFormatError",
-                "Error",
-                "ExceptionInInitializerError",
-                "IllegalAccessError",
-                "IncompatibleClassChangeError",
-                "InstantiationError",
-                "InternalError",
-                "LinkageError",
-                "NoClassDefFoundError",
-                "NoSuchFieldError",
-                "NoSuchMethodError",
-                "OutOfMemoryError",
-                "StackOverflowError",
-                "ThreadDeath",
-                "UnknownError",
-                "UnsatisfiedLinkError",
-                "UnsupportedClassVersionError",
-                "VerifyError",
-                "VirtualMachineError",
-
-                // 2. other classes used as primitive types by xml beans
-                "BigInteger",
-                "BigDecimal",
-                "Enum",
-                "Date",
-                "GDate",
-                "GDuration",
-                "QName",
-                "List",
-
-                // 3. the top few org.apache.xmlbeans names
-                "XmlObject",
-                "XmlCursor",
-                "XmlBeans",
-                "SchemaType",
-            }
-    ));
+    private final static Set<String> javaNames = new HashSet<>(Arrays.asList(
+        // 1. all the Java.lang classes [1.4.1 JDK].
+        "CharSequence",
+        "Cloneable",
+        "Comparable",
+        "Runnable",
+
+        "Boolean",
+        "Byte",
+        "Character",
+        "Class",
+        "ClassLoader",
+        "Compiler",
+        "Double",
+        "Float",
+        "InheritableThreadLocal",
+        "Integer",
+        "Long",
+        "Math",
+        "Number",
+        "Object",
+        "Package",
+        "Process",
+        "Runtime",
+        "RuntimePermission",
+        "SecurityManager",
+        "Short",
+        "StackTraceElement",
+        "StrictMath",
+        "String",
+        "StringBuffer",
+        "System",
+        "Thread",
+        "ThreadGroup",
+        "ThreadLocal",
+        "Throwable",
+        "Void",
+
+        "ArithmeticException",
+        "ArrayIndexOutOfBoundsException",
+        "ArrayStoreException",
+        "ClassCastException",
+        "ClassNotFoundException",
+        "CloneNotSupportedException",
+        "Exception",
+        "IllegalAccessException",
+        "IllegalArgumentException",
+        "IllegalMonitorStateException",
+        "IllegalStateException",
+        "IllegalThreadStateException",
+        "IndexOutOfBoundsException",
+        "InstantiationException",
+        "InterruptedException",
+        "NegativeArraySizeException",
+        "NoSuchFieldException",
+        "NoSuchMethodException",
+        "NullPointerException",
+        "NumberFormatException",
+        "RuntimeException",
+        "SecurityException",
+        "StringIndexOutOfBoundsException",
+        "UnsupportedOperationException",
+
+        "AbstractMethodError",
+        "AssertionError",
+        "ClassCircularityError",
+        "ClassFormatError",
+        "Error",
+        "ExceptionInInitializerError",
+        "IllegalAccessError",
+        "IncompatibleClassChangeError",
+        "InstantiationError",
+        "InternalError",
+        "LinkageError",
+        "NoClassDefFoundError",
+        "NoSuchFieldError",
+        "NoSuchMethodError",
+        "OutOfMemoryError",
+        "StackOverflowError",
+        "ThreadDeath",
+        "UnknownError",
+        "UnsatisfiedLinkError",
+        "UnsupportedClassVersionError",
+        "VerifyError",
+        "VirtualMachineError",
+
+        // 2. other classes used as primitive types by xml beans
+        "BigInteger",
+        "BigDecimal",
+        "Enum",
+        "Date",
+        "GDate",
+        "GDuration",
+        "QName",
+        "List",
+
+        // 3. the top few org.apache.xmlbeans names
+        "XmlObject",
+        "XmlCursor",
+        "XmlBeans",
+        "SchemaType"));
 
     public static boolean isValidJavaIdentifier(String id) {
         if (id == null) {
@@ -333,9 +320,8 @@ public class NameUtil {
         String java_type = upperCamelCase(qname.getLocalPart(), useJaxRpcRules);
 
         String uri = qname.getNamespaceURI();
-        String java_pkg = null;
 
-        java_pkg = getPackageFromNamespace(uri, useJaxRpcRules);
+        String java_pkg = getPackageFromNamespace(uri, useJaxRpcRules);
 
         if (java_pkg != null) {
             return java_pkg + "." + java_type;
@@ -345,10 +331,9 @@ public class NameUtil {
     }
 
     private static final String JAVA_NS_PREFIX = "java:";
-    private static final String LANG_PREFIX = "java.";
 
-    public static String getNamespaceFromPackage(final Class clazz) {
-        Class curr_clazz = clazz;
+    public static String getNamespaceFromPackage(final Class<?> clazz) {
+        Class<?> curr_clazz = clazz;
 
         while (curr_clazz.isArray()) {
             curr_clazz = curr_clazz.getComponentType();
@@ -433,11 +418,11 @@ public class NameUtil {
         return buf.toString();
     }
 
-    private static List splitDNS(String dns) {
+    private static List<String> splitDNS(String dns) {
         // JAXB says: only split+reverse DNS if TLD matches known TLDs or ISO 3166
         // We are ignoring this now (TH)
 
-        List result = new ArrayList();
+        List<String> result = new ArrayList<>();
 
         int end = dns.length();
         int begin = dns.lastIndexOf('.');
@@ -451,7 +436,7 @@ public class NameUtil {
 
         // JAXB draft example implies removal of www
         if (result.size() >= 3 &&
-            ((String) result.get(result.size() - 1)).toLowerCase().equals("www")) {
+            result.get(result.size() - 1).toLowerCase(Locale.ROOT).equals("www")) {
             result.remove(result.size() - 1);
         }
 
@@ -465,7 +450,7 @@ public class NameUtil {
         if (i > 0 && (
             i + 1 + 2 == filename.length() ||
             i + 1 + 3 == filename.length() ||
-            "html".equals(filename.substring(i + 1).toLowerCase()))) {
+            "html".equals(filename.substring(i + 1).toLowerCase(Locale.ROOT)))) {
             return filename.substring(0, i);
         }
 
@@ -485,16 +470,16 @@ public class NameUtil {
         // apply draft JAXB rules
         int len = uri.length();
         int i = findSchemeColon(uri);
-        List result = null;
+        List<String> result;
 
         if (i == len - 1) {
             // XMLBEANS-57: colon is at end so just use scheme as the package name
-            result = new ArrayList();
+            result = new ArrayList<>();
             result.add(uri.substring(0, i));
         } else if (i >= 0 && uri.substring(0, i).equals("java")) {
             result = Arrays.asList(uri.substring(i + 1).split("\\."));
         } else {
-            result = new ArrayList();
+            result = new ArrayList<>();
             outer:
             for (i = i + 1; i < len; ) {
                 while (uri.charAt(i) == '/') {
@@ -512,19 +497,19 @@ public class NameUtil {
                 result.add(uri.substring(start, end));
             }
             if (result.size() > 1) {
-                result.set(result.size() - 1, processFilename((String) result.get(result.size() - 1)));
+                result.set(result.size() - 1, processFilename(result.get(result.size() - 1)));
             }
 
             if (result.size() > 0) {
-                List splitdns = splitDNS((String) result.get(0));
+                List<String> splitdns = splitDNS(result.get(0));
                 result.remove(0);
                 result.addAll(0, splitdns);
             }
         }
 
         StringBuilder buf = new StringBuilder();
-        for (Iterator it = result.iterator(); it.hasNext(); ) {
-            String part = nonJavaKeyword(lowerCamelCase((String) it.next(), useJaxRpcRules, true));
+        for (String s : result) {
+            String part = nonJavaKeyword(lowerCamelCase(s, useJaxRpcRules, true));
             if (part.length() > 0) {
                 buf.append(part);
                 buf.append('.');
@@ -534,14 +519,14 @@ public class NameUtil {
             return "noNamespace";
         }
         if (useJaxRpcRules) {
-            return buf.substring(0, buf.length() - 1).toLowerCase();
+            return buf.substring(0, buf.length() - 1).toLowerCase(Locale.ROOT);
         }
         return buf.substring(0, buf.length() - 1); // chop off extra dot
     }
 
     public static void main(String[] args) {
-        for (int i = 0; i < args.length; i++) {
-            System.out.println(upperCaseUnderbar(args[i]));
+        for (String arg : args) {
+            System.out.println(upperCaseUnderbar(arg));
         }
     }
 
@@ -553,20 +538,20 @@ public class NameUtil {
      */
     public static String upperCaseUnderbar(String xml_name) {
         StringBuilder buf = new StringBuilder();
-        List words = splitWords(xml_name, false);
+        List<String> words = splitWords(xml_name, false);
 
         final int sz = words.size() - 1;
-        if (sz >= 0 && !Character.isJavaIdentifierStart(((String) words.get(0)).charAt(0))) {
+        if (sz >= 0 && !Character.isJavaIdentifierStart(words.get(0).charAt(0))) {
             buf.append("X_");
         }
 
         for (int i = 0; i < sz; i++) {
-            buf.append((String) words.get(i));
+            buf.append(words.get(i));
             buf.append(USCORE);
         }
 
         if (sz >= 0) {
-            buf.append((String) words.get(sz));
+            buf.append(words.get(sz));
         }
 
         //upcase entire buffer
@@ -595,16 +580,15 @@ public class NameUtil {
      */
     public static String upperCamelCase(String xml_name, boolean useJaxRpcRules) {
         StringBuilder buf = new StringBuilder();
-        List words = splitWords(xml_name, useJaxRpcRules);
+        List<String> words = splitWords(xml_name, useJaxRpcRules);
 
         if (words.size() > 0) {
-            if (!Character.isJavaIdentifierStart(((String) words.get(0)).charAt(0))) {
+            if (!Character.isJavaIdentifierStart(words.get(0).charAt(0))) {
                 buf.append("X");
             }
 
-            Iterator itr = words.iterator();
-            while (itr.hasNext()) {
-                buf.append((String) itr.next());
+            for (String word : words) {
+                buf.append(word);
             }
         }
         return buf.toString();
@@ -629,20 +613,20 @@ public class NameUtil {
     public static String lowerCamelCase(String xml_name, boolean useJaxRpcRules,
                                         boolean fixGeneratedName) {
         StringBuilder buf = new StringBuilder();
-        List words = splitWords(xml_name, useJaxRpcRules);
+        List<String> words = splitWords(xml_name, useJaxRpcRules);
 
         if (words.size() > 0) {
-            String first = ((String) words.get(0)).toLowerCase();
+            String first = words.get(0).toLowerCase(Locale.ROOT);
             char f = first.charAt(0);
             if (!Character.isJavaIdentifierStart(f) && fixGeneratedName) {
                 buf.append("x");
             }
             buf.append(first);
 
-            Iterator itr = words.iterator();
+            Iterator<String> itr = words.iterator();
             itr.next(); // skip already-lowercased word
             while (itr.hasNext()) {
-                buf.append((String) itr.next());
+                buf.append(itr.next());
             }
         }
         return buf.toString();
@@ -665,14 +649,14 @@ public class NameUtil {
      * <p>
      * ncname is xml ncname (i.e. no colons).
      */
-    private static void addCapped(List list, String str) {
+    private static void addCapped(List<String> list, String str) {
         if (str.length() > 0) {
             list.add(upperCaseFirstLetter(str));
         }
     }
 
-    public static List splitWords(String name, boolean useJaxRpcRules) {
-        List list = new ArrayList();
+    public static List<String> splitWords(String name, boolean useJaxRpcRules) {
+        List<String> list = new ArrayList<>();
         int len = name.length();
         int start = 0;
         int prefix = START;
@@ -764,10 +748,7 @@ public class NameUtil {
      * prepends the letter "x".
      */
     public static String nonExtraKeyword(String word) {
-        if (isExtraReservedWord(word, true)) {
-            return word + "Value";
-        }
-        return word;
+        return isExtraReservedWord(word) ? word + "Value" : word;
     }
 
     /**
@@ -783,21 +764,11 @@ public class NameUtil {
     }
 
     private static boolean isJavaReservedWord(String word) {
-        return isJavaReservedWord(word, true);
+        return javaWords.contains(word.toLowerCase(Locale.ROOT));
     }
 
-    private static boolean isJavaReservedWord(String word, boolean ignore_case) {
-        if (ignore_case) {
-            word = word.toLowerCase();
-        }
-        return javaWords.contains(word);
-    }
-
-    private static boolean isExtraReservedWord(String word, boolean ignore_case) {
-        if (ignore_case) {
-            word = word.toLowerCase();
-        }
-        return extraWords.contains(word);
+    private static boolean isExtraReservedWord(String word) {
+        return extraWords.contains(word.toLowerCase(Locale.ROOT));
     }
 
     public static boolean isJavaCommonClassName(String word) {

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/QNameHelper.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/QNameHelper.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/QNameHelper.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/QNameHelper.java Wed Oct  7 23:35:25 2020
@@ -15,18 +15,18 @@
 
 package org.apache.xmlbeans.impl.common;
 
-import javax.xml.namespace.QName;
+import org.apache.xmlbeans.SchemaField;
+import org.apache.xmlbeans.SchemaType;
 import org.apache.xmlbeans.xml.stream.XMLName;
 
+import javax.xml.namespace.QName;
+import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-import java.util.HashMap;
 import java.util.Collections;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaField;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
 
 public class QNameHelper
 {
@@ -36,10 +36,10 @@ public class QNameHelper
     {
         if (qname == null)
             return null;
-        
+
         return XMLNameHelper.forLNS( qname.getLocalPart(), qname.getNamespaceURI() );
     }
-    
+
     public static QName forLNS(String localname, String uri)
     {
         if (uri == null)
@@ -67,7 +67,7 @@ public class QNameHelper
 
         if (name.getNamespaceURI() == null || name.getNamespaceURI().length() == 0)
             return name.getLocalPart();
-        
+
         return name.getLocalPart() + "@" + name.getNamespaceURI();
     }
 
@@ -102,7 +102,7 @@ public class QNameHelper
     //
     // The reason for the "shortening" is to avoid filenames longer than about
     // 256 characters, which are prohibited on Windows NT.
-   
+
     public static final int MAX_NAME_LENGTH = 64;
     public static final String URI_SHA1_PREFIX = "URI_SHA_1_";
 
@@ -136,11 +136,11 @@ public class QNameHelper
                 }
             }
         }
-        
+
         // short enough? Done!
         if (result.length() <= MAX_NAME_LENGTH)
             return result.toString();
-        
+
         // too long? use SHA1
         try
         {
@@ -201,25 +201,25 @@ public class QNameHelper
         {
             return readable(sType.getName(), nsPrefix);
         }
-        
+
         if (sType.isAttributeType())
         {
             return "attribute type " + readable(sType.getAttributeTypeAttributeName(), nsPrefix);
         }
-        
+
         if (sType.isDocumentType())
         {
             return "document type " + readable(sType.getDocumentElementName(), nsPrefix);
         }
-        
+
         if (sType.isNoType() || sType.getOuterType() == null)
         {
             return "invalid type";
         }
-        
+
         SchemaType outerType = sType.getOuterType();
         SchemaField container = sType.getContainerField();
-        
+
         if (outerType.isAttributeType())
         {
             return "type of attribute " + readable(container.getName(), nsPrefix);
@@ -228,7 +228,7 @@ public class QNameHelper
         {
             return "type of element " + readable(container.getName(), nsPrefix);
         }
-            
+
         if (container != null)
         {
             if (container.isAttribute())
@@ -240,7 +240,7 @@ public class QNameHelper
                 return "type of " + container.getName().getLocalPart() + " element in " + readable(outerType, nsPrefix);
             }
         }
-        
+
         if (outerType.getBaseType() == sType)
             return "base type of " + readable(outerType, nsPrefix);
         else if (outerType.getSimpleVariety() == SchemaType.LIST)
@@ -248,9 +248,9 @@ public class QNameHelper
         else if (outerType.getSimpleVariety() == SchemaType.UNION)
             return "member type " + sType.getAnonymousUnionMemberOrdinal() + " of " + readable(outerType, nsPrefix);
         else
-            return "inner type in " + readable(outerType, nsPrefix); 
+            return "inner type in " + readable(outerType, nsPrefix);
     }
-    
+
     public static String readable(QName name)
     {
         return readable(name, WELL_KNOWN_PREFIXES);
@@ -265,13 +265,13 @@ public class QNameHelper
             return prefix + ":" + name.getLocalPart();
         return name.getLocalPart() + " in namespace " + name.getNamespaceURI();
     }
-    
+
     public static String suggestPrefix(String namespace)
     {
         String result = (String)WELL_KNOWN_PREFIXES.get(namespace);
         if (result != null)
             return result;
-        
+
         int len = namespace.length();
         int i = namespace.lastIndexOf('/');
         if (i > 0 && i == namespace.length() - 1)
@@ -279,21 +279,21 @@ public class QNameHelper
             len = i;
             i = namespace.lastIndexOf('/', i - 1);
         }
-        
+
         i += 1; // skip '/', also covers -1 case.
-        
+
         if (namespace.startsWith("www.", i))
         {
             i += 4; // "www.".length()
         }
-        
+
         while (i < len)
         {
             if (XMLChar.isNCNameStart(namespace.charAt(i)))
                 break;
             i += 1;
         }
-        
+
         for (int end = i + 1; end < len; end += 1)
         {
             if (!XMLChar.isNCName(namespace.charAt(end)) || !Character.isLetterOrDigit(namespace.charAt(end)))
@@ -302,7 +302,7 @@ public class QNameHelper
                 break;
             }
         }
-        
+
         // prefixes starting with "xml" are forbidden, so change "xmls" -> "xs"
         if (namespace.length() >= i + 3 && startsWithXml(namespace, i))
         {
@@ -310,7 +310,7 @@ public class QNameHelper
                 return "x" + Character.toLowerCase(namespace.charAt(i + 3));
             return "ns";
         }
-        
+
         if (len - i > 4) // four or less? leave it.
         {
             if (isVowel(namespace.charAt(i + 2)) && !isVowel(namespace.charAt(i + 3)))
@@ -318,28 +318,28 @@ public class QNameHelper
             else
                 len = i + 3; // more than four? truncate to 3.
         }
-        
+
         if (len - i == 0)
             return "ns";
-        
-        return namespace.substring(i, len).toLowerCase();
+
+        return namespace.substring(i, len).toLowerCase(Locale.ROOT);
     }
-    
+
     private static boolean startsWithXml(String s, int i)
     {
         if (s.length() < i + 3)
             return false;
-        
+
         if (s.charAt(i) != 'X' && s.charAt(i) != 'x')
             return false;
         if (s.charAt(i + 1) != 'M' && s.charAt(i + 1) != 'm')
             return false;
         if (s.charAt(i + 2) != 'L' && s.charAt(i + 2) != 'l')
             return false;
-        
+
         return true;
     }
-    
+
     private static boolean isVowel(char ch)
     {
         switch (ch)
@@ -359,7 +359,7 @@ public class QNameHelper
                 return false;
         }
     }
-    
+
     public static String namespace(SchemaType sType)
     {
         while (sType != null)

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java Wed Oct  7 23:35:25 2020
@@ -100,7 +100,7 @@ public final class SAXHelper {
             "org.apache.xerces.util.SecurityManager"
         }) {
             try {
-                Object mgr = Class.forName(securityManagerClassName).newInstance();
+                Object mgr = Class.forName(securityManagerClassName).getDeclaredConstructor().newInstance();
                 Method setLimit = mgr.getClass().getMethod("setEntityExpansionLimit", Integer.TYPE);
                 setLimit.invoke(mgr, options.getEntityExpansionLimit());
                 xmlReader.setProperty(XMLBeansConstants.SECURITY_MANAGER, mgr);

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SystemCache.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SystemCache.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SystemCache.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SystemCache.java Wed Oct  7 23:35:25 2020
@@ -14,12 +14,12 @@
  */
 package org.apache.xmlbeans.impl.common;
 
-import java.lang.ref.SoftReference;
-import java.util.ArrayList;
-
 import org.apache.xmlbeans.SchemaTypeLoader;
 import org.apache.xmlbeans.SystemProperties;
 
+import java.lang.ref.SoftReference;
+import java.lang.reflect.InvocationTargetException;
+
 /**
  * This class encapsulates the caching strategy for XmlBeans.
  * By subclassing this, a client of XmlBeans can implement caches that are
@@ -28,88 +28,70 @@ import org.apache.xmlbeans.SystemPropert
  * <p/>
  * This class works as a singleton and as a default implementation for the cache.
  * You can set a particular implementation using the "xmlbean.systemcacheimpl"
- * system property or using the static {@link set} method.
+ * system property or using the static {@link #set(SystemCache)} method.
  * Subclasses of this need to be thread-safe. An implementation can be replaced
  * at any time, so use of static variables is discouraged to ensure proper cleanup.
  */
-public class SystemCache
-{
+public class SystemCache {
     private static SystemCache INSTANCE = new SystemCache();
 
-    static
-    {
+    static {
         String cacheClass = SystemProperties.getProperty("xmlbean.systemcacheimpl");
         Object impl = null;
-        if (cacheClass != null)
-        {
-            try
-            {
-                impl = Class.forName(cacheClass).newInstance();
-                if (!(impl instanceof SystemCache))
-                throw new ClassCastException("Value for system property " +
-                    "\"xmlbean.systemcacheimpl\" points to a class (" + cacheClass +
-                    ") which does not derive from SystemCache");
-            }
-            catch (ClassNotFoundException cnfe)
-            {
+        if (cacheClass != null) {
+            try {
+                impl = Class.forName(cacheClass).getDeclaredConstructor().newInstance();
+                if (!(impl instanceof SystemCache)) {
+                    throw new ClassCastException("Value for system property " +
+                                                 "\"xmlbean.systemcacheimpl\" points to a class (" + cacheClass +
+                                                 ") which does not derive from SystemCache");
+                }
+            } catch (ClassNotFoundException cnfe) {
                 throw new RuntimeException("Cache class " + cacheClass +
-                    " specified by \"xmlbean.systemcacheimpl\" was not found.",
+                                           " specified by \"xmlbean.systemcacheimpl\" was not found.",
                     cnfe);
-            }
-            catch (InstantiationException ie)
-            {
+            } catch (InstantiationException | NoSuchMethodException | InvocationTargetException ie) {
                 throw new RuntimeException("Could not instantiate class " +
-                    cacheClass + " as specified by \"xmlbean.systemcacheimpl\"." +
-                    " An empty constructor may be missing.", ie);
-            }
-            catch (IllegalAccessException iae)
-            {
+                                           cacheClass + " as specified by \"xmlbean.systemcacheimpl\"." +
+                                           " An empty constructor may be missing.", ie);
+            } catch (IllegalAccessException iae) {
                 throw new RuntimeException("Could not instantiate class " +
-                    cacheClass + " as specified by \"xmlbean.systemcacheimpl\"." +
-                    " A public empty constructor may be missing.", iae);
+                                           cacheClass + " as specified by \"xmlbean.systemcacheimpl\"." +
+                                           " A public empty constructor may be missing.", iae);
             }
         }
-        if (impl != null)
+        if (impl != null) {
             INSTANCE = (SystemCache) impl;
+        }
     }
 
-    public static synchronized final void set(SystemCache instance)
-    {
+    public static synchronized void set(SystemCache instance) {
         INSTANCE = instance;
     }
 
-    public static final SystemCache get()
-    {
+    public static SystemCache get() {
         return INSTANCE;
     }
 
-    public SchemaTypeLoader getFromTypeLoaderCache(ClassLoader cl)
-    {
+    public SchemaTypeLoader getFromTypeLoaderCache(ClassLoader cl) {
         return null;
     }
 
-    public void addToTypeLoaderCache(SchemaTypeLoader stl, ClassLoader cl)
-    {
-        return;
+    public void addToTypeLoaderCache(SchemaTypeLoader stl, ClassLoader cl) {
     }
 
-    private ThreadLocal tl_saxLoaders = new ThreadLocal();
+    private ThreadLocal<SoftReference> tl_saxLoaders = new ThreadLocal<>();
 
     public void clearThreadLocals() {
         tl_saxLoaders.remove();
     }
 
-    public Object getSaxLoader()
-    {
-        SoftReference s = (SoftReference) tl_saxLoaders.get();
-        if (s == null)
-            return null;
-        else
-            return s.get();
+    public Object getSaxLoader() {
+        SoftReference s = tl_saxLoaders.get();
+        return s == null ? null : s.get();
     }
 
-    public void setSaxLoader(Object saxLoader)
-    {
+    public void setSaxLoader(Object saxLoader) {
         tl_saxLoaders.set(new SoftReference(saxLoader));
     }
 }

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/XBLogFactory.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/XBLogFactory.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/XBLogFactory.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/XBLogFactory.java Wed Oct  7 23:35:25 2020
@@ -101,7 +101,7 @@ public final class XBLogFactory {
                 @SuppressWarnings("unchecked")
                 Class<? extends XBLogger> loggerClass =
                     (Class<? extends XBLogger>) Class.forName(_loggerClassName);
-                logger = loggerClass.newInstance();
+                logger = loggerClass.getDeclaredConstructor().newInstance();
                 logger.initialize(cat);
             } catch(Exception e) {
                 // Give up and use the null logger

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java Wed Oct  7 23:35:25 2020
@@ -233,9 +233,9 @@ public final class SchemaTypeCodePrinter
     private String getUserTypeStaticHandlerMethod(boolean encode, SchemaTypeImpl stype) {
         String unqualifiedName = stype.getName().getLocalPart();
         if (unqualifiedName.length() < 2) {
-            unqualifiedName = unqualifiedName.toUpperCase();
+            unqualifiedName = unqualifiedName.toUpperCase(Locale.ROOT);
         } else {
-            unqualifiedName = unqualifiedName.substring(0, 1).toUpperCase() + unqualifiedName.substring(1);
+            unqualifiedName = unqualifiedName.substring(0, 1).toUpperCase(Locale.ROOT) + unqualifiedName.substring(1);
         }
 
         if (encode) {
@@ -1513,7 +1513,7 @@ public final class SchemaTypeCodePrinter
             final QName name = prop.getName();
             results.put(name, identifiers);
             final String javaName = prop.getJavaPropertyName();
-            identifiers[0] = (javaName + "$" + (i * 2)).toUpperCase();
+            identifiers[0] = (javaName + "$" + (i * 2)).toUpperCase(Locale.ROOT);
             final String uriString = "\"" + name.getNamespaceURI() + "\"";
 
             emit("private static final javax.xml.namespace.QName " + identifiers[0] +
@@ -1527,7 +1527,7 @@ public final class SchemaTypeCodePrinter
                 final QName[] qnames = properties[i].acceptedNames();
 
                 if (qnames.length > 1) {
-                    identifiers[1] = (javaName + "$" + (i * 2 + 1)).toUpperCase();
+                    identifiers[1] = (javaName + "$" + (i * 2 + 1)).toUpperCase(Locale.ROOT);
 
                     emit("private static final org.apache.xmlbeans.QNameSet " + identifiers[1] +
                          " = org.apache.xmlbeans.QNameSet.forArray( new javax.xml.namespace.QName[] { ");

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java Wed Oct  7 23:35:25 2020
@@ -17,10 +17,12 @@ package org.apache.xmlbeans.impl.schema;
 
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.common.QNameHelper;
+import org.apache.xmlbeans.impl.common.XBeanDebug;
 import org.apache.xmlbeans.impl.values.*;
 
 import javax.xml.namespace.QName;
 import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigInteger;
 import java.util.*;
 
@@ -1903,30 +1905,13 @@ public final class SchemaTypeImpl implem
 
     private XmlObject createUnattachedSubclass(SchemaType sType) {
         if (!isBuiltinType() && !isNoType()) {
-            // System.out.println("Attempting to load impl class: " + getFullJavaImplName());
             Constructor<? extends XmlObjectBase> ctr = getJavaImplConstructor2();
-            if (ctr != null) {
-                boolean accessible = ctr.isAccessible();
-                try {
-                    ctr.setAccessible(true);
-                    try {
-                        return ctr.newInstance(sType, !sType.isSimpleType());
-                    } catch (Exception e) {
-                        System.out.println("Exception trying to instantiate impl class.");
-                        e.printStackTrace();
-                    } finally {
-                        // Make a best-effort try to set the accessibility back to what it was
-                        try {
-                            ctr.setAccessible(accessible);
-                        } catch (SecurityException ignored) {
-                        }
-                    }
-                } catch (Exception e) {
-                    System.out.println("Exception trying to instantiate impl class.");
-                    e.printStackTrace();
-                }
+            try {
+                return (ctr == null) ? null : ctr.newInstance(sType, !sType.isSimpleType());
+            } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
+                XBeanDebug.logException(e);
+                return null;
             }
-            return null;
         } else {
             return createBuiltinSubclass(sType);
         }

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java Wed Oct  7 23:35:25 2020
@@ -883,7 +883,8 @@ public class SchemaTypeSystemImpl extend
         }
 
         private String addUniqueHandle(SchemaComponent obj, String base) {
-            base = base.toLowerCase();  // we lowercase handles because of case-insensitive Windows filenames!!!
+            // we lowercase handles because of case-insensitive Windows filenames!!!
+            base = base.toLowerCase(Locale.ROOT);
             String handle = base;
             for (int index = 2; _handlesToRefs.containsKey(handle); index++) {
                 handle = base + index;
@@ -1016,7 +1017,7 @@ public class SchemaTypeSystemImpl extend
                 }
 
                 String baseName;
-                String uniq = Integer.toHexString(type.toString().hashCode() | 0x80000000).substring(4).toUpperCase();
+                String uniq = Integer.toHexString(type.toString().hashCode() | 0x80000000).substring(4).toUpperCase(Locale.ROOT);
                 if (name == null) {
                     baseName = "Anon" + uniq + "Type";
                 } else {

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SoapEncSchemaTypeSystem.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SoapEncSchemaTypeSystem.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SoapEncSchemaTypeSystem.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SoapEncSchemaTypeSystem.java Wed Oct  7 23:35:25 2020
@@ -15,39 +15,16 @@
 
 package org.apache.xmlbeans.impl.schema;
 
-import java.io.InputStream;
+import org.apache.xmlbeans.*;
+
+import javax.xml.namespace.QName;
 import java.io.File;
+import java.io.InputStream;
 import java.math.BigInteger;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Collections;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaAnnotation;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.Filer;
+import java.util.*;
 
 public class SoapEncSchemaTypeSystem extends SchemaTypeLoaderBase
-    implements SchemaTypeSystem
-{
+    implements SchemaTypeSystem {
     public static final String SOAPENC = "http://schemas.xmlsoap.org/soap/encoding/";
     public static final String SOAP_ARRAY = "Array";
     public static final String ARRAY_TYPE = "arrayType";
@@ -62,25 +39,25 @@ public class SoapEncSchemaTypeSystem ext
     private static final SchemaAnnotation[] EMPTY_SCHEMAANNOTATION_ARRAY = new SchemaAnnotation[0];
 
     // The global builtin type system
-    public static SchemaTypeSystem get()
-    {   return _global; }
+    public static SchemaTypeSystem get() {
+        return _global;
+    }
 
-    private static SoapEncSchemaTypeSystem _global = new SoapEncSchemaTypeSystem();
+    private static final SoapEncSchemaTypeSystem _global = new SoapEncSchemaTypeSystem();
 
-    private SchemaTypeImpl soapArray;
-    private SchemaGlobalAttributeImpl arrayType;
-    private Map _handlesToObjects = new HashMap();
-    private String soapArrayHandle;
-    private SchemaContainer _container = new SchemaContainer(SOAPENC);
+    private final SchemaTypeImpl soapArray;
+    private final SchemaGlobalAttributeImpl arrayType;
+    private final Map<String, SchemaComponent> _handlesToObjects = new HashMap<>();
+    private final String soapArrayHandle;
 
-    private SoapEncSchemaTypeSystem()
-    {
+    private SoapEncSchemaTypeSystem() {
         // soapenc:Array
+        SchemaContainer _container = new SchemaContainer(SOAPENC);
         _container.setTypeSystem(this);
         soapArray = new SchemaTypeImpl(_container, true);
         _container.addGlobalType(soapArray.getRef());
         soapArray.setName(new QName(SOAPENC, SOAP_ARRAY));
-        soapArrayHandle = SOAP_ARRAY.toLowerCase() + "type";
+        soapArrayHandle = SOAP_ARRAY.toLowerCase(Locale.ROOT) + "type";
         soapArray.setComplexTypeVariety(SchemaType.ELEMENT_CONTENT);
         soapArray.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_TYPE.getRef());
         soapArray.setBaseDepth(1);
@@ -104,10 +81,9 @@ public class SoapEncSchemaTypeSystem ext
 
         SchemaAttributeModelImpl attrModel = new SchemaAttributeModelImpl();
         attrModel.setWildcardProcess(SchemaAttributeModel.LAX);
-        HashSet excludedURI = new HashSet();
+        HashSet<String> excludedURI = new HashSet<>();
         excludedURI.add(SOAPENC);
-        attrModel.setWildcardSet(QNameSet.forSets(excludedURI, null, Collections.EMPTY_SET,
-                Collections.EMPTY_SET));
+        attrModel.setWildcardSet(QNameSet.forSets(excludedURI, null, Collections.emptySet(), Collections.emptySet()));
         SchemaLocalAttributeImpl attr = new SchemaLocalAttributeImpl();
         attr.init(new QName("", ATTR_ID), BuiltinSchemaTypeSystem.ST_ID.getRef(),
             SchemaLocalAttribute.OPTIONAL, null, null, null, false, null, null, null);
@@ -124,7 +100,7 @@ public class SoapEncSchemaTypeSystem ext
         attr.init(new QName(SOAPENC, ATTR_OFFSET), BuiltinSchemaTypeSystem.ST_STRING.getRef(),
             SchemaLocalAttributeImpl.OPTIONAL, null, null, null, false, null, null, null);
         attrModel.addAttribute(attr);
-        soapArray.setContentModel(contentModel, attrModel, Collections.EMPTY_MAP, Collections.EMPTY_MAP, false);
+        soapArray.setContentModel(contentModel, attrModel, Collections.emptyMap(), Collections.emptyMap(), false);
 
         // soapenc:arrayType
         arrayType = new SchemaGlobalAttributeImpl(_container);
@@ -132,202 +108,172 @@ public class SoapEncSchemaTypeSystem ext
         arrayType.init(new QName(SOAPENC, ARRAY_TYPE), BuiltinSchemaTypeSystem.ST_STRING.getRef(),
             SchemaLocalAttributeImpl.OPTIONAL, null, null, null, false, null, null, null);
         _handlesToObjects.put(soapArrayHandle, soapArray);
-        _handlesToObjects.put(ARRAY_TYPE.toLowerCase() + "attribute", arrayType);
+        _handlesToObjects.put(ARRAY_TYPE.toLowerCase(Locale.ROOT) + "attribute", arrayType);
         _container.setImmutable();
     }
 
     /**
      * Returns the name of this loader.
      */
-    public String getName()
-    {
+    public String getName() {
         return "schema.typesystem.soapenc.builtin";
     }
 
-    public SchemaType findType(QName qName)
-    {
+    public SchemaType findType(QName qName) {
         if (SOAPENC.equals(qName.getNamespaceURI()) &&
-            SOAP_ARRAY.equals(qName.getLocalPart()))
+            SOAP_ARRAY.equals(qName.getLocalPart())) {
             return soapArray;
-        else
+        } else {
             return null;
+        }
     }
 
-    public SchemaType findDocumentType(QName qName)
-    {
+    public SchemaType findDocumentType(QName qName) {
         return null;
     }
 
-    public SchemaType findAttributeType(QName qName)
-    {
+    public SchemaType findAttributeType(QName qName) {
         return null;
     }
 
-    public SchemaGlobalElement findElement(QName qName)
-    {
+    public SchemaGlobalElement findElement(QName qName) {
         return null;
     }
 
-    public SchemaGlobalAttribute findAttribute(QName qName)
-    {
+    public SchemaGlobalAttribute findAttribute(QName qName) {
         if (SOAPENC.equals(qName.getNamespaceURI()) &&
-            ARRAY_TYPE.equals(qName.getLocalPart()))
+            ARRAY_TYPE.equals(qName.getLocalPart())) {
             return arrayType;
-        else
+        } else {
             return null;
+        }
     }
 
-    public SchemaModelGroup findModelGroup(QName qName)
-    {
+    public SchemaModelGroup findModelGroup(QName qName) {
         return null;
     }
 
-    public SchemaAttributeGroup findAttributeGroup(QName qName)
-    {
+    public SchemaAttributeGroup findAttributeGroup(QName qName) {
         return null;
     }
 
-    public boolean isNamespaceDefined(String string)
-    {
+    public boolean isNamespaceDefined(String string) {
         return SOAPENC.equals(string);
     }
 
-    public SchemaType.Ref findTypeRef(QName qName)
-    {
+    public SchemaType.Ref findTypeRef(QName qName) {
         SchemaType type = findType(qName);
         return (type == null ? null : type.getRef());
     }
 
-    public SchemaType.Ref findDocumentTypeRef(QName qName)
-    {
+    public SchemaType.Ref findDocumentTypeRef(QName qName) {
         return null;
     }
 
-    public SchemaType.Ref findAttributeTypeRef(QName qName)
-    {
+    public SchemaType.Ref findAttributeTypeRef(QName qName) {
         return null;
     }
 
-    public SchemaGlobalElement.Ref findElementRef(QName qName)
-    {
+    public SchemaGlobalElement.Ref findElementRef(QName qName) {
         return null;
     }
 
-    public SchemaGlobalAttribute.Ref findAttributeRef(QName qName)
-    {
+    public SchemaGlobalAttribute.Ref findAttributeRef(QName qName) {
         SchemaGlobalAttribute attr = findAttribute(qName);
         return (attr == null ? null : attr.getRef());
     }
 
-    public SchemaModelGroup.Ref findModelGroupRef(QName qName)
-    {
+    public SchemaModelGroup.Ref findModelGroupRef(QName qName) {
         return null;
     }
 
-    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName qName)
-    {
+    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName qName) {
         return null;
     }
 
-    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName qName)
-    {
+    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName qName) {
         return null;
     }
 
-    public SchemaType typeForClassname(String string)
-    {
+    public SchemaType typeForClassname(String string) {
         return null;
     }
 
-    public InputStream getSourceAsStream(String string)
-    {
+    public InputStream getSourceAsStream(String string) {
         return null;            // no source
     }
 
     /**
      * Returns the classloader used by this loader for resolving types.
      */
-    public ClassLoader getClassLoader()
-    {
+    public ClassLoader getClassLoader() {
         return SoapEncSchemaTypeSystem.class.getClassLoader();
     }
 
     /**
      * Describe <code>resolve</code> method here.
-     *
      */
-    public void resolve()
-    {
-                                // don't need to do anything; already resolved
+    public void resolve() {
+        // don't need to do anything; already resolved
     }
 
     /**
      * @return an array consisting of a single type
      */
-    public SchemaType[] globalTypes()
-    {
-        return new SchemaType[] {soapArray};
+    public SchemaType[] globalTypes() {
+        return new SchemaType[]{soapArray};
     }
 
-    public SchemaType[] documentTypes()
-    {
+    public SchemaType[] documentTypes() {
         return EMPTY_SCHEMATYPE_ARRAY;
     }
 
-    public SchemaType[] attributeTypes()
-    {
+    public SchemaType[] attributeTypes() {
         return EMPTY_SCHEMATYPE_ARRAY;
     }
 
-    public SchemaGlobalElement[] globalElements()
-    {
+    public SchemaGlobalElement[] globalElements() {
         return EMPTY_SCHEMAELEMENT_ARRAY;
     }
 
-    public SchemaGlobalAttribute[] globalAttributes()
-    {
-        return new SchemaGlobalAttribute[] {arrayType};
+    public SchemaGlobalAttribute[] globalAttributes() {
+        return new SchemaGlobalAttribute[]{arrayType};
     }
 
-    public SchemaModelGroup[] modelGroups()
-    {
+    public SchemaModelGroup[] modelGroups() {
         return EMPTY_SCHEMAMODELGROUP_ARRAY;
     }
 
-    public SchemaAttributeGroup[] attributeGroups()
-    {
+    public SchemaAttributeGroup[] attributeGroups() {
         return EMPTY_SCHEMAATTRIBUTEGROUP_ARRAY;
     }
 
-    public SchemaAnnotation[] annotations()
-    {
+    public SchemaAnnotation[] annotations() {
         return EMPTY_SCHEMAANNOTATION_ARRAY;
     }
 
     /**
      * Returns the handle for the given type within this loader.
      */
-    public String handleForType(SchemaType type)
-    {
-        if (soapArray.equals(type))
+    public String handleForType(SchemaType type) {
+        if (soapArray.equals(type)) {
             return soapArrayHandle;
-        else
+        } else {
             return null;
+        }
     }
 
     /**
-     * 
+     *
      */
-    public SchemaComponent resolveHandle(String string)
-    {
-        return (SchemaComponent) _handlesToObjects.get(string);
+    public SchemaComponent resolveHandle(String string) {
+        return _handlesToObjects.get(string);
     }
 
     /**
      *
      */
-    public SchemaType typeForHandle(String string)
-    {
+    public SchemaType typeForHandle(String string) {
         return (SchemaType) _handlesToObjects.get(string);
     }
 
@@ -336,13 +282,11 @@ public class SoapEncSchemaTypeSystem ext
      *
      * @param file a <code>File</code> value
      */
-    public void saveToDirectory(File file)
-    {
+    public void saveToDirectory(File file) {
         throw new UnsupportedOperationException("The builtin soap encoding schema type system cannot be saved.");
     }
 
-    public void save(Filer filer)
-    {
+    public void save(Filer filer) {
         throw new UnsupportedOperationException("The builtin soap encoding schema type system cannot be saved.");
     }
 }

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java Wed Oct  7 23:35:25 2020
@@ -1384,7 +1384,7 @@ public class StscComplexTypeResolver {
     }
 
     private static <T> BinaryOperator<T> throwingMerger() {
-        return (u,v) -> { throw new IllegalStateException(String.format("Duplicate key %s", u)); };
+        return (u,v) -> { throw new IllegalStateException("Duplicate key "+u.toString()); };
     }
 
     static Map<QName, SchemaProperty> buildAttributePropertyModelByQName(SchemaAttributeModel attrModel, SchemaType owner) {

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscJavaizer.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscJavaizer.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscJavaizer.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscJavaizer.java Wed Oct  7 23:35:25 2020
@@ -98,12 +98,12 @@ public class StscJavaizer {
 
         InterfaceExtension[] exts = config.getInterfaceExtensions();
         for (InterfaceExtension ext : exts) {
-            if (usedNames.contains(ext.getInterface().toLowerCase())) {
+            if (usedNames.contains(ext.getInterface().toLowerCase(Locale.ROOT))) {
                 state.error("InterfaceExtension interface '" + ext.getInterface() + "' creates a name collision with one of the generated interfaces or classes.", XmlError.SEVERITY_ERROR, null);
             }
 
             String handler = ext.getStaticHandler();
-            if (handler != null && usedNames.contains(handler.toLowerCase())) {
+            if (handler != null && usedNames.contains(handler.toLowerCase(Locale.ROOT))) {
                 state.error("InterfaceExtension handler class '" + handler + "' creates a name collision with one of the generated interfaces or classes.", XmlError.SEVERITY_ERROR, null);
             }
         }
@@ -111,7 +111,7 @@ public class StscJavaizer {
         PrePostExtension[] prepost = config.getPrePostExtensions();
         for (PrePostExtension prePostExtension : prepost) {
             String handler = prePostExtension.getStaticHandler();
-            if (handler != null && usedNames.contains(handler.toLowerCase())) {
+            if (handler != null && usedNames.contains(handler.toLowerCase(Locale.ROOT))) {
                 state.error("PrePostExtension handler class '" + handler + "' creates a name collision with one of the generated interfaces or classes.", XmlError.SEVERITY_ERROR, null);
             }
         }
@@ -732,12 +732,12 @@ public class StscJavaizer {
         } else {
             uniqName = base;
         }
-        while (usedNames.contains(uniqName.toLowerCase()) || uniqName.equals(outermostPkg)) {
+        while (usedNames.contains(uniqName.toLowerCase(Locale.ROOT)) || uniqName.equals(outermostPkg)) {
             index++;
             uniqName = base + index;
         }
 
-        usedNames.add(uniqName.toLowerCase());
+        usedNames.add(uniqName.toLowerCase(Locale.ROOT));
 
         return uniqName;
     }
@@ -773,12 +773,12 @@ public class StscJavaizer {
 
         index = 1;
         String uniqName = base;
-        while (usedNames.contains(uniqName.toLowerCase())) {
+        while (usedNames.contains(uniqName.toLowerCase(Locale.ROOT))) {
             index++;
             uniqName = base + index;
         }
 
-        usedNames.add(uniqName.toLowerCase());
+        usedNames.add(uniqName.toLowerCase(Locale.ROOT));
 
         return uniqName;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org