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 2021/02/21 21:34:01 UTC

svn commit: r1886771 [7/8] - in /xmlbeans/trunk: ./ src/main/java/org/apache/xmlbeans/ src/main/java/org/apache/xmlbeans/impl/schema/ src/main/java/org/apache/xmlbeans/impl/tool/ src/main/java/org/apache/xmlbeans/impl/values/ src/main/multimodule/java9...

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java Sun Feb 21 21:34:00 2021
@@ -380,9 +380,14 @@ public class SchemaTypeSystemCompiler {
 
             String fjn = type.getFullJavaName();
 
+            SchemaCodePrinter printer = (options == null) ? null : options.getSchemaCodePrinter();
+            if (printer == null) {
+                printer = new SchemaTypeCodePrinter();
+            }
+
             try (Writer writer = filer.createSourceFile(fjn)) {
                 // Generate interface class
-                SchemaTypeCodePrinter.printType(writer, type, options);
+                printer.printType(writer, type, options);
             } catch (IOException e) {
                 System.err.println("IO Error " + e);
                 success = false;
@@ -392,7 +397,7 @@ public class SchemaTypeSystemCompiler {
 
             try (Writer writer = filer.createSourceFile(fjn)) {
                 // Generate Implementation class
-                SchemaTypeCodePrinter.printTypeImpl(writer, type, options);
+                printer.printTypeImpl(writer, type, options);
             } catch (IOException e) {
                 System.err.println("IO Error " + e);
                 success = false;

Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SimpleTypeFactory.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SimpleTypeFactory.java?rev=1886771&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SimpleTypeFactory.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SimpleTypeFactory.java Sun Feb 21 21:34:00 2021
@@ -0,0 +1,29 @@
+/*   Copyright 2017, 2018 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.schema;
+
+import org.apache.xmlbeans.SchemaTypeSystem;
+
+@SuppressWarnings("unchecked")
+public class SimpleTypeFactory<T> extends ElementFactory<T> {
+    public SimpleTypeFactory(SchemaTypeSystem typeSystem, String typeHandle) {
+        super(typeSystem, typeHandle);
+    }
+
+    public T newValue(java.lang.Object obj) {
+        return (T) getType().newValue(obj);
+    }
+}

Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/XmlObjectFactory.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/XmlObjectFactory.java?rev=1886771&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/XmlObjectFactory.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/XmlObjectFactory.java Sun Feb 21 21:34:00 2021
@@ -0,0 +1,332 @@
+/*   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.schema;
+
+import org.apache.xmlbeans.*;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Node;
+
+import javax.xml.stream.XMLStreamReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+
+/**
+ * Factory class for creating new instances.  Note that if
+ * a type can be inferred from the XML being loaded (for example,
+ * by recognizing the document element QName), then the instance
+ * returned by a factory will have the inferred type.  Otherwise
+ * the Factory will returned an untyped document.
+ */
+@SuppressWarnings("unchecked")
+public class XmlObjectFactory<T> extends DocumentFactory<T> {
+    // anytype needs to be handled different while parsing - opposed to specific instances
+    private final boolean isAnyType;
+
+    public XmlObjectFactory(String typeHandle) {
+        this(XmlBeans.getBuiltinTypeSystem(), typeHandle);
+    }
+
+    /**
+     * This constructor is only used as a workaround for bootstrapping the XML schemas - don't use it!
+     */
+    public XmlObjectFactory(SchemaTypeSystem typeSystem, String typeHandle) {
+        super(typeSystem, typeHandle);
+        isAnyType = "_BI_anyType".equals(typeHandle);
+    }
+
+    /**
+     * Creates a new, completely empty instance.
+     */
+    @Override
+    public T newInstance() {
+        return (T)XmlBeans.getContextTypeLoader().newInstance(getInnerType(), null);
+    }
+
+    /**
+     * <p>Creates a new, completely empty instance, specifying options
+     * for the root element's document type and/or whether to validate
+     * value facets as they are set.</p>
+     * <p>
+     * Use the <em>options</em> parameter to specify the following:</p>
+     *
+     * <table>
+     * <tr><th>To specify this</th><th>Use this method</th></tr>
+     * <tr>
+     *  <td>The document type for the root element.</td>
+     *  <td>{@link XmlOptions#setDocumentType}</td>
+     * </tr>
+     * <tr>
+     *  <td>Whether value facets should be checked as they are set.</td>
+     *  <td>{@link XmlOptions#setValidateOnSet}</td>
+     * </tr>
+     * </table>
+     *
+     * @param options Options specifying root document type and/or value facet
+     *                checking.
+     * @return A new, empty instance of XmlObject.</li>
+     */
+    @Override
+    public T newInstance(XmlOptions options) {
+        return (T)XmlBeans.getContextTypeLoader().newInstance(getInnerType(), options);
+    }
+
+    /**
+     * Creates an immutable {@link XmlObject} value
+     */
+    public T newValue(Object obj) {
+        return (T)getType().newValue(obj);
+    }
+
+    /**
+     * Parses the given {@link String} as XML.
+     */
+    @Override
+    public T parse(String xmlAsString) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(xmlAsString, getInnerType(), null);
+    }
+
+    /**
+     * Parses the given {@link String} as XML.
+     * <p>
+     * Use the <em>options</em> parameter to specify the following:</p>
+     *
+     * <table>
+     * <tr><th>To specify this</th><th>Use this method</th></tr>
+     * <tr>
+     *  <td>The document type for the root element.</td>
+     *  <td>{@link XmlOptions#setDocumentType}</td>
+     * </tr>
+     * <tr>
+     *  <td>To place line number annotations in the store when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadLineNumbers}</td>
+     * </tr>
+     * <tr>
+     *  <td>To replace the document element with the specified QName when parsing.</td>
+     *  <td>{@link XmlOptions#setLoadReplaceDocumentElement}</td>
+     * </tr>
+     * <tr>
+     *  <td>To strip all insignificant whitespace when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripWhitespace}</td>
+     * </tr>
+     * <tr>
+     *  <td>To strip all comments when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripComments}</td>
+     * </tr>
+     * <tr>
+     *  <td>To strip all processing instructions when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripProcinsts}</td>
+     * </tr>
+     * <tr>
+     *  <td>A map of namespace URI substitutions to use when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadSubstituteNamespaces}</td>
+     * </tr>
+     * <tr>
+     *  <td>Additional namespace mappings to be added when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadAdditionalNamespaces}</td>
+     * </tr>
+     * <tr>
+     *  <td>To trim the underlying XML text buffer immediately after parsing
+     *  a document, resulting in a smaller memory footprint.</td>
+     *  <td>{@link XmlOptions#setLoadTrimTextBuffer}</td>
+     * </tr>
+     * </table>
+     *
+     * @param xmlAsString The string to parse.
+     * @param options     Options as specified.
+     * @return A new instance containing the specified XML.
+     */
+    @Override
+    public T parse(String xmlAsString, XmlOptions options) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(xmlAsString, getInnerType(), options);
+    }
+
+    /**
+     * Parses the given {@link File} as XML.
+     */
+    @Override
+    public T parse(File file) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(file, getInnerType(), null);
+    }
+
+    /**
+     * Parses the given {@link File} as XML.
+     */
+    @Override
+    public T parse(File file, XmlOptions options) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(file, getInnerType(), options);
+    }
+
+    /**
+     * Downloads the given {@link java.net.URL} as XML.
+     */
+    @Override
+    public T parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(u, getInnerType(), null);
+    }
+
+    /**
+     * Downloads the given {@link java.net.URL} as XML.
+     */
+    @Override
+    public T parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(u, getInnerType(), options);
+    }
+
+    /**
+     * Decodes and parses the given {@link InputStream} as XML.
+     */
+    @Override
+    public T parse(InputStream is) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(is, getInnerType(), null);
+    }
+
+    /**
+     * Decodes and parses the given {@link XMLStreamReader} as XML.
+     */
+    @Override
+    public T parse(XMLStreamReader xsr) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(xsr, getInnerType(), null);
+    }
+
+    /**
+     * Decodes and parses the given {@link InputStream} as XML.
+     * <p>
+     * Use the <em>options</em> parameter to specify the following:</p>
+     *
+     * <table>
+     * <tr><th>To specify this</th><th>Use this method</th></tr>
+     * <tr>
+     *  <td>The character encoding to use when parsing or writing a document.</td>
+     *  <td>{@link XmlOptions#setCharacterEncoding}</td>
+     * </tr>
+     * <tr>
+     *  <td>The document type for the root element.</td>
+     *  <td>{@link XmlOptions#setDocumentType}</td>
+     * </tr>
+     * <tr>
+     *  <td>Place line number annotations in the store when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadLineNumbers}</td>
+     * </tr>
+     * <tr>
+     *  <td>Replace the document element with the specified QName when parsing.</td>
+     *  <td>{@link XmlOptions#setLoadReplaceDocumentElement}</td>
+     * </tr>
+     * <tr>
+     *  <td>Strip all insignificant whitespace when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripWhitespace}</td>
+     * </tr>
+     * <tr>
+     *  <td>Strip all comments when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripComments}</td>
+     * </tr>
+     * <tr>
+     *  <td>Strip all processing instructions when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadStripProcinsts}</td>
+     * </tr>
+     * <tr>
+     *  <td>Set a map of namespace URI substitutions to use when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadSubstituteNamespaces}</td>
+     * </tr>
+     * <tr>
+     *  <td>Set additional namespace mappings to be added when parsing a document.</td>
+     *  <td>{@link XmlOptions#setLoadAdditionalNamespaces}</td>
+     * </tr>
+     * <tr>
+     *  <td>Trim the underlying XML text buffer immediately after parsing
+     *  a document, resulting in a smaller memory footprint.</td>
+     *  <td>{@link XmlOptions#setLoadTrimTextBuffer}</td>
+     * </tr>
+     * </table>
+     */
+    @Override
+    public T parse(InputStream is, XmlOptions options) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(is, getInnerType(), options);
+    }
+
+    /**
+     * Parses the given {@link XMLStreamReader} as XML.
+     */
+    @Override
+    public T parse(XMLStreamReader xsr, XmlOptions options) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(xsr, getInnerType(), options);
+    }
+
+    /**
+     * Parses the given {@link Reader} as XML.
+     */
+    @Override
+    public T parse(Reader r) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(r, getInnerType(), null);
+    }
+
+    /**
+     * Parses the given {@link Reader} as XML.
+     */
+    @Override
+    public T parse(Reader r, XmlOptions options) throws XmlException, IOException {
+        return (T)XmlBeans.getContextTypeLoader().parse(r, getInnerType(), options);
+    }
+
+    /**
+     * Converts the given DOM {@link Node} into an XmlObject.
+     */
+    @Override
+    public T parse(Node node) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(node, getInnerType(), null);
+    }
+
+    /**
+     * Converts the given DOM {@link Node} into an XmlObject.
+     */
+    @Override
+    public T parse(Node node, XmlOptions options) throws XmlException {
+        return (T)XmlBeans.getContextTypeLoader().parse(node, getInnerType(), options);
+    }
+
+    /**
+     * Returns an {@link XmlSaxHandler} that can load an XmlObject from SAX events.
+     */
+    public XmlSaxHandler newXmlSaxHandler() {
+        return XmlBeans.getContextTypeLoader().newXmlSaxHandler(getInnerType(), null);
+    }
+
+    /**
+     * Returns an {@link XmlSaxHandler} that can load an XmlObject from SAX events.
+     */
+    public XmlSaxHandler newXmlSaxHandler(XmlOptions options) {
+        return XmlBeans.getContextTypeLoader().newXmlSaxHandler(getInnerType(), options);
+    }
+
+    /**
+     * Creates a new DOMImplementation object
+     */
+    public DOMImplementation newDomImplementation() {
+        return XmlBeans.getContextTypeLoader().newDomImplementation(null);
+    }
+
+    /**
+     * Creates a new DOMImplementation object, taking options
+     */
+    public DOMImplementation newDomImplementation(XmlOptions options) {
+        return XmlBeans.getContextTypeLoader().newDomImplementation(options);
+    }
+
+    private SchemaType getInnerType() {
+        return isAnyType ? null : getType();
+    }
+}

Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/Parameters.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/Parameters.java?rev=1886771&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/Parameters.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/Parameters.java Sun Feb 21 21:34:00 2021
@@ -0,0 +1,328 @@
+/*   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.tool;
+
+import org.apache.xmlbeans.SchemaCodePrinter;
+import org.apache.xmlbeans.XmlError;
+import org.apache.xmlbeans.XmlOptions;
+import org.xml.sax.EntityResolver;
+
+import java.io.File;
+import java.net.URL;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+public class Parameters {
+    private File baseDir;
+    private File[] xsdFiles;
+    private File[] wsdlFiles;
+    private File[] javaFiles;
+    private File[] configFiles;
+    private URL[] urlFiles;
+    private File[] classpath;
+    private File outputJar;
+    private String name;
+    private File srcDir;
+    private File classesDir;
+    private String memoryInitialSize;
+    private String memoryMaximumSize;
+    private String compiler;
+    private boolean nojavac;
+    private boolean quiet;
+    private boolean verbose;
+    private boolean download;
+    private Collection<XmlError> errorListener;
+    private boolean noUpa;
+    private boolean noPvr;
+    private boolean noAnn;
+    private boolean noVDoc;
+    private boolean noExt;
+    private boolean debug;
+    private boolean incrementalSrcGen;
+    private String repackage;
+    private List<Extension> extensions = Collections.emptyList();
+    private Set<String> mdefNamespaces = Collections.emptySet();
+    private String catalogFile;
+    private SchemaCodePrinter schemaCodePrinter;
+    private EntityResolver entityResolver;
+    private Set<XmlOptions.BeanMethod> partialMethods = Collections.emptySet();
+
+    public File getBaseDir() {
+        return baseDir;
+    }
+
+    public void setBaseDir(File baseDir) {
+        this.baseDir = baseDir;
+    }
+
+    public File[] getXsdFiles() {
+        return xsdFiles;
+    }
+
+    public void setXsdFiles(File... xsdFiles) {
+        this.xsdFiles = xsdFiles;
+    }
+
+    public File[] getWsdlFiles() {
+        return wsdlFiles;
+    }
+
+    public void setWsdlFiles(File[] wsdlFiles) {
+        this.wsdlFiles = wsdlFiles;
+    }
+
+    public File[] getJavaFiles() {
+        return javaFiles;
+    }
+
+    public void setJavaFiles(File[] javaFiles) {
+        this.javaFiles = javaFiles;
+    }
+
+    public File[] getConfigFiles() {
+        return configFiles;
+    }
+
+    public void setConfigFiles(File[] configFiles) {
+        this.configFiles = configFiles;
+    }
+
+    public URL[] getUrlFiles() {
+        return urlFiles;
+    }
+
+    public void setUrlFiles(URL[] urlFiles) {
+        this.urlFiles = urlFiles;
+    }
+
+    public File[] getClasspath() {
+        return classpath;
+    }
+
+    public void setClasspath(File[] classpath) {
+        this.classpath = classpath;
+    }
+
+    public File getOutputJar() {
+        return outputJar;
+    }
+
+    public void setOutputJar(File outputJar) {
+        this.outputJar = outputJar;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public File getSrcDir() {
+        return srcDir;
+    }
+
+    public void setSrcDir(File srcDir) {
+        this.srcDir = srcDir;
+    }
+
+    public File getClassesDir() {
+        return classesDir;
+    }
+
+    public void setClassesDir(File classesDir) {
+        this.classesDir = classesDir;
+    }
+
+    public boolean isNojavac() {
+        return nojavac;
+    }
+
+    public void setNojavac(boolean nojavac) {
+        this.nojavac = nojavac;
+    }
+
+    public boolean isQuiet() {
+        return quiet;
+    }
+
+    public void setQuiet(boolean quiet) {
+        this.quiet = quiet;
+    }
+
+    public boolean isVerbose() {
+        return verbose;
+    }
+
+    public void setVerbose(boolean verbose) {
+        this.verbose = verbose;
+    }
+
+    public boolean isDownload() {
+        return download;
+    }
+
+    public void setDownload(boolean download) {
+        this.download = download;
+    }
+
+    public boolean isNoUpa() {
+        return noUpa;
+    }
+
+    public void setNoUpa(boolean noUpa) {
+        this.noUpa = noUpa;
+    }
+
+    public boolean isNoPvr() {
+        return noPvr;
+    }
+
+    public void setNoPvr(boolean noPvr) {
+        this.noPvr = noPvr;
+    }
+
+    public boolean isNoAnn() {
+        return noAnn;
+    }
+
+    public void setNoAnn(boolean noAnn) {
+        this.noAnn = noAnn;
+    }
+
+    public boolean isNoVDoc() {
+        return noVDoc;
+    }
+
+    public void setNoVDoc(boolean newNoVDoc) {
+        this.noVDoc = newNoVDoc;
+    }
+
+    public boolean isNoExt() {
+        return noExt;
+    }
+
+    public void setNoExt(boolean newNoExt) {
+        this.noExt = newNoExt;
+    }
+
+    public boolean isIncrementalSrcGen() {
+        return incrementalSrcGen;
+    }
+
+    public void setIncrementalSrcGen(boolean incrSrcGen) {
+        this.incrementalSrcGen = incrSrcGen;
+    }
+
+    public boolean isDebug() {
+        return debug;
+    }
+
+    public void setDebug(boolean debug) {
+        this.debug = debug;
+    }
+
+    public String getMemoryInitialSize() {
+        return memoryInitialSize;
+    }
+
+    public void setMemoryInitialSize(String memoryInitialSize) {
+        this.memoryInitialSize = memoryInitialSize;
+    }
+
+    public String getMemoryMaximumSize() {
+        return memoryMaximumSize;
+    }
+
+    public void setMemoryMaximumSize(String memoryMaximumSize) {
+        this.memoryMaximumSize = memoryMaximumSize;
+    }
+
+    public String getCompiler() {
+        return compiler;
+    }
+
+    public void setCompiler(String compiler) {
+        this.compiler = compiler;
+    }
+
+    public Collection<XmlError> getErrorListener() {
+        return errorListener;
+    }
+
+    public void setErrorListener(Collection<XmlError> errorListener) {
+        this.errorListener = errorListener;
+    }
+
+    public String getRepackage() {
+        return repackage;
+    }
+
+    public void setRepackage(String newRepackage) {
+        repackage = newRepackage;
+    }
+
+    public List<Extension> getExtensions() {
+        return extensions;
+    }
+
+    public void setExtensions(List<Extension> extensions) {
+        this.extensions = extensions;
+    }
+
+    public Set<String> getMdefNamespaces() {
+        return mdefNamespaces;
+    }
+
+    public void setMdefNamespaces(Set<String> mdefNamespaces) {
+        this.mdefNamespaces = mdefNamespaces;
+    }
+
+    public String getCatalogFile() {
+        return catalogFile;
+    }
+
+    public void setCatalogFile(String catalogPropFile) {
+        this.catalogFile = catalogPropFile;
+    }
+
+    public SchemaCodePrinter getSchemaCodePrinter() {
+        return schemaCodePrinter;
+    }
+
+    public void setSchemaCodePrinter(SchemaCodePrinter schemaCodePrinter) {
+        this.schemaCodePrinter = schemaCodePrinter;
+    }
+
+    public EntityResolver getEntityResolver() {
+        return entityResolver;
+    }
+
+    public void setEntityResolver(EntityResolver entityResolver) {
+        this.entityResolver = entityResolver;
+    }
+
+    public Set<XmlOptions.BeanMethod> getPartialMethods() {
+        return partialMethods;
+    }
+
+    public void setPartialMethods(Set<XmlOptions.BeanMethod> partialMethods) {
+        this.partialMethods = partialMethods;
+    }
+}

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java Sun Feb 21 21:34:00 2021
@@ -16,6 +16,7 @@
 package org.apache.xmlbeans.impl.tool;
 
 import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.XmlOptions.BeanMethod;
 import org.apache.xmlbeans.impl.common.*;
 import org.apache.xmlbeans.impl.config.BindingConfigImpl;
 import org.apache.xmlbeans.impl.repackage.Repackager;
@@ -62,6 +63,8 @@ public class SchemaCompiler {
         System.out.println("    -license - prints license information");
         System.out.println("    -allowmdef \"[ns] [ns] [ns]\" - ignores multiple defs in given namespaces (use ##local for no-namespace)");
         System.out.println("    -catalog [file] -  catalog file for org.apache.xml.resolver.tools.CatalogResolver. (Note: needs resolver.jar from http://xml.apache.org/commons/components/resolver/index.html)");
+        System.out.println("    -partialMethods [list] -  comma separated list of bean methods to be generated. Use \"-\" to negate and \"ALL\" for all." );
+        System.out.println("                              processed left-to-right, e.g. \"ALL,-GET_LIST\" exclude java.util.List getters - see XmlOptions.BeanMethod" );
         /* Undocumented feature - pass in one schema compiler extension and related parameters
         System.out.println("    -repackage - repackage specification");
         System.out.println("    -extension - registers a schema compiler extension");
@@ -111,6 +114,8 @@ public class SchemaCompiler {
         opts.add("extensionParms");
         opts.add("allowmdef");
         opts.add("catalog");
+        opts.add("partialMethods");
+
         CommandLine cl = new CommandLine(args, flags, opts);
 
         if (cl.getOpt("h") != null || cl.getOpt("help") != null || cl.getOpt("usage") != null) {
@@ -298,6 +303,8 @@ public class SchemaCompiler {
 
         String catString = cl.getOpt("catalog");
 
+        String partialMethods = cl.getOpt("partialMethods");
+
         Parameters params = new Parameters();
         params.setBaseDir(baseDir);
         params.setXsdFiles(xsdFiles);
@@ -329,7 +336,7 @@ public class SchemaCompiler {
         params.setMdefNamespaces(mdefNamespaces);
         params.setCatalogFile(catString);
         params.setSchemaCodePrinter(codePrinter);
-
+        params.setPartialMethods(parsePartialMethods(partialMethods));
         boolean result = compile(params);
 
         if (tempdir != null) {
@@ -343,297 +350,6 @@ public class SchemaCompiler {
         System.exit(0);
     }
 
-    public static class Parameters {
-        private File baseDir;
-        private File[] xsdFiles;
-        private File[] wsdlFiles;
-        private File[] javaFiles;
-        private File[] configFiles;
-        private URL[] urlFiles;
-        private File[] classpath;
-        private File outputJar;
-        private String name;
-        private File srcDir;
-        private File classesDir;
-        private String memoryInitialSize;
-        private String memoryMaximumSize;
-        private String compiler;
-        private boolean nojavac;
-        private boolean quiet;
-        private boolean verbose;
-        private boolean download;
-        private Collection<XmlError> errorListener;
-        private boolean noUpa;
-        private boolean noPvr;
-        private boolean noAnn;
-        private boolean noVDoc;
-        private boolean noExt;
-        private boolean debug;
-        private boolean incrementalSrcGen;
-        private String repackage;
-        private List<Extension> extensions = Collections.emptyList();
-        private Set<String> mdefNamespaces = Collections.emptySet();
-        private String catalogFile;
-        private SchemaCodePrinter schemaCodePrinter;
-        private EntityResolver entityResolver;
-
-        public File getBaseDir() {
-            return baseDir;
-        }
-
-        public void setBaseDir(File baseDir) {
-            this.baseDir = baseDir;
-        }
-
-        public File[] getXsdFiles() {
-            return xsdFiles;
-        }
-
-        public void setXsdFiles(File[] xsdFiles) {
-            this.xsdFiles = xsdFiles;
-        }
-
-        public File[] getWsdlFiles() {
-            return wsdlFiles;
-        }
-
-        public void setWsdlFiles(File[] wsdlFiles) {
-            this.wsdlFiles = wsdlFiles;
-        }
-
-        public File[] getJavaFiles() {
-            return javaFiles;
-        }
-
-        public void setJavaFiles(File[] javaFiles) {
-            this.javaFiles = javaFiles;
-        }
-
-        public File[] getConfigFiles() {
-            return configFiles;
-        }
-
-        public void setConfigFiles(File[] configFiles) {
-            this.configFiles = configFiles;
-        }
-
-        public URL[] getUrlFiles() {
-            return urlFiles;
-        }
-
-        public void setUrlFiles(URL[] urlFiles) {
-            this.urlFiles = urlFiles;
-        }
-
-        public File[] getClasspath() {
-            return classpath;
-        }
-
-        public void setClasspath(File[] classpath) {
-            this.classpath = classpath;
-        }
-
-        public File getOutputJar() {
-            return outputJar;
-        }
-
-        public void setOutputJar(File outputJar) {
-            this.outputJar = outputJar;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public void setName(String name) {
-            this.name = name;
-        }
-
-        public File getSrcDir() {
-            return srcDir;
-        }
-
-        public void setSrcDir(File srcDir) {
-            this.srcDir = srcDir;
-        }
-
-        public File getClassesDir() {
-            return classesDir;
-        }
-
-        public void setClassesDir(File classesDir) {
-            this.classesDir = classesDir;
-        }
-
-        public boolean isNojavac() {
-            return nojavac;
-        }
-
-        public void setNojavac(boolean nojavac) {
-            this.nojavac = nojavac;
-        }
-
-        public boolean isQuiet() {
-            return quiet;
-        }
-
-        public void setQuiet(boolean quiet) {
-            this.quiet = quiet;
-        }
-
-        public boolean isVerbose() {
-            return verbose;
-        }
-
-        public void setVerbose(boolean verbose) {
-            this.verbose = verbose;
-        }
-
-        public boolean isDownload() {
-            return download;
-        }
-
-        public void setDownload(boolean download) {
-            this.download = download;
-        }
-
-        public boolean isNoUpa() {
-            return noUpa;
-        }
-
-        public void setNoUpa(boolean noUpa) {
-            this.noUpa = noUpa;
-        }
-
-        public boolean isNoPvr() {
-            return noPvr;
-        }
-
-        public void setNoPvr(boolean noPvr) {
-            this.noPvr = noPvr;
-        }
-
-        public boolean isNoAnn() {
-            return noAnn;
-        }
-
-        public void setNoAnn(boolean noAnn) {
-            this.noAnn = noAnn;
-        }
-
-        public boolean isNoVDoc() {
-            return noVDoc;
-        }
-
-        public void setNoVDoc(boolean newNoVDoc) {
-            this.noVDoc = newNoVDoc;
-        }
-
-        public boolean isNoExt() {
-            return noExt;
-        }
-
-        public void setNoExt(boolean newNoExt) {
-            this.noExt = newNoExt;
-        }
-
-        public boolean isIncrementalSrcGen() {
-            return incrementalSrcGen;
-        }
-
-        public void setIncrementalSrcGen(boolean incrSrcGen) {
-            this.incrementalSrcGen = incrSrcGen;
-        }
-
-        public boolean isDebug() {
-            return debug;
-        }
-
-        public void setDebug(boolean debug) {
-            this.debug = debug;
-        }
-
-        public String getMemoryInitialSize() {
-            return memoryInitialSize;
-        }
-
-        public void setMemoryInitialSize(String memoryInitialSize) {
-            this.memoryInitialSize = memoryInitialSize;
-        }
-
-        public String getMemoryMaximumSize() {
-            return memoryMaximumSize;
-        }
-
-        public void setMemoryMaximumSize(String memoryMaximumSize) {
-            this.memoryMaximumSize = memoryMaximumSize;
-        }
-
-        public String getCompiler() {
-            return compiler;
-        }
-
-        public void setCompiler(String compiler) {
-            this.compiler = compiler;
-        }
-
-        public Collection<XmlError> getErrorListener() {
-            return errorListener;
-        }
-
-        public void setErrorListener(Collection<XmlError> errorListener) {
-            this.errorListener = errorListener;
-        }
-
-        public String getRepackage() {
-            return repackage;
-        }
-
-        public void setRepackage(String newRepackage) {
-            repackage = newRepackage;
-        }
-
-        public List<Extension> getExtensions() {
-            return extensions;
-        }
-
-        public void setExtensions(List<Extension> extensions) {
-            this.extensions = extensions;
-        }
-
-        public Set<String> getMdefNamespaces() {
-            return mdefNamespaces;
-        }
-
-        public void setMdefNamespaces(Set<String> mdefNamespaces) {
-            this.mdefNamespaces = mdefNamespaces;
-        }
-
-        public String getCatalogFile() {
-            return catalogFile;
-        }
-
-        public void setCatalogFile(String catalogPropFile) {
-            this.catalogFile = catalogPropFile;
-        }
-
-        public SchemaCodePrinter getSchemaCodePrinter() {
-            return schemaCodePrinter;
-        }
-
-        public void setSchemaCodePrinter(SchemaCodePrinter schemaCodePrinter) {
-            this.schemaCodePrinter = schemaCodePrinter;
-        }
-
-        public EntityResolver getEntityResolver() {
-            return entityResolver;
-        }
-
-        public void setEntityResolver(EntityResolver entityResolver) {
-            this.entityResolver = entityResolver;
-        }
-    }
-
     private static SchemaTypeSystem loadTypeSystem(String name, File[] xsdFiles, File[] wsdlFiles, URL[] urlFiles, File[] configFiles,
                                                    File[] javaFiles, ResourceLoader cpResourceLoader,
                                                    boolean download, boolean noUpa, boolean noPvr, boolean noAnn, boolean noVDoc, boolean noExt,
@@ -894,6 +610,7 @@ public class SchemaCompiler {
         boolean noExt = params.isNoExt();
         boolean incrSrcGen = params.isIncrementalSrcGen();
         Collection<XmlError> outerErrorListener = params.getErrorListener();
+        Set<BeanMethod> partialMethods = params.getPartialMethods();
 
         String repackage = params.getRepackage();
 
@@ -968,6 +685,7 @@ public class SchemaCompiler {
             if (codePrinter != null) {
                 options.setSchemaCodePrinter(codePrinter);
             }
+            options.setCompilePartialMethod(partialMethods);
 
             // save .xsb files
             system.save(filer);
@@ -1035,6 +753,26 @@ public class SchemaCompiler {
         return result;
     }
 
+    static Set<BeanMethod> parsePartialMethods(String partialMethods) {
+        final Set<BeanMethod> beanMethods = new HashSet<>();
+        if (partialMethods != null) {
+            for (String pm : partialMethods.split(",")) {
+                if ("ALL".equals(pm)) {
+                    beanMethods.addAll(Arrays.asList(BeanMethod.values()));
+                    continue;
+                }
+                boolean neg = pm.startsWith("-");
+                BeanMethod bm = BeanMethod.valueOf(pm.substring(neg ? 1 : 0));
+                if (neg) {
+                    beanMethods.remove(bm);
+                } else {
+                    beanMethods.add(bm);
+                }
+            }
+        }
+        return beanMethods.isEmpty() ? null : beanMethods;
+    }
+
     private static void runExtensions(List<Extension> extensions, SchemaTypeSystem system, File classesDir) {
         if (extensions != null && extensions.size() > 0) {
             SchemaCompilerExtension sce;

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java Sun Feb 21 21:34:00 2021
@@ -25,6 +25,7 @@ import org.apache.tools.ant.types.FileSe
 import org.apache.tools.ant.types.Path;
 import org.apache.tools.ant.types.Reference;
 import org.apache.xmlbeans.XmlError;
+import org.apache.xmlbeans.XmlOptions;
 import org.apache.xmlbeans.impl.common.IOUtil;
 
 import java.io.File;
@@ -82,7 +83,8 @@ public class XMLBean extends MatchingTas
         memoryInitialSize,
         memoryMaximumSize,
         catalog,
-        repackage;
+        repackage,
+        partialMethods;
 
     private final List<Extension> extensions = new ArrayList<>();
 
@@ -203,7 +205,7 @@ public class XMLBean extends MatchingTas
             }
 
             // generate the source
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+            Parameters params = new Parameters();
             params.setBaseDir(theBasedir);
             params.setXsdFiles(xsdArray);
             params.setWsdlFiles(wsdlArray);
@@ -229,6 +231,7 @@ public class XMLBean extends MatchingTas
             params.setNoVDoc(novdoc);
             params.setNoExt(noext);
             params.setRepackage(repackage);
+            params.setPartialMethods(SchemaCompiler.parsePartialMethods(partialMethods));
             success = SchemaCompiler.compile(params);
 
             if (success && !srconly) {
@@ -764,6 +767,20 @@ public class XMLBean extends MatchingTas
         this.repackage = repackage;
     }
 
+    public String getPartialMethods() {
+        return partialMethods;
+    }
+
+    /**
+     * Comma separated list of bean methods to be generated. Use "-" to negate and "ALL" for all.
+     * processed left-to-right, e.g. "ALL,-GET_LIST" exclude java.util.List getters
+     *
+     * @see XmlOptions.BeanMethod
+     */
+    public void setPartialMethods(String partialMethods) {
+        this.partialMethods = partialMethods;
+    }
+
     private static URI uriFromFile(File f) {
         if (f == null) {
             return null;

Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListObject.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListObject.java?rev=1886771&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListObject.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListObject.java Sun Feb 21 21:34:00 2021
@@ -0,0 +1,89 @@
+/*   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.values;
+
+import java.util.AbstractList;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+public class JavaListObject<T> extends AbstractList<T> {
+    private final Function<Integer,T> getter;
+    private final BiConsumer<Integer,T> setter;
+    private final BiConsumer<Integer,T> adder;
+    private final Consumer<Integer> remover;
+    private final Supplier<Integer> sizer;
+
+    public JavaListObject(
+        Function<Integer,T> getter,
+        BiConsumer<Integer,T> setter,
+        BiConsumer<Integer,T> adder,
+        Consumer<Integer> remover,
+        Supplier<Integer> sizer
+    ) {
+        this.getter = getter;
+        this.setter = setter;
+        this.adder = adder;
+        this.remover = remover;
+        this.sizer = sizer;
+    }
+
+
+    @Override
+    public T get(int index) {
+        if (getter == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no getter method available");
+        }
+        return getter.apply(index);
+    }
+
+    @Override
+    public T set(int index, T element) {
+        if (setter == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no setter method available");
+        }
+        T old = get(index);
+        setter.accept(index, element);
+        return old;
+    }
+
+    @Override
+    public void add(int index, T t) {
+        if (adder == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no add method available");
+        }
+        adder.accept(index, t);
+    }
+
+    @Override
+    public T remove(int index) {
+        if (remover == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no remove method available");
+        }
+        T old = get(index);
+        remover.accept(index);
+        return old;
+    }
+
+    @Override
+    public int size() {
+        if (sizer == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no size-of method available");
+        }
+        return sizer.get();
+    }
+}

Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListXmlObject.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListXmlObject.java?rev=1886771&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListXmlObject.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaListXmlObject.java Sun Feb 21 21:34:00 2021
@@ -0,0 +1,91 @@
+/*   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.values;
+
+import org.apache.xmlbeans.XmlObject;
+
+import java.util.AbstractList;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+public class JavaListXmlObject<T extends XmlObject> extends AbstractList<T> {
+    private final Function<Integer,T> getter;
+    private final BiConsumer<Integer,T> setter;
+    private final Function<Integer,T> adder;
+    private final Consumer<Integer> remover;
+    private final Supplier<Integer> sizer;
+
+    public JavaListXmlObject(
+        Function<Integer,T> getter,
+        BiConsumer<Integer,T> setter,
+        Function<Integer,T> adder,
+        Consumer<Integer> remover,
+        Supplier<Integer> sizer
+    ) {
+        this.getter = getter;
+        this.setter = setter;
+        this.adder = adder;
+        this.remover = remover;
+        this.sizer = sizer;
+    }
+
+
+    @Override
+    public T get(int index) {
+        if (getter == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no getter available");
+        }
+        return getter.apply(index);
+    }
+
+    @Override
+    public T set(int index, T element) {
+        if (setter == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no setter available");
+        }
+        T old = get(index);
+        setter.accept(index, element);
+        return old;
+    }
+
+    @Override
+    public void add(int index, T t) {
+        if (adder == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no add method available");
+        }
+        adder.apply(index).set(t);
+    }
+
+    @Override
+    public T remove(int index) {
+        if (remover == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no remove method available");
+        }
+        T old = get(index);
+        remover.accept(index);
+        return old;
+    }
+
+    @Override
+    public int size() {
+        if (sizer == null) {
+            throw new IllegalStateException("XmlBean generated using partial methods - no size-of method available");
+        }
+        return sizer.get();
+    }
+}

Modified: xmlbeans/trunk/src/main/multimodule/java9/module-info.class
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/multimodule/java9/module-info.class?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
Binary files - no diff available.

Modified: xmlbeans/trunk/src/test/java/compile/scomp/checkin/CompilationTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/checkin/CompilationTests.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/checkin/CompilationTests.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/checkin/CompilationTests.java Sun Feb 21 21:34:00 2021
@@ -15,14 +15,12 @@
 
 package compile.scomp.checkin;
 
-import common.Common;
 import compile.scomp.common.CompileCommon;
 import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.XmlOptions.BeanMethod;
 import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.tool.CodeGenUtil;
-import org.apache.xmlbeans.impl.tool.Diff;
-import org.apache.xmlbeans.impl.tool.SchemaCodeGenerator;
-import org.apache.xmlbeans.impl.tool.SchemaCompiler;
+import org.apache.xmlbeans.impl.tool.*;
+import org.apache.xmlbeans.impl.util.FilerImpl;
 import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
 import org.apache.xmlbeans.impl.xb.xsdschema.TopLevelComplexType;
 import org.junit.Assert;
@@ -35,27 +33,115 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.*;
+import java.util.stream.Stream;
 
 import static common.Common.getRootFile;
+import static java.util.Collections.singletonList;
 import static org.junit.Assert.*;
 
 
+@SuppressWarnings({"SpellCheckingInspection", "ResultOfMethodCallIgnored"})
 public class CompilationTests {
+    private static final File fwroot = new File(getRootFile());
+
+    //location of files under "cases folder"
+    private static final String fileLocation = CompileCommon.fileLocation;
+    private static final File outputroot = new File(fwroot, "build/test/output");
+
+
+    private static final String[] invalidSchemas = {
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
+        "  <xs:complexType name='base' final='extension'/>\n" +
+        "  <xs:complexType name='ext'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:extension base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
+        "  <xs:complexType name='base' final='#all'/>\n" +
+        "  <xs:complexType name='ext'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:extension base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='#all'>\n" +
+        "  <xs:complexType name='base'/>\n" +
+        "  <xs:complexType name='rest'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:restriction base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
+        "  <xs:complexType name='base'/>\n" +
+        "  <xs:complexType name='rest'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:restriction base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+    };
+
+    static String[] validSchemas = {
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
+        "  <xs:complexType name='base' final='extension'/>\n" +
+        "  <xs:complexType name='rest'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:restriction base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
+        "  <xs:complexType name='base' final='restriction'/>\n" +
+        "  <xs:complexType name='ext'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:extension base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
+        "  <xs:complexType name='base'/>\n" +
+        "  <xs:complexType name='ext'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:extension base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='extension'>\n" +
+        "  <xs:complexType name='base'/>\n" +
+        "  <xs:complexType name='rest'>\n" +
+        "    <xs:complexContent>\n" +
+        "      <xs:restriction base='base'/>\n" +
+        "    </xs:complexContent>\n" +
+        "  </xs:complexType>\n" +
+        "</xs:schema>\n",
+    };
+
+
     @Test
-    public void testJ2EE() throws Throwable {
+    public void testJ2EE() {
         deltree(xbeanOutput("compile/scomp/j2ee"));
         // First, compile schema
         File srcdir = xbeanOutput("compile/scomp/j2ee/j2eeconfigxml/src");
         File classesdir = xbeanOutput("compile/scomp/j2ee/j2eeconfigxml/classes");
         File outputjar = xbeanOutput("compile/scomp/j2ee/j2eeconfigxml.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[]{
+        Parameters params = new Parameters();
+        params.setXsdFiles(
             xbeanCase("j2ee/application-client_1_4.xsd"),
             xbeanCase("j2ee/application_1_4.xsd"),
             xbeanCase("j2ee/connector_1_5.xsd"),
@@ -63,13 +149,12 @@ public class CompilationTests {
             xbeanCase("j2ee/j2ee_1_4.xsd"),
             xbeanCase("j2ee/jsp_2_0.xsd"),
             xbeanCase("j2ee/web-app_2_4.xsd"),
-            xbeanCase("j2ee/XML.xsd")
-        });
+            xbeanCase("j2ee/XML.xsd"));
         params.setSrcDir(srcdir);
         params.setClassesDir(classesdir);
         params.setOutputJar(outputjar);
         params.setMdefNamespaces(Collections.singleton("http://java.sun.com/xml/ns/j2ee"));
-        List errors = new ArrayList();
+        List<XmlError> errors = new ArrayList<>();
         params.setErrorListener(errors);
         boolean result = SchemaCompiler.compile(params);
         StringWriter message = new StringWriter();
@@ -80,7 +165,7 @@ public class CompilationTests {
     }
 
     @Test
-    public void testIncrementalCompilation() throws Throwable {
+    public void testIncrementalCompilation() throws IOException, XmlException {
         File[] files = new File[]{
             xbeanCase("incr/incr1.xsd"),
             xbeanCase("incr/incr3.xsd"),
@@ -100,7 +185,7 @@ public class CompilationTests {
         // Compile incrementally
         // Initial compile
         schemas[n - 2] = SchemaDocument.Factory.parse(files[n - 2]).getSchema();
-        List errors = new ArrayList();
+        List<XmlError> errors = new ArrayList<>();
         XmlOptions options = (new XmlOptions()).setErrorListener(errors);
         SchemaTypeSystem builtin = XmlBeans.getBuiltinTypeSystem();
         system = XmlBeans.compileXsd(schemas, builtin, options);
@@ -141,7 +226,8 @@ public class CompilationTests {
         schemas[n - 2] = schemas1[0];
         system = XmlBeans.compileXsd(schemas, builtin, options);
         Assert.assertNotNull("Compilation failed during reference compile.", system);
-        SchemaCodeGenerator.saveTypeSystem(system, out, null, null, null);
+        Filer filer = new FilerImpl(out, null, null, false, false);
+        system.save(filer);
 
         System.out.println("-= Sanity Compile =-");
         for (int i = 0; i < system.globalTypes().length; i++) {
@@ -158,19 +244,14 @@ public class CompilationTests {
         String oldPropValue = System.getProperty("xmlbeans.diff.diffIndex");
         System.setProperty("xmlbeans.diff.diffIndex", "false");
         errors.clear();
-        Diff.dirsAsTypeSystems(out, outincr, errors);
+        List<String> diffs = new ArrayList<>();
+        Diff.dirsAsTypeSystems(out, outincr, diffs);
         System.setProperty("xmlbeans.diff.diffIndex", oldPropValue == null ? "true" : oldPropValue);
-        if (errors.size() > 0) {
-            StringWriter message = new StringWriter();
-            for (int i = 0; i < errors.size(); i++)
-                message.write(((String) errors.get(i)) + "\n");
-            fail("Differences encountered:" + message);
-        }
-
+        assertEquals("Differences encountered:" + String.join("\n", diffs), 0, diffs.size());
     }
 
     @Test
-    public void testSchemaBookmarks() throws Throwable {
+    public void testSchemaBookmarks() throws XmlException, IOException {
         File srcSchema = xbeanCase("../../simple/person/person.xsd");
         // Parse
         SchemaDocument.Schema parsed = SchemaDocument.Factory.parse(srcSchema).getSchema();
@@ -200,7 +281,7 @@ public class CompilationTests {
     }
 
     @Test
-    public void testSimple() throws Throwable {
+    public void testSimple() throws MalformedURLException, ClassNotFoundException {
         deltree(xbeanOutput("compile/scomp/simple"));
         // First, compile schema
 
@@ -213,8 +294,8 @@ public class CompilationTests {
 
         File classesdir = xbeanOutput("compile/scomp/simple/simpletypes/classes");
         File outputjar = xbeanOutput("compile/scomp/simple/simpletypes.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[]{inputfile1, inputfile2});
+        Parameters params = new Parameters();
+        params.setXsdFiles(inputfile1, inputfile2);
         params.setSrcDir(srcdir);
         params.setClassesDir(classesdir);
         params.setOutputJar(outputjar);
@@ -224,9 +305,8 @@ public class CompilationTests {
         File javasrc = new File(CompileCommon.fileLocation+"/simple");
         File javaclasses = xbeanOutput("compile/scomp/simple/javaclasses");
         javaclasses.mkdirs();
-        List<File> testcp = new ArrayList<File>(Arrays.asList(CodeGenUtil.systemClasspath()));
-        testcp.add(outputjar);
-        CodeGenUtil.externalCompile(Arrays.asList(javasrc), javaclasses, testcp.toArray(new File[0]), true);
+        File[] testcp = Stream.concat(Stream.of(CodeGenUtil.systemClasspath()), Stream.of(outputjar)).toArray(File[]::new);
+        CodeGenUtil.externalCompile(singletonList(javasrc), javaclasses, testcp, true);
 
         // Then run the test
         URLClassLoader childcl = new URLClassLoader(new URL[]{outputjar.toURI().toURL()}, CompilationTests.class.getClassLoader());
@@ -237,7 +317,7 @@ public class CompilationTests {
 
     @Test
     @Ignore
-    public void testDownload() throws Throwable {
+    public void testDownload() {
         deltree(xbeanOutput("compile/scomp/include"));
 
         {
@@ -245,15 +325,13 @@ public class CompilationTests {
             File srcdir = xbeanOutput("compile/scomp/include/shouldfail/src");
             File classesdir = xbeanOutput("compile/scomp/include/shouldfail/classes");
             File outputjar = xbeanOutput("compile/scomp/include/shouldfail.jar");
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-            params.setXsdFiles(new File[]{
-                xbeanCase("compile/scomp/j2ee/j2ee_1_4.xsd")
-            });
+            Parameters params = new Parameters();
+            params.setXsdFiles(xbeanCase("compile/scomp/j2ee/j2ee_1_4.xsd"));
             params.setSrcDir(srcdir);
             params.setClassesDir(classesdir);
             params.setOutputJar(outputjar);
-            assertTrue("Build should have failed", !SchemaCompiler.compile(params));
-            assertTrue("Should not have created " + outputjar, !outputjar.exists());
+            assertFalse("Build should have failed", SchemaCompiler.compile(params));
+            assertFalse("Should not have created " + outputjar, outputjar.exists());
         }
 
         {
@@ -261,11 +339,9 @@ public class CompilationTests {
             File srcdir = xbeanOutput("compile/scomp/include/shouldsucceed/src");
             File classesdir = xbeanOutput("compile/scomp/include/shouldsucceed/classes");
             File outputjar = xbeanOutput("compile/scomp/include/shouldsucceed.jar");
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+            Parameters params = new Parameters();
             params.setDownload(true);
-            params.setXsdFiles(new File[]{
-                xbeanCase("compile/scomp/j2ee/j2ee_1_4.xsd")
-            });
+            params.setXsdFiles(xbeanCase("compile/scomp/j2ee/j2ee_1_4.xsd"));
             params.setSrcDir(srcdir);
             params.setClassesDir(classesdir);
             params.setOutputJar(outputjar);
@@ -275,14 +351,14 @@ public class CompilationTests {
     }
 
     @Test
-    public void testPricequote() throws Throwable {
+    public void testPricequote() {
         deltree(xbeanOutput("compile/scomp/pricequote"));
         // First, compile schema
         File srcdir = xbeanOutput("compile/scomp/pricequote/src");
         File classesdir = xbeanOutput("compile/scomp/pricequote/classes");
         File outputjar = xbeanOutput("compile/scomp/pricequote/pricequote.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[]{xbeanCase("pricequote/PriceQuote.xsd")});
+        Parameters params = new Parameters();
+        params.setXsdFiles(xbeanCase("pricequote/PriceQuote.xsd"));
         params.setSrcDir(srcdir);
         params.setClassesDir(classesdir);
         params.setOutputJar(outputjar);
@@ -290,127 +366,78 @@ public class CompilationTests {
         assertTrue("Cannout find " + outputjar, outputjar.exists());
     }
 
-    private static String[] invalidSchemas = {
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='extension'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='#all'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='#all'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-    };
-
-    static String[] validSchemas = {
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='extension'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='restriction'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='extension'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-    };
-
     @Test
-    public void testFinal() throws Throwable {
-        SchemaDocument[] schemas = new SchemaDocument[invalidSchemas.length];
+    public void testInvalid() throws XmlException {
+        for (String schemaFile : invalidSchemas) {
+            // Parse the invalid schema files
+            SchemaDocument schema = SchemaDocument.Factory.parse(schemaFile);
+            // Now compile the invalid schemas, test that they fail
+            assertThrows("Schema should have failed to compile:\n" + schemaFile, XmlException.class,
+                () -> XmlBeans.loadXsd(schema));
+        }
+    }
 
-        // Parse the invalid schema files
-        for (int i = 0; i < invalidSchemas.length; i++)
-            schemas[i] = SchemaDocument.Factory.parse(invalidSchemas[i]);
+    @Test
+    public void testValid() throws XmlException {
+        for (String schemaFile : validSchemas) {
+            // Parse the valid schema files
+            SchemaDocument schema = SchemaDocument.Factory.parse(schemaFile);
+            // Compile the valid schemas. They should not fail
+            SchemaTypeLoader xs = XmlBeans.loadXsd(schema);
+            assertNotNull(xs);
+        }
+    }
 
-        // Now compile the invalid schemas, test that they fail
-        for (int i = 0; i < schemas.length; i++) {
-            try {
-                XmlBeans.loadXsd(new XmlObject[]{schemas[i]});
-                fail("Schema should have failed to compile:\n" + invalidSchemas[i]);
-            } catch (XmlException success) {
-            }
+    @Test
+    public void partials() throws InterruptedException, IOException {
+        String[] files = {"partials/RootDocument.java", "partials/impl/RootDocumentImpl.java"};
+        String[] templ = new String[files.length];
+        for (int i=0; i<files.length; i++) {
+            Path p = xbeanCase(files[i]).toPath();
+            templ[i] = new String(Files.readAllBytes(p), StandardCharsets.UTF_8);
         }
 
-        // Parse the valid schema files
-        schemas = new SchemaDocument[validSchemas.length];
-        for (int i = 0; i < validSchemas.length; i++)
-            schemas[i] = SchemaDocument.Factory.parse(validSchemas[i]);
+        deltree(xbeanOutput("compile/scomp/partials"));
+        File srcdir = xbeanOutput("compile/scomp/partials/src");
+        File classesdir = xbeanOutput("compile/scomp/partials/classes");
+        File outputjar = xbeanOutput("compile/scomp/partials/partialMethods.jar");
+        Parameters params = new Parameters();
+        params.setXsdFiles(xbeanCase("partials/partialMethods.xsd"));
+        params.setSrcDir(srcdir);
+        params.setClassesDir(classesdir);
+        params.setOutputJar(outputjar);
+        params.setName("Partials");
 
-        // Compile the valid schemas. They should not fail
-        for (int i = 0; i < schemas.length; i++) {
-            try {
-                XmlBeans.loadXsd(new XmlObject[]{schemas[i]});
-            } catch (XmlException fail) {
-                fail("Failed to compile schema:\n" + validSchemas[i]);
+        // exclude each bean method and compare with the template with that method excluded too
+        for (BeanMethod removeMethod : BeanMethod.values()) {
+            Set<BeanMethod> partialMethods = new HashSet<>(Arrays.asList(BeanMethod.values()));
+            partialMethods.remove(removeMethod);
+            params.setPartialMethods(partialMethods);
+            SchemaCompiler.compile(params);
+
+            for (int i=0; i<files.length; i++) {
+                Path p = new File(srcdir, files[i]).toPath();
+                String act = new String(Files.readAllBytes(p), StandardCharsets.UTF_8);
+                String exp = templ[i];
+                // remove marker + content
+                exp = exp.replaceAll("(?m)^.*<" + removeMethod + ">(?s).+?</" + removeMethod + ">$\\n", "");
+                // activate alternative content
+                exp = exp.replaceAll("(?m)^.*//.*</?" + removeMethod + "_ELSE>$\\n", "");
+                // remove other alternative content
+                exp = exp.replaceAll("(?m)^.*<[^>]+_ELSE>(?s).+?</[^>]+_ELSE>$\\n", "");
+                // remove unused markers
+                exp = exp.replaceAll("(?m)^.*//.*<.*>$\\n", "");
+                assertEquals(files[i] + " - " + removeMethod + " failed", exp, act);
             }
         }
     }
 
-    //TESTENV:
-
-    private static final File fwroot = new File(getRootFile());
-    private static final File caseroot = new File(Common.getCaseLocation());
 
-    //location of files under "cases folder"
-    private static final String fileLocation = CompileCommon.fileLocation;
-    private static final File outputroot = new File(fwroot, "build/test/output");
+    //TESTENV:
 
-    private static void dumpErrors(List errors, PrintWriter out) {
+    private static void dumpErrors(List<XmlError> errors, PrintWriter out) {
         // Display the errors
-        for (int i = 0; i < errors.size(); i++) {
-            XmlError error = (XmlError) errors.get(i);
+        for (XmlError error : errors) {
             if (error.getSeverity() == XmlError.SEVERITY_ERROR)
                 out.println(error.toString());
         }
@@ -427,29 +454,31 @@ public class CompilationTests {
         return result;
     }
 
-    private static void deltree(File dir)
-        throws InterruptedException {
-        if (dir.exists()) {
-            if (dir.isDirectory()) {
-                String[] list = dir.list();
-                for (int i = 0; i < list.length; i++)
-                    deltree(new File(dir, list[i]));
-            }
-            if (!dir.delete()) {
-                for (int i = 0; i < 5; i++) {
-                    try {
-                        System.out.println("Sleep 1s and try do delete it again: " + dir.getCanonicalPath());
-                    } catch (IOException e) {
-                        e.printStackTrace(System.out);
-                    }
-                    Thread.currentThread().sleep(1000);
-                    if (dir.delete())
-                        return;
+    private static void deltree(File dir) {
+        if (!dir.exists()) {
+            return;
+        }
+
+        if (dir.isDirectory()) {
+            String[] list = dir.list();
+            if (list != null) {
+                for (String s : list) {
+                    deltree(new File(dir, s));
                 }
+            }
+        }
 
-                if (!dir.delete())
-                    throw new IllegalStateException("Could not delete " + dir);
+        for (int i = 0; i < 5; i++) {
+            if (dir.delete()) {
+                return;
+            }
+            try {
+                System.out.println("Sleep 1s and try do delete it again: " + dir.getCanonicalPath());
+                Thread.sleep(1000);
+            } catch (InterruptedException|IOException ignored) {
             }
         }
+
+        throw new IllegalStateException("Could not delete " + dir);
     }
 }

Modified: xmlbeans/trunk/src/test/java/compile/scomp/common/CompileTestBase.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/common/CompileTestBase.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/common/CompileTestBase.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/common/CompileTestBase.java Sun Feb 21 21:34:00 2021
@@ -16,6 +16,7 @@ package compile.scomp.common;
 
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.tool.Diff;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCodeGenerator;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
@@ -109,23 +110,23 @@ public class CompileTestBase extends Com
         return fList;
     }
 
-    protected SchemaCompiler.Parameters getCompilerParams() {
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+    protected Parameters getCompilerParams() {
+        Parameters params = new Parameters();
         params.setDownload(true);
         params.setVerbose(true);
         return params;
     }
 
 
-    protected SchemaCompiler.Parameters getIncrCompilerParams() {
-        SchemaCompiler.Parameters params = getCompilerParams();
+    protected Parameters getIncrCompilerParams() {
+        Parameters params = getCompilerParams();
         params.setIncrementalSrcGen(true);
         return params;
     }
 
     protected boolean runCompiler(File[] schemas, String srcDir,
                                   String classesDir, String outputDir,
-                                  SchemaCompiler.Parameters params) {
+                                  Parameters params) {
 
         File srcdir = xbeanOutput(srcDir);
         File classesdir = xbeanOutput(classesDir);

Modified: xmlbeans/trunk/src/test/java/compile/scomp/detailed/SchemaCompilerTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/detailed/SchemaCompilerTests.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/detailed/SchemaCompilerTests.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/detailed/SchemaCompilerTests.java Sun Feb 21 21:34:00 2021
@@ -15,6 +15,7 @@
 package compile.scomp.detailed;
 
 import common.Common;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.junit.Test;
 
@@ -41,7 +42,7 @@ public class SchemaCompilerTests extends
                               String testName)
     {
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(xsdFiles);
         params.setErrorListener(errors);
         params.setSrcDir(new File(schemaCompOutputDirPath + outputDirName + P + "src"));
@@ -57,7 +58,7 @@ public class SchemaCompilerTests extends
     public void testUnionRedefine()
     {
         File[] xsdFiles =
-            new File[] { new File(scompTestFilesRoot + "union_initial.xsd"), 
+            new File[] { new File(scompTestFilesRoot + "union_initial.xsd"),
                          new File(scompTestFilesRoot + "union_redefine.xsd") };
         String outputDirName = "unionred";
         String testname = "testUnionRedefine";
@@ -70,7 +71,7 @@ public class SchemaCompilerTests extends
     @Test
     public void testEnumerationRedefine1()
     {
-        File[] xsdFiles = 
+        File[] xsdFiles =
             new File[] { new File(scompTestFilesRoot + "enum1.xsd_"),
                          new File(scompTestFilesRoot + "enum1_redefine.xsd_") };
         String outputDirName = "enumRedef1";
@@ -84,7 +85,7 @@ public class SchemaCompilerTests extends
     @Test
     public void testEnumerationRedefine2()
     {
-        File[] xsdFiles = 
+        File[] xsdFiles =
             new File[] { new File(scompTestFilesRoot + "enum2.xsd_"),
                          new File(scompTestFilesRoot + "enum2_redefine.xsd_") };
         String outputDirName = "enumRedef2";
@@ -98,7 +99,7 @@ public class SchemaCompilerTests extends
     @Test
     public void testEnumerationRedefine3()
     {
-        File[] xsdFiles = 
+        File[] xsdFiles =
             new File[] { new File(scompTestFilesRoot + "enum1.xsd_"),
                          new File(scompTestFilesRoot + "enum3.xsd_"),
                          new File(scompTestFilesRoot + "enum3_redefine.xsd_") };
@@ -126,7 +127,7 @@ public class SchemaCompilerTests extends
         String outputDirName = "methodsColide_jira205";
 
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(xsdFiles);
         params.setConfigFiles(configFiles);
         params.setJavaFiles(javaFiles);
@@ -155,7 +156,7 @@ public class SchemaCompilerTests extends
         String outputDirName = "noExt";
 
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(xsdFiles);
         params.setConfigFiles(configFiles);
         // no java files, if noExt flag doesn't work should fail for not finding the java files  params.setJavaFiles(javaFiles);

Modified: xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression151_200Test.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression151_200Test.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression151_200Test.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression151_200Test.java Sun Feb 21 21:34:00 2021
@@ -19,6 +19,7 @@ import misc.common.JiraTestBase;
 import net.eads.space.scoexml.test.TestExponentDocument;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.junit.Test;
 
@@ -91,7 +92,7 @@ public class JiraRegression151_200Test e
         List errors = new ArrayList();
 
         // compile with nopvr, goes thro fine
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_184_vdx_data_V1.04.xsd_")});
         params.setErrorListener(errors);
         params.setSrcDir(schemaCompSrcDir);

Modified: xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression1_50Test.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression1_50Test.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression1_50Test.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression1_50Test.java Sun Feb 21 21:34:00 2021
@@ -16,6 +16,7 @@ package misc.detailed;
 
 import misc.common.JiraTestBase;
 import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
 import org.junit.Ignore;
@@ -74,7 +75,7 @@ public class JiraRegression1_50Test exte
     public void test_jira_xmlbeans04() {
         List errors = new ArrayList();
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_04.xsd_")});
         params.setErrorListener(errors);
         params.setSrcDir(schemaCompSrcDir);
@@ -260,7 +261,7 @@ public class JiraRegression1_50Test exte
     public void test_jira_xmlbeans34() throws Exception {
         List errors = new ArrayList();
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_34b.xsd_")});
         params.setErrorListener(errors);
         params.setSrcDir(schemaCompSrcDir);
@@ -437,7 +438,7 @@ public class JiraRegression1_50Test exte
     */
     public void test_jira_xmlbeans49() {
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_49.xsd_")});
         params.setErrorListener(errors);
         params.setSrcDir(schemaCompSrcDir);

Modified: xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression50_100Test.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression50_100Test.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression50_100Test.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/JiraRegression50_100Test.java Sun Feb 21 21:34:00 2021
@@ -22,6 +22,7 @@ import net.orthogony.xml.sample.structur
 import net.orthogony.xml.sample.structure.ChildType;
 import org.apache.beehive.netui.tools.testrecorder.x2004.session.RecorderSessionDocument;
 import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.apache.xmlbeans.impl.xb.xmlconfig.ConfigDocument;
 import org.junit.Assert;
@@ -90,7 +91,7 @@ public class JiraRegression50_100Test ex
     public void test_jira_xmlbeans54() throws Exception {
         List errors = new ArrayList();
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_54.xsd_")});
         params.setErrorListener(errors);
         params.setSrcDir(schemaCompSrcDir);
@@ -165,7 +166,7 @@ public class JiraRegression50_100Test ex
         File classDir = new File(outputDir + P + "classes");
         classDir.mkdirs();
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(JIRA_CASES + "xmlbeans_57.xml")});
         params.setErrorListener(errorList);
         params.setSrcDir(srcDir);
@@ -204,7 +205,7 @@ public class JiraRegression50_100Test ex
     @Ignore("the url doesn't exist anymore ...")
     public void test_jira_xmlbeans58() throws Exception {
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
 
         // old url has been retired
         //params.setUrlFiles(new URL[]{new URL("http://devresource.hp.com/drc/specifications/wsrf/interfaces/WS-BrokeredNotification-1-0.wsdl")});
@@ -237,7 +238,7 @@ public class JiraRegression50_100Test ex
         File classDir = new File(outputDir + P + "classes");
         classDir.mkdirs();
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setWsdlFiles(new File[]{new File(JIRA_CASES + "xmlbeans_62.xml")});
         params.setErrorListener(errorList);
         params.setSrcDir(srcDir);
@@ -582,7 +583,7 @@ public class JiraRegression50_100Test ex
     @Test
     public void test_jira_xmlbeans88() throws Exception {
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
 
         params.setUrlFiles(new URL[]{new URL("http://developer.ebay.com/webservices/latest/eBaySvc.wsdl")});
         params.setErrorListener(errors);

Modified: xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionSchemaCompilerTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionSchemaCompilerTest.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionSchemaCompilerTest.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionSchemaCompilerTest.java Sun Feb 21 21:34:00 2021
@@ -16,6 +16,7 @@ package misc.detailed;
 
 import misc.common.JiraTestBase;
 import org.apache.xmlbeans.XmlError;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.junit.Test;
 
@@ -34,7 +35,7 @@ public class JiraRegressionSchemaCompile
     {
         System.out.println(xsdFiles[0].getAbsolutePath());
         List errors = new ArrayList();
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(xsdFiles);
         params.setErrorListener(errors);
         params.setSrcDir(new File(schemaCompOutputDirPath + outputDirName + P + "src"));
@@ -80,7 +81,7 @@ public class JiraRegressionSchemaCompile
     @Test
     public void test_jira_xmlbeans239()
     {
-        /* complexType with complexContent extending base type with 
+        /* complexType with complexContent extending base type with
            simpleContent is valid */
         File[] xsdFiles =
             new File[] { new File(scompTestFilesRoot + "xmlbeans_239a.xsd_") };

Modified: xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionTest101_150.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionTest101_150.java?rev=1886771&r1=1886770&r2=1886771&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionTest101_150.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/JiraRegressionTest101_150.java Sun Feb 21 21:34:00 2021
@@ -18,6 +18,7 @@ package misc.detailed;
 import misc.common.JiraTestBase;
 import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.impl.tool.Parameters;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 import org.junit.Test;
 
@@ -39,7 +40,7 @@ public class JiraRegressionTest101_150 e
     @Test
     public void test_jira_xmlbeans102a() throws Exception{
         // set the parameters similar to those in the bug
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setXsdFiles(new File[]{new File(JIRA_CASES + "xmlbeans_102.xsd")});
         params.setOutputJar(new File(outputroot+P+"xmlbeans_102.jar"));
         File outputDir = new File(outputroot + P + "xmlbeans_102");
@@ -62,7 +63,7 @@ public class JiraRegressionTest101_150 e
     public void test_jira_xmlbeans102b() {
         //Assert.fail("test_jira_xmlbeans102: Infinite loop after completion of parsing" );
 
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+        Parameters params = new Parameters();
         params.setOutputJar(new File(schemaCompOutputDirPath + "jira102.jar"));
         params.setClassesDir(schemaCompClassesDir);
 



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