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