Merge
diff --git a/.hgtags b/.hgtags
index 9fbf5c7..636d4aa 100644
--- a/.hgtags
+++ b/.hgtags
@@ -312,6 +312,7 @@
dfb9f24d56b51e5a2ca26e77fc69a2464d51a4d3 jdk8u20-b24
dfb9f24d56b51e5a2ca26e77fc69a2464d51a4d3 jdk8u20-b25
dd229c5f57bff4e75a70908294a13072b9a48385 jdk8u20-b26
+684a13a7d2ccc91d2ad709ecad1fddbcc992ee5a jdk8u20-b31
abca9f6f1a10e9f91b2538bbe7870f54f550d986 jdk8u25-b00
7d0627679c9fdeaaaa9fe15c7cc11af0763621ec jdk8u25-b01
b0277ec994b751ebb761814675352506cd56bcd6 jdk8u25-b02
diff --git a/test/javax/xml/bind/xjc/8029837/PreParseGrammarTest.java b/test/javax/xml/bind/xjc/8029837/PreParseGrammarTest.java
new file mode 100644
index 0000000..ae62650
--- /dev/null
+++ b/test/javax/xml/bind/xjc/8029837/PreParseGrammarTest.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029837
+ * @summary Test simulates the partial call to xjc ant task that fails with
+ * NullPointer exception
+ * @run main/othervm PreParseGrammarTest
+ */
+
+import com.sun.org.apache.xerces.internal.parsers.XMLGrammarPreparser;
+import com.sun.org.apache.xerces.internal.xni.XNIException;
+import com.sun.org.apache.xerces.internal.xni.grammars.Grammar;
+import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription;
+import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class PreParseGrammarTest {
+
+ public static void main(String[] args) throws FileNotFoundException, XNIException, IOException {
+ File xsdf = new File(System.getProperty("test.src", ".") + "/test.xsd");
+ InputStream is = new BufferedInputStream(new FileInputStream(xsdf));
+ XMLInputSource xis = new XMLInputSource(null, null, null, is, null);
+ XMLGrammarPreparser gp = new XMLGrammarPreparser();
+ gp.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
+ //The NullPointerException is observed on next call during ant task
+ // execution
+ Grammar res = gp.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, xis);
+ System.out.println("Grammar preparsed successfully:" + res);
+ return;
+ }
+}
diff --git a/test/javax/xml/bind/xjc/8029837/test.xsd b/test/javax/xml/bind/xjc/8029837/test.xsd
new file mode 100644
index 0000000..f7ee730
--- /dev/null
+++ b/test/javax/xml/bind/xjc/8029837/test.xsd
@@ -0,0 +1,4 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="root">
+ </xsd:element>
+</xsd:schema>