| diff -ur srcs/javax/xml/bind/JAXB.java srcs-patched/javax/xml/bind/JAXB.java | |
| --- srcs/javax/xml/bind/JAXB.java 2018-09-12 06:26:24.000000000 +0200 | |
| +++ srcs-patched/javax/xml/bind/JAXB.java 2019-04-16 17:17:25.118768524 +0200 | |
| @@ -46,7 +46,6 @@ | |
| import javax.xml.transform.Source; | |
| import javax.xml.transform.stream.StreamResult; | |
| import javax.xml.transform.stream.StreamSource; | |
| -import java.beans.Introspector; | |
| import java.io.File; | |
| import java.io.IOException; | |
| import java.io.InputStream; | |
| @@ -593,7 +592,30 @@ | |
| } | |
| private static String inferName(Class clazz) { | |
| - return Introspector.decapitalize(clazz.getSimpleName()); | |
| + String name = clazz.getSimpleName(); | |
| + try { | |
| + if (!Character.isUpperCase(name.charAt(0))) { | |
| + return name; | |
| + } else { | |
| + try { | |
| + if(Character.isUpperCase(name.charAt(1))) { | |
| + return name; | |
| + } else { | |
| + char[] c = name.toCharArray(); | |
| + c[0] = Character.toLowerCase(c[0]); | |
| + return new String(c); | |
| + } | |
| + } catch(StringIndexOutOfBoundsException E) { | |
| + char[] c = new char[1]; | |
| + c[0] = Character.toLowerCase(name.charAt(0)); | |
| + return new String(c); | |
| + } | |
| + } | |
| + } catch(StringIndexOutOfBoundsException E) { | |
| + return name; | |
| + } catch(NullPointerException E) { | |
| + return null; | |
| + } | |
| } | |
| /** | |
| diff -ur srcs/module-info.java srcs-patched/module-info.java | |
| --- srcs/module-info.java 2018-09-12 06:26:24.000000000 +0200 | |
| +++ srcs-patched/module-info.java 2019-04-16 17:17:16.038792433 +0200 | |
| @@ -42,7 +42,6 @@ | |
| requires transitive java.activation; | |
| requires transitive java.xml; | |
| requires java.logging; | |
| - requires java.desktop; | |
| exports javax.xml.bind; | |
| exports javax.xml.bind.annotation; |