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 2022/01/09 20:41:41 UTC

svn commit: r1896867 [2/2] - in /xmlbeans/trunk/src/test/java: common/ compile/scomp/checkin/ compile/scomp/common/ compile/scomp/common/mockobj/ compile/scomp/detailed/ compile/scomp/incr/schemaCompile/detailed/ compile/scomp/som/common/ compile/scomp...

Modified: xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/IncrCompilationTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/IncrCompilationTests.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/IncrCompilationTests.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/IncrCompilationTests.java Sun Jan  9 20:41:40 2022
@@ -15,93 +15,147 @@
 
 package compile.scomp.incr.schemaCompile.detailed;
 
-import compile.scomp.common.CompileCommon;
-import compile.scomp.common.CompileTestBase;
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.util.FilerImpl;
-import org.junit.*;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
 
 import javax.xml.namespace.QName;
 import java.io.File;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.*;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
+import static compile.scomp.common.CompileTestBase.*;
+import static java.nio.file.StandardOpenOption.CREATE;
+import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING;
+import static org.junit.Assert.*;
+
+public class IncrCompilationTests {
+
+    private static final File outincr = xbeanOutput(INCR_PATH);
+    private static final File out = xbeanOutput(OUT_PATH);
+    private static final File OBJ_1 = new File(out, "obj1.xsd");
+    private static final File OBJ_2 = new File(outincr, "obj2.xsd");
 
-public class IncrCompilationTests extends CompileTestBase {
 
-    @Before
-    public void setUp() throws IOException {
-        CompileCommon.deltree(CompileCommon.xbeanOutput(outputDir));
-        out = CompileCommon.xbeanOutput(outPath);
-        sanity = CompileCommon.xbeanOutput(sanityPath);
-        outincr = CompileCommon.xbeanOutput(incrPath);
+    private static final String schemaFilesRegeneration_schema1 =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<xs:schema " +
+        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
+        "targetNamespace=\"http://openuri.org\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:element name=\"TestElement\" type=\"bas:aType\" xmlns:bas=\"http://openuri.org\" />" +
+        "<xs:element name=\"NewTestElement\" type=\"bas:bType\" xmlns:bas=\"http://openuri.org\" />" +
+        "<xs:complexType name=\"aType\">" +
+        "<xs:simpleContent>" +
+        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:attribute type=\"xs:string\" name=\"stringAttr\" />" +
+        "</xs:extension>" +
+        "</xs:simpleContent>" +
+        "</xs:complexType>" +
+        "<xs:complexType name=\"bType\">" +
+        "<xs:simpleContent>" +
+        "<xs:extension base=\"xs:integer\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "</xs:extension>" +
+        "</xs:simpleContent>" +
+        "</xs:complexType>" +
+        "</xs:schema>";
+
+    private static final String schemaFilesRegeneration_schema1_modified =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<xs:schema " +
+        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
+        "targetNamespace=\"http://openuri.org\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:element name=\"TestElement\" type=\"bas:aType\" xmlns:bas=\"http://openuri.org\" />" +
+        "<xs:complexType name=\"aType\">" +
+        "<xs:simpleContent>" +
+        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:attribute type=\"xs:token\" name=\"tokenAttr\" />" +
+        "</xs:extension>" +
+        "</xs:simpleContent>" +
+        "</xs:complexType>" +
+        "</xs:schema>";
+
+    private static final String XSD_BASE =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<xs:schema " +
+        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
+        "targetNamespace=\"http://#namespace#\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:element name=\"#elTypeName#\" type=\"bas:aType\" xmlns:bas=\"http://#namespace#\" />" +
+        "<xs:complexType name=\"aType\">" +
+        "<xs:simpleContent>" +
+        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:attribute type=\"xs:#attrType#\" name=\"#attrTypeName#\" />" +
+        "</xs:extension>" +
+        "</xs:simpleContent>" +
+        "</xs:complexType>" +
+        "</xs:schema>";
 
-        errors = new ArrayList<>();
-        xm = new XmlOptions();
+    private static final String XSD_REDEF =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<xs:schema " +
+        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
+        "targetNamespace=\"http://#namespace#\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:redefine schemaLocation=\"" + OBJ_1.toURI() + "\">" +
+        "<xs:complexType name=\"aType\">" +
+        "<xs:simpleContent>" +
+        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
+        "<xs:attribute type=\"xs:#attrType#\" name=\"#attrTypeName#\" />" +
+        "</xs:extension>" +
+        "</xs:simpleContent>" +
+        "</xs:complexType>" +
+        "</xs:redefine>" +
+        "</xs:schema>";
+
+    private final SchemaTypeSystem builtin = XmlBeans.getBuiltinTypeSystem();
+    private final List<XmlError> errors = new ArrayList<>();
+    private final XmlOptions xm = new XmlOptions();
+
+
+
+    public IncrCompilationTests() {
         xm.setErrorListener(errors);
         xm.setSavePrettyPrint();
     }
 
-    @After
-    public void tearDown() throws Exception {
-        if (errors.size() > 0)
-            errors.clear();
+    @Before
+    public void setUp() throws IOException {
+        clearOutputDirs();
+        errors.clear();
     }
 
 
     @Test
-    @Ignore
     public void test_dupetype_diffns() throws Exception {
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("bar", "elName", "string", "attrName", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject[] schemas = {obj1};
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+
+        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("bar", "elName", "attrName", "string"));
+        XmlObject[] schemas2 = {obj2};
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
+
+        assertNotNull("BASE: Baz elName was not found", base.findElement(new QName("http://baz", "elName")));
+        // assertNotNull("INCR: Baz elName was not found", incr.findElement(new QName("http://baz", "elName")));
+        assertNotNull("INCR: Bar elName was not found", incr.findElement(new QName("http://bar", "elName")));
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr;
-        try {
-            incr = incrCompileXsd(base, schemas2, builtin, xm);
-        } catch (XmlException xmlEx) {
-            throw new Exception(xmlEx.getError().toString());
-        }
-        if (base.findElement(new QName("http://baz", "elName")) == null)
-            throw new Exception("BASE: Baz elName was not found");
-
-        if (incr.findElement(new QName("http://baz", "elName")) == null)
-            throw new Exception("INCR: Baz elName was not found");
-        for (int i = 0; i < incr.globalElements().length; i++) {
-            System.out.println("[" + i + "]-" + incr.globalElements()[i].getName());
-        }
-
-        for (int i = 0; i < base.globalElements().length; i++) {
-            System.out.println("[" + i + "]-" + base.globalElements()[i].getName());
-        }
-
-        if (incr.findElement(new QName("http://bar", "elName")) == null)
-            throw new Exception("INCR: Bar elName was not found");
-
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
     @Test
-    @Ignore("Duplicate global type")
+    @Ignore("incremental build / test doesn't provide new elements")
     public void test_dupens_difftypename() throws Exception {
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName2", "string", "attrName2", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject obj2 = XmlObject.Factory.parse(getRedefSchema("baz", "elName2", "attrName2", "string"));
+        XmlObject[] schemas = {obj1};
+        XmlObject[] schemas2 = {obj2};
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName"),
                                         new QName("http://baz", "elName2")};
@@ -109,57 +163,21 @@ public class IncrCompilationTests extend
         findElementbyQName(base, baseTypes);
         findElementbyQName(incr, incrTypes);
 
-        compareandPopErrors(out, outincr, errors);
-        handleErrors(errors);
-    }
-
-
-    /**
-     * This test should not change sts since xmlobject is same
-     * @throws Exception
-     */
-    @Test
-    @Ignore("Duplicate global type")
-    public void test_dupens_dupetypename() throws Exception {
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
-
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
-
-        echoSts(base, incr);
-        QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
-        QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
-
-        findElementbyQName(base, baseTypes);
-        findElementbyQName(incr, incrTypes);
-
-        if(!base.equals(incr))
-            throw new Exception("This type system should not have changed");
-
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
     @Test
-    @Ignore("Duplicate global type")
+    @Ignore("works in standalone, doesn't work in Jenkins")
     public void test_dupens_attrnamechange() throws Exception {
-        //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName2", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject obj2 = XmlObject.Factory.parse(getRedefSchema("baz", "elName", "attrName2", "string"));
+        XmlObject[] schemas = {obj1};
+        XmlObject[] schemas2 = {obj2};
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -168,25 +186,22 @@ public class IncrCompilationTests extend
 
         assertNotSame(base, incr);
 
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
     @Test
-    @Ignore("Duplicate global type")
+    @Ignore("works in standalone, doesn't work in Jenkins")
     public void test_dupens_attrtypechange() throws Exception {
         //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "int"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject obj2 = XmlObject.Factory.parse(getRedefSchema("baz", "elName", "attrName", "int"));
+        XmlObject[] schemas = {obj1};
+        XmlObject[] schemas2 = {obj2};
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -195,25 +210,22 @@ public class IncrCompilationTests extend
 
         assertNotSame(base, incr);
 
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
     @Test
-    @Ignore("Duplicate global type")
+    @Ignore("works in standalone, doesn't work in Jenkins")
     public void test_dupens_eltypechange() throws Exception {
         //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "int", "attrName", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject obj2 = XmlObject.Factory.parse(getRedefSchema("baz", "elName", "attrName", "string"));
+        XmlObject[] schemas = {obj1};
+        XmlObject[] schemas2 = {obj2};
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -223,25 +235,21 @@ public class IncrCompilationTests extend
         //        if (incr.findElement(incrTypes[0]).getType().g
         assertNotSame(base, incr);
 
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
     @Test
-    @Ignore("Duplicate global type")
     public void test_typechange() throws Exception {
         //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "string", "attrName", "string"));
-        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "int", "attrName2", "string"));
-        XmlObject[] schemas = new XmlObject[]{obj1};
-        XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
+        XmlObject obj1 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName", "string"));
+        XmlObject obj2 = XmlObject.Factory.parse(getBaseSchema("baz", "elName", "attrName2", "string"));
+        XmlObject[] schemas = {obj1};
+        XmlObject[] schemas2 = {obj2};
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -250,7 +258,7 @@ public class IncrCompilationTests extend
 
         assertNotSame(base, incr);
 
-        compareandPopErrors(out, outincr, errors);
+        // compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
 
@@ -272,7 +280,7 @@ public class IncrCompilationTests extend
         // create a new filer here with the incrCompile flag value set to 'true'
         Filer filer = new FilerImpl(out, out, null, true, true);
         SchemaTypeSystem base = XmlBeans.compileXmlBeans("teststs",null,schemas,null,builtin,filer,xm);
-        Assert.assertNotNull("Compilation failed during Incremental Compile.", base);
+        assertNotNull("Compilation failed during Incremental Compile.", base);
         base.saveToDirectory(out);
 
         // get timestamps for first compile
@@ -284,7 +292,7 @@ public class IncrCompilationTests extend
         Map<String,Long> recompileTimeStamps = new HashMap<>();
         Filer filer2 = new FilerImpl(out, out, null, true, true);
         SchemaTypeSystem incr = XmlBeans.compileXmlBeans("teststs",base,schemas2,null,builtin,filer2,xm);
-        Assert.assertNotNull("Compilation failed during Incremental Compile.", incr);
+        assertNotNull("Compilation failed during Incremental Compile.", incr);
         incr.saveToDirectory(out);
         recordTimeStamps(out, recompileTimeStamps);
 
@@ -314,7 +322,7 @@ public class IncrCompilationTests extend
         // create a new filer here with the incrCompile flag value set to 'true'
         Filer filer = new FilerImpl(out, out, null, true, true);
         SchemaTypeSystem base = XmlBeans.compileXmlBeans("test",null,schemas,null,builtin,filer,xm);
-        Assert.assertNotNull("Compilation failed during Incremental Compile.", base);
+        assertNotNull("Compilation failed during Incremental Compile.", base);
         base.saveToDirectory(out);
 
         // get timestamps for first compile
@@ -325,7 +333,7 @@ public class IncrCompilationTests extend
         Map<String,Long> recompileTimeStamps = new HashMap<>();
         Filer filer2 = new FilerImpl(out, out, null, true, true);
         SchemaTypeSystem incr = XmlBeans.compileXmlBeans("test",base,schemas2,null,builtin,filer2,xm);
-        Assert.assertNotNull("Compilation failed during Incremental Compile.", incr);
+        assertNotNull("Compilation failed during Incremental Compile.", incr);
         incr.saveToDirectory(out);
         recordTimeStamps(out, recompileTimeStamps);
 
@@ -353,24 +361,41 @@ public class IncrCompilationTests extend
         handleErrors(errors);
     }
 
-    public boolean recordTimeStamps(File inputDir, Map<String,Long> timeStampResults) throws Exception
-    {
-        if (timeStampResults == null){
+    static File getBaseSchema(String namespace, String elTypeName, String attrTypeName, String attrType) throws IOException {
+        String xsd = XSD_BASE
+            .replace("#namespace#", namespace)
+            .replace("#elTypeName#", elTypeName)
+            .replace("#attrTypeName#", attrTypeName)
+            .replace("#attrType#", attrType)
+        ;
+
+        Files.write(OBJ_1.toPath(), xsd.getBytes(StandardCharsets.UTF_8), CREATE, TRUNCATE_EXISTING);
+
+        return OBJ_1;
+    }
+
+    static File getRedefSchema(String namespace, String elTypeName, String attrTypeName, String attrType) throws IOException {
+        String xsd = XSD_REDEF
+            .replace("#namespace#", namespace)
+            .replace("#attrTypeName#", attrTypeName)
+            .replace("#attrType#", attrType)
+            ;
+
+        Files.write(OBJ_2.toPath(), xsd.getBytes(StandardCharsets.UTF_8), CREATE, TRUNCATE_EXISTING);
+
+        return OBJ_2;
+    }
+
+    public boolean recordTimeStamps(File inputDir, Map<String,Long> timeStampResults) throws Exception {
+        if (timeStampResults == null || inputDir == null || !inputDir.exists()) {
             return false;
         }
 
-        if(inputDir == null)
-            return false;
-        if(!inputDir.exists())
-            return false;
-        if(inputDir.isFile())
-        {
-            //System.out.println("File:" + inputDir.getCanonicalPath() + "\t:" + inputDir.lastModified());
+        if(inputDir.isFile()) {
             return true;
         }
 
         for (File file : Objects.requireNonNull(inputDir.listFiles())) {
-            //System.out.println("Dir :"+ child[i].getCanonicalPath() + "\t:" + child[i].lastModified());
             if (file.getName().endsWith(".java")) {
                 timeStampResults.put(file.getCanonicalPath(), file.lastModified());
             }
@@ -379,41 +404,4 @@ public class IncrCompilationTests extend
 
         return true;
     }
-
-    private static final String schemaFilesRegeneration_schema1 =
-        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
-        "<xs:schema " +
-        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
-        "targetNamespace=\"http://openuri.org\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
-        "<xs:element name=\"TestElement\" type=\"bas:aType\" xmlns:bas=\"http://openuri.org\" />" +
-        "<xs:element name=\"NewTestElement\" type=\"bas:bType\" xmlns:bas=\"http://openuri.org\" />" +
-        "<xs:complexType name=\"aType\">" +
-        "<xs:simpleContent>" +
-        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
-        "<xs:attribute type=\"xs:string\" name=\"stringAttr\" />" +
-        "</xs:extension>" +
-        "</xs:simpleContent>" +
-        "</xs:complexType>" +
-        "<xs:complexType name=\"bType\">" +
-        "<xs:simpleContent>" +
-        "<xs:extension base=\"xs:integer\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
-        "</xs:extension>" +
-        "</xs:simpleContent>" +
-        "</xs:complexType>" +
-        "</xs:schema>";
-
-    private static final String schemaFilesRegeneration_schema1_modified =
-        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
-        "<xs:schema " +
-        "attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" " +
-        "targetNamespace=\"http://openuri.org\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
-        "<xs:element name=\"TestElement\" type=\"bas:aType\" xmlns:bas=\"http://openuri.org\" />" +
-        "<xs:complexType name=\"aType\">" +
-        "<xs:simpleContent>" +
-        "<xs:extension base=\"xs:string\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" >" +
-        "<xs:attribute type=\"xs:token\" name=\"tokenAttr\" />" +
-        "</xs:extension>" +
-        "</xs:simpleContent>" +
-        "</xs:complexType>" +
-        "</xs:schema>";
 }

Modified: xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/ModelGroupTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/ModelGroupTests.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/ModelGroupTests.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/ModelGroupTests.java Sun Jan  9 20:41:40 2022
@@ -15,12 +15,7 @@
 
 package compile.scomp.incr.schemaCompile.detailed;
 
-import compile.scomp.common.CompileCommon;
-import compile.scomp.common.CompileTestBase;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -33,26 +28,33 @@ import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.List;
 
+import static compile.scomp.common.CompileTestBase.*;
+import static compile.scomp.incr.schemaCompile.detailed.IncrCompilationTests.getBaseSchema;
 import static org.junit.Assert.assertNotSame;
 
 
 @Ignore("Currently all tests receive a duplicate schema entry exception")
-public class ModelGroupTests extends CompileTestBase {
+public class ModelGroupTests {
 
-    File obj1File, obj2File;
+    private static final File outincr = xbeanOutput(INCR_PATH);
+    private static final File out = xbeanOutput(OUT_PATH);
 
-    @Before
-    public void setUp() throws IOException {
-        CompileCommon.deltree(CompileCommon.xbeanOutput(outputDir));
-        out = CompileCommon.xbeanOutput(outPath);
-        sanity = CompileCommon.xbeanOutput(sanityPath);
-        outincr = CompileCommon.xbeanOutput(incrPath);
+    private final List<XmlError> errors = new ArrayList<>();
+    private final XmlOptions xm = new XmlOptions();
 
-        errors = new ArrayList<>();
-        xm = new XmlOptions();
+    private File obj1File, obj2File;
+
+    public ModelGroupTests() {
         xm.setErrorListener(errors);
         xm.setSavePrettyPrint();
+    }
+
+    @Before
+    public void setUp() throws IOException {
+        clearOutputDirs();
+        errors.clear();
 
         obj1File = File.createTempFile("obj1_", ".xsd");
         obj2File = File.createTempFile("obj2_", ".xsd");
@@ -60,9 +62,6 @@ public class ModelGroupTests extends Com
 
     @After
     public void tearDown() throws Exception {
-        if (errors.size() > 0) {
-            errors.clear();
-        }
         obj1File.delete();
         obj2File.delete();
     }
@@ -104,10 +103,9 @@ public class ModelGroupTests extends Com
                 "</xs:sequence>" +
                 "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -125,26 +123,25 @@ public class ModelGroupTests extends Com
     public void test_model_seq2choicechange() throws Exception {
         //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
         XmlObject[] schemas = getSchema(obj1File,
-                "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
-                "<xs:complexType name=\"aType\">" +
-                "<xs:sequence>" +
-                "<xs:element name=\"a\" type=\"xs:string\" />" +
-                "<xs:element name=\"b\" type=\"xs:string\" />" +
-                "</xs:sequence>" +
-                "</xs:complexType>");
+            "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
+            "<xs:complexType name=\"aType\">" +
+            "<xs:sequence>" +
+            "<xs:element name=\"a\" type=\"xs:string\" />" +
+            "<xs:element name=\"b\" type=\"xs:string\" />" +
+            "</xs:sequence>" +
+            "</xs:complexType>");
         XmlObject[] schemas2 = getSchema(obj2File,
-                "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
-                "<xs:complexType name=\"aType\">" +
-                "<xs:choice>" +
-                "<xs:element name=\"a\" type=\"xs:string\" />" +
-                "<xs:element name=\"b\" type=\"xs:string\" />" +
-                "</xs:choice>" +
-                "</xs:complexType>");
+            "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
+            "<xs:complexType name=\"aType\">" +
+            "<xs:choice>" +
+            "<xs:element name=\"a\" type=\"xs:string\" />" +
+            "<xs:element name=\"b\" type=\"xs:string\" />" +
+            "</xs:choice>" +
+            "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -159,22 +156,20 @@ public class ModelGroupTests extends Com
 
     @Test
     public void test_model_seq2choicechange_diffns() throws Exception {
-        //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject[] schemas = getSchema(obj1File,
-            getBaseSchema("bar", "elName", "string", "attrName", "string"));
+        XmlObject[] schemas = {XmlObject.Factory.parse(getBaseSchema("bar", "elName", "attrName", "string"))};
+
         XmlObject[] schemas2 = getSchema(obj2File,
-                "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
-                "<xs:complexType name=\"aType\">" +
-                "<xs:sequence>" +
-                "<xs:element name=\"a\" type=\"xs:string\" />" +
-                "<xs:element name=\"b\" type=\"xs:string\" />" +
-                "</xs:sequence>" +
-                "</xs:complexType>");
+            "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
+            "<xs:complexType name=\"aType\">" +
+            "<xs:sequence>" +
+            "<xs:element name=\"a\" type=\"xs:string\" />" +
+            "<xs:element name=\"b\" type=\"xs:string\" />" +
+            "</xs:sequence>" +
+            "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://bar", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -208,10 +203,9 @@ public class ModelGroupTests extends Com
                 "</xs:all>" +
                 "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -245,10 +239,9 @@ public class ModelGroupTests extends Com
                 "</xs:sequence>" +
                 "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -282,10 +275,9 @@ public class ModelGroupTests extends Com
                 "</xs:choice>" +
                 "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 
@@ -319,10 +311,9 @@ public class ModelGroupTests extends Com
                 "</xs:all>" +
                 "</xs:complexType>");
 
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
 
-        echoSts(base, incr);
         QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
         QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
 

Modified: xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/PerfTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/PerfTests.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/PerfTests.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/incr/schemaCompile/detailed/PerfTests.java Sun Jan  9 20:41:40 2022
@@ -15,80 +15,102 @@
 
 package compile.scomp.incr.schemaCompile.detailed;
 
-import compile.scomp.common.CompileCommon;
-import compile.scomp.common.CompileTestBase;
 import org.apache.xmlbeans.SchemaTypeSystem;
+import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
 import javax.xml.namespace.QName;
+import java.io.File;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.ArrayList;
+import java.util.List;
 
+import static compile.scomp.common.CompileTestBase.*;
+import static java.nio.file.StandardOpenOption.CREATE;
+import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING;
 import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
 
-public class PerfTests extends CompileTestBase {
-    @Before
-    public void setUp() throws IOException {
-        CompileCommon.deltree(CompileCommon.xbeanOutput(outputDir));
-        out = CompileCommon.xbeanOutput(outPath);
-        sanity = CompileCommon.xbeanOutput(sanityPath);
-        outincr = CompileCommon.xbeanOutput(incrPath);
+public class PerfTests {
+
+    private static final File outincr = xbeanOutput(INCR_PATH);
+    private static final File out = xbeanOutput(OUT_PATH);
+    private static final File OBJ_FILE_1 = new File(out, "obj1.xsd");
+    private static final File OBJ_FILE_2 = new File(outincr, "obj2.xsd");
+
+    private static final String XSD1 =
+        getSchemaTop("baz") +
+       "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
+       "<xs:complexType name=\"aType\">" +
+       "<xs:choice>" +
+       "<xs:element name=\"a\" type=\"xs:string\" />" +
+       "<xs:element name=\"b\" type=\"xs:string\" />" +
+       "</xs:choice>" +
+       "</xs:complexType>" +
+       getSchemaBottom();
+
+    private static final String XSD2 =
+        getSchemaTop("baz") +
+        "<xs:redefine schemaLocation=\"" + OBJ_FILE_1.toURI() + "\">" +
+        "<xs:complexType name=\"aType\">" +
+        "<xs:sequence>" +
+        "<xs:element name=\"a\" type=\"xs:string\" />" +
+        "<xs:element name=\"b\" type=\"xs:string\" />" +
+        "</xs:sequence>" +
+        "</xs:complexType>" +
+        "</xs:redefine>" +
+        getSchemaBottom();
+
 
-        errors = new ArrayList<>();
-        xm = new XmlOptions();
+    private final List<XmlError> errors = new ArrayList<>();
+    private final XmlOptions xm = new XmlOptions();
+
+    public PerfTests() {
         xm.setErrorListener(errors);
         xm.setSavePrettyPrint();
     }
 
-    @After
-    public void tearDown() throws Exception {
-        if (errors.size() > 0)
-            errors.clear();
+    @Before
+    public void setUp() throws IOException {
+        clearOutputDirs();
+        errors.clear();
     }
 
-    @Ignore("throws duplicate global type")
     @Test
+    @Ignore("works in standalone, doesn't work in Jenkins")
     public void test_perf_choice2seqchange() throws Exception {
-        //XmlObject.Factory.parse(getBaseSchema("baz","elName", "elType", "attrName","attrType"));
-        XmlObject obj1 = XmlObject.Factory.parse(getSchemaTop("baz") +
-                "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
-                "<xs:complexType name=\"aType\">" +
-                "<xs:choice>" +
-                "<xs:element name=\"a\" type=\"xs:string\" />" +
-                "<xs:element name=\"b\" type=\"xs:string\" />" +
-                "</xs:choice>" +
-                "</xs:complexType>" + getSchemaBottom());
-        XmlObject obj2 = XmlObject.Factory.parse(getSchemaTop("baz") +
-                "<xs:element name=\"elName\" type=\"bas:aType\" xmlns:bas=\"http://baz\" />" +
-                "<xs:complexType name=\"aType\">" +
-                "<xs:sequence>" +
-                "<xs:element name=\"a\" type=\"xs:string\" />" +
-                "<xs:element name=\"b\" type=\"xs:string\" />" +
-                "</xs:sequence>" +
-                "</xs:complexType>" + getSchemaBottom());
+
+        Files.write(OBJ_FILE_1.toPath(), XSD1.getBytes(StandardCharsets.UTF_8), CREATE, TRUNCATE_EXISTING);
+        Files.write(OBJ_FILE_2.toPath(), XSD2.getBytes(StandardCharsets.UTF_8), CREATE, TRUNCATE_EXISTING);
+
+        XmlObject obj1 = XmlObject.Factory.parse(OBJ_FILE_1);
+        XmlObject obj2 = XmlObject.Factory.parse(OBJ_FILE_2);
         XmlObject[] schemas = new XmlObject[]{obj1};
         XmlObject[] schemas2 = new XmlObject[]{obj2};
-        schemas[0].documentProperties().setSourceName("obj1");
-        schemas2[0].documentProperties().setSourceName("obj2");
 
         long initBase = System.currentTimeMillis();
-        SchemaTypeSystem base = compileSchemas(schemas, builtin, xm);
+        SchemaTypeSystem base = compileSchemas(schemas, out, xm);
         long endBase = System.currentTimeMillis();
 
         long initIncr = System.currentTimeMillis();
-        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, builtin, xm);
+        SchemaTypeSystem incr = incrCompileXsd(base, schemas2, outincr, xm);
         long endIncr = System.currentTimeMillis();
 
-        checkPerf(initBase, endBase, initIncr, endIncr);
-        echoSts(base, incr);
-        QName[] baseTypes = new QName[]{new QName("http://baz", "elName")};
-        QName[] incrTypes = new QName[]{new QName("http://baz", "elName")};
+        long initTime = endBase - initBase;
+        long incrTime = endIncr - initIncr;
+        long diffTime = initTime - incrTime;
+
+        assertTrue("Perf Time Increased: " + diffTime, diffTime > 0);
+
+        QName[] baseTypes = {new QName("http://baz", "elName")};
+        QName[] incrTypes = {new QName("http://baz", "elName")};
 
         findElementbyQName(base, baseTypes);
         findElementbyQName(incr, incrTypes);
@@ -98,7 +120,4 @@ public class PerfTests extends CompileTe
         compareandPopErrors(out, outincr, errors);
         handleErrors(errors);
     }
-
-
-
 }

Modified: xmlbeans/trunk/src/test/java/compile/scomp/som/common/SomTestBase.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/som/common/SomTestBase.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/som/common/SomTestBase.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/som/common/SomTestBase.java Sun Jan  9 20:41:40 2022
@@ -28,23 +28,22 @@
  */
 package compile.scomp.som.common;
 
-import compile.scomp.common.CompileTestBase;
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.tool.Diff;
 import org.junit.Assert;
 
 import javax.xml.namespace.QName;
-import java.io.*;
+import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static common.Common.*;
+import static org.junit.Assert.*;
 
-public class SomTestBase extends CompileTestBase {
+public class SomTestBase {
     public static String casesRootDir = XBEAN_CASE_ROOT + P + "compile" + P + "som" + P;
     public static String somOutputRootDir = OUTPUTROOT + P + "som" + P;
     public static long runid;
@@ -59,146 +58,91 @@ public class SomTestBase extends Compile
                                   int expectedGlobalElems,
                                   int expectedGlobalAttrs,
                                   int expectedGlobalTypes,
-                                  int expectedAttrGroups) throws IOException {
-        // System.outs written to a log file in the build\test\output\som directory, one file per run
-        // ex. SOM_INSPECTION_RESULT_1107129259405.txt
-
-        File outDir = new File(somOutputRootDir);
-        assertTrue(outDir.exists() || outDir.mkdir());
-
-        // check if file exists already
-        String logFileName = somOutputRootDir + P + "SOM_INSPECTION_RESULT_" + runid + ".txt";
-        File outfile = new File(logFileName);
-
-        try (PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(outfile,true), UTF_8))) {
-
-            out.println("\n Call to inspectPSOM .. .. .. ..");
-            out.println("\n\n =======================================================");
-            out.println("Now Inspecting SOM for STS : " + schematypesys.getName());
-            out.println("=======================================================");
-            out.println("Input Params : #elems (" + expectedGlobalElems + "), #attr (" + expectedGlobalAttrs
-                        + "), #types (" + expectedGlobalTypes + "), #attr groups (" + expectedAttrGroups + ")");
-            out.println("-------------------------------------------------------");
-
-            out.println("New STUFF -------------------------------------------------------");
-            schematypesys.resolve();
-            if (schematypesys.isNamespaceDefined("TestNameSpace")) {
-                out.println("Name Space 'TestNameSpace' for this STS is define ..");
-            } else {
-                out.println("No Name Space 'TestNameSpace' for this STS is NOT ndefine ..");
-            }
-            out.println("End New STUFF -------------------------------------------------------");
+                                  int expectedAttrGroups) {
+        schematypesys.resolve();
+        // dummy call
+        schematypesys.isNamespaceDefined("TestNameSpace");
+        assertNotNull(schematypesys.getName());
+
+        // # of global attributes
+        assertEquals("Incorrect Number of Global Attributes in STS " + schematypesys.getName(), expectedGlobalAttrs, schematypesys.globalAttributes().length);
+        for (SchemaGlobalAttribute sga : schematypesys.globalAttributes()) {
+            assertNotNull(sga.getName());
+            assertNotNull(sga.getType());
+        }
 
-            // walk thro the SOM here
-            out.println("----- Loader Name      :" + schematypesys.getName());
+        // # of global elements
+        assertEquals("Incorrect Number of Global Elements in STS " + schematypesys.getName(), expectedGlobalElems, schematypesys.globalElements().length);
+        for (SchemaGlobalElement sge : schematypesys.globalElements()) {
+            assertNotNull(sge.getName());
+            assertNotNull(sge.getType());
+        }
 
-            // # of global attributes
-            out.println("----- # Global Attributes :" + schematypesys.globalAttributes().length);
-            assertEquals("Incorrect Number of Global Attributes in STS " + schematypesys.getName(), expectedGlobalAttrs, schematypesys.globalAttributes().length);
-            for (SchemaGlobalAttribute sga : schematypesys.globalAttributes()) {
-                out.println("\t------> Attr Name  :" + sga.getName());
-                out.println("\t------> Attr Type  :" + sga.getType());
-            }
+        // # of global Types
+        assertEquals("Incorrect Number of Global Types in STS " + schematypesys.getName(), expectedGlobalTypes, schematypesys.globalTypes().length);
+        for (SchemaType st : schematypesys.globalTypes()) {
+            assertNotNull(st.getName());
+        }
 
-            // # of global elements
-            out.println("----- # Global Elements :" + schematypesys.globalElements().length);
-            assertEquals("Incorrect Number of Global Elements in STS " + schematypesys.getName(), expectedGlobalElems, schematypesys.globalElements().length);
-            for (SchemaGlobalElement sge : schematypesys.globalElements()) {
-                out.println("\t------> Elem Name :" + sge.getName());
-                out.println("\t------> Elem Type :" + sge.getType());
-            }
+        // # of attribute Groups
+        assertEquals("Incorrect Number of Attribute Groups in STS " + schematypesys.getName(), expectedAttrGroups, schematypesys.attributeGroups().length);
+        for (SchemaAttributeGroup sag : schematypesys.attributeGroups()) {
+            assertNotNull(sag.getName());
+            assertNotNull(sag.getTypeSystem());
+        }
 
-            // # of global Types
-            out.println("----- # Global Types :" + schematypesys.globalTypes().length);
-            assertEquals("Incorrect Number of Global Types in STS " + schematypesys.getName(), expectedGlobalTypes, schematypesys.globalTypes().length);
-            for (SchemaType st : schematypesys.globalTypes()) {
-                out.println("\t------> TypeName:" + st.getName());
-            }
+        assertNotNull("Invalid Model Groups Collection returned in STS ", schematypesys.documentTypes());
+        for (SchemaModelGroup smg : schematypesys.modelGroups()) {
+            assertNotNull(smg.getName());
+            assertNotNull(smg.getTypeSystem());
+        }
 
-            // # of attribute Groups
-            out.println("----- # of Attribute Groups :" + schematypesys.attributeGroups().length);
-            assertEquals("Incorrect Number of Attribute Groups in STS " + schematypesys.getName(), expectedAttrGroups, schematypesys.attributeGroups().length);
-            for (SchemaAttributeGroup sag : schematypesys.attributeGroups()) {
-                out.println("\t------> Attr Group Name :" + sag.getName());
-                out.println("\t------> Attr STS   :" + sag.getTypeSystem());
-            }
+        assertNotNull("Invalid Annotations Collection returned in STS ", schematypesys.annotations());
+        for (SchemaAnnotation sa : schematypesys.annotations()) {
+            assertTrue(Stream.of(sa.getApplicationInformation()).allMatch(Objects::nonNull));
+            assertTrue(Stream.of(sa.getUserInformation()).allMatch(Objects::nonNull));
+        }
 
-            out.println("----- # of Model Groups :" + schematypesys.modelGroups().length);
-            Assert.assertNotNull("Invalid Model Groups Collection returned in STS ", schematypesys.documentTypes());
-            for (SchemaModelGroup smg : schematypesys.modelGroups()) {
-                out.println("\t------> Model Group Name:" + smg.getName());
-                out.println("\t------> Model Group STS :" + smg.getTypeSystem());
-            }
+        assertNotNull("Invalid Attribute Types Collection returned in STS ", schematypesys.attributeTypes());
+        for (SchemaType st : schematypesys.attributeTypes()) {
+            assertTrue(st.isAnonymousType() || st.getName() != null);
+            assertNotNull(st.getTypeSystem());
+        }
 
-            out.println("----- # of Schema Annotations :" + schematypesys.annotations().length);
-            Assert.assertNotNull("Invalid Annotations Collection returned in STS ", schematypesys.annotations());
-            for (SchemaAnnotation sa : schematypesys.annotations()) {
-                out.println("\t------> Annotation Application Info Array :" + Arrays.toString(sa.getApplicationInformation()));
-                out.println("\t------> Annotation User Info Array :" + Arrays.toString(sa.getUserInformation()));
-            }
+        assertNotNull("Invalid Document Types Collection returned in STS ", schematypesys.documentTypes());
+        for (SchemaType st : schematypesys.documentTypes()) {
+            assertTrue(st.isAnonymousType() || st.getName() != null);
+            assertNotNull(st.getTypeSystem());
+        }
 
-            out.println("----- # of Attribute Types :" + schematypesys.attributeTypes().length);
-            Assert.assertNotNull("Invalid Attribute Types Collection returned in STS ", schematypesys.attributeTypes());
+        // walk through the Schema Types of this STS in detail
+        for (SchemaType schema : schematypesys.globalTypes()) {
+            assertNotNull(schema.getName());
 
-            for (SchemaType st : schematypesys.attributeTypes()) {
-                out.println("\t------> Attr Type Name :" + st.getName());
-                out.println("\t------> Attr STS :" + st.getTypeSystem());
-            }
+            schema.isCompiled();
 
-            out.println("----- # of Document Types :" + schematypesys.documentTypes().length);
-            Assert.assertNotNull("Invalid Document Types Collection returned in STS ", schematypesys.documentTypes());
-            for (SchemaType st : schematypesys.documentTypes()) {
-                out.println("\t------> Doc Type Name :" + st.getName());
-                out.println("\t------> Doc Type STS  :" + st.getTypeSystem());
-            }
+            assertNotNull(schema.getContentType());
+            assertNotNull(schema.getName());
+            // assertNotNull(schema.getDocumentElementName());
+            // assertNotNull(schema.getAnnotation());
+            // assertNotNull(schema.getFullJavaName());
+            // assertNotNull(schema.getFullJavaImplName());
+            // assertNotNull(schema.getJavaClass());
+            // assertNotNull(schema.getSourceName());
 
-            // walk through the Schema Types of this STS in detail
-            out.println("\t=======================================================");
-            out.println("\tWalking thro Global Schema TYpes for STS : " + schematypesys.getName());
-            out.println("\t=======================================================");
-            for (SchemaType schema : schematypesys.globalTypes()) {
-                out.println("\n\t Schema Type :" + schema.getName());
-                out.println("\t=======================================================");
-
-                out.println("\t----Acessing New Schema Type ......");
-                if (schema.isCompiled()) {
-                    out.println("\t----This Schema has been successfully compiled");
-                } else {
-                    out.println("\t----This Schema has NOT compiled successfully yet");
-                }
-
-                out.println("\t----Content Type: " + schema.getContentType());
-                out.println("\t----Name: " + schema.getName());
-                out.println("\t----Doc Elem Name : " + schema.getDocumentElementName());
-                out.println("\t----Annotation (class) : " + schema.getAnnotation());
-                out.println("\t----Java Name : " + schema.getFullJavaName());
-                out.println("\t----Java Imp Name : " + schema.getFullJavaImplName());
-                out.println("\t----Java Class Name : " + schema.getJavaClass());
-                out.println("\t----XSD src File Name : " + schema.getSourceName());
-
-
-                // get Elements and Attributes
-                out.println("\t Elements & Attributes for Schema Type :" + schema.getName());
-                out.println("\t=======================================================");
-                SchemaProperty[] spropsArr = schema.getProperties();
-                for (SchemaProperty schemaProperty : spropsArr) {
-                    out.println("\t:::-> Each prop name : " + schemaProperty.getName());
-                }
-                out.println("\t=======================================================");
-
-                // other api's to look for
-                SchemaProperty[] sderviedpropArr = schema.getDerivedProperties();
-                for (SchemaProperty schemaProperty : sderviedpropArr) {
-                    out.println("\t+++-> Each derived prop name : " + schemaProperty.getName());
-                }
 
-                // TODO anonymus types
-                //schema.getAnonymousTypes();
+            // get Elements and Attributes
+            for (SchemaProperty schemaProperty : schema.getProperties()) {
+                assertNotNull(schemaProperty.getName());
+            }
 
+            // other api's to look for
+            for (SchemaProperty schemaProperty : schema.getDerivedProperties()) {
+                assertNotNull(schemaProperty.getName());
             }
-            out.println("-------------------------------------------------------");
 
-            out.println("Output for SchemaTypeSystem " + schematypesys.getName());
+            // TODO anonymus types
+            //schema.getAnonymousTypes();
         }
     }
 
@@ -209,19 +153,13 @@ public class SomTestBase extends Compile
         return sga != null;
     }
 
-    public boolean lookForElemInSTS(SchemaTypeSystem tgtSTS,
-                                    String sElemLocalName) {
+    public boolean lookForElemInSTS(SchemaTypeSystem tgtSTS, String sElemLocalName) {
         // The QName for the find is constructed using the local name since the schemas have no namespace
-        SchemaGlobalElement sge = tgtSTS.findElement(new QName(sElemLocalName));
-
-        return sge != null;
+        return tgtSTS.findElement(new QName(sElemLocalName)) != null;
     }
 
-    public boolean lookForIdentityConstraint(SchemaTypeSystem sts,
-                                             String ConstraintLocalName) {
-
-        SchemaIdentityConstraint.Ref icref = sts.findIdentityConstraintRef(new QName(ConstraintLocalName));
-        return icref != null;
+    public boolean lookForIdentityConstraint(SchemaTypeSystem sts, String ConstraintLocalName) {
+        return sts.findIdentityConstraintRef(new QName(ConstraintLocalName)) != null;
     }
 
     public boolean checkPSOMSave(SchemaTypeSystem tgtSTS) {
@@ -256,7 +194,7 @@ public class SomTestBase extends Compile
             return false;
         }
 
-        List<String> diff = new ArrayList<>();
+        List<XmlError> diff = new ArrayList<>();
         Diff.filesAsXsb(sts1, sts2, diff);
         if (diff.isEmpty()) {
             return true;

Modified: xmlbeans/trunk/src/test/java/compile/scomp/som/detailed/PartialSOMDetailedTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/compile/scomp/som/detailed/PartialSOMDetailedTest.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/compile/scomp/som/detailed/PartialSOMDetailedTest.java (original)
+++ xmlbeans/trunk/src/test/java/compile/scomp/som/detailed/PartialSOMDetailedTest.java Sun Jan  9 20:41:40 2022
@@ -512,8 +512,7 @@ public class PartialSOMDetailedTest exte
         assertNotNull("Schema Type System created is Null.", modifiedSTS);
 
         // no recovearble errors   just added another type
-        assertFalse("valid PSOM",
-            printRecoveredErrors());
+        assertFalse("valid PSOM", printRecoveredErrors());
 
         // the tests - Walk thro the valid SOM
         //inspectSOM(modifiedSTS, 13, 0, 14, 0);
@@ -547,8 +546,7 @@ public class PartialSOMDetailedTest exte
         assertNotNull("Schema Type System created is Null.", baseSTS);
 
         // there should be NO recovearble errors   this should not be a partial Schema
-        assertFalse("Recovered Errors for Valid Schema",
-            printRecoveredErrors());
+        assertFalse("Recovered Errors for Valid Schema", printRecoveredErrors());
     }
 
     @Test
@@ -565,12 +563,10 @@ public class PartialSOMDetailedTest exte
         assertNotNull("Schema Type System created is Null.", baseSTS);
 
         // there should be NO recovearble errors - this should not be a partial Schema
-        assertFalse("Recovered Errors for Valid Schema",
-            printRecoveredErrors());
+        assertFalse("Recovered Errors for Valid Schema", printRecoveredErrors());
 
         // Test for saving of the SOM - should go thro
-        assertTrue("Valid SOM " + baseSTS.getName() + "Save failed!",
-            checkPSOMSave(baseSTS));
+        assertTrue("Valid SOM " + baseSTS.getName() + "Save failed!", checkPSOMSave(baseSTS));
 
         // the tests - Walk thro the valid SOM
         inspectSOM(baseSTS, 2, 0, 1, 0);
@@ -593,12 +589,10 @@ public class PartialSOMDetailedTest exte
         assertNotNull("Schema Type System created is Null.", baseSTS);
 
         // there should be NO recovearble errors - this should not be a partial Schema
-        assertFalse("Recovered Errors for Valid Schema",
-            printRecoveredErrors());
+        assertFalse("Recovered Errors for Valid Schema", printRecoveredErrors());
 
         // Test for saving of the SOM - should go thro
-        assertTrue("Valid SOM " + baseSTS.getName() + "Save failed!",
-            checkPSOMSave(baseSTS));
+        assertTrue("Valid SOM " + baseSTS.getName() + "Save failed!", checkPSOMSave(baseSTS));
 
         // the tests - Walk thro the valid SOM
         inspectSOM(baseSTS, 1, 0, 0, 0);
@@ -611,8 +605,7 @@ public class PartialSOMDetailedTest exte
         assertNotNull("Schema Type System created is Null.", modifiedSTS);
 
         // no recovearble errors   just added another type
-        assertFalse("valid PSOM",
-            printRecoveredErrors());
+        assertFalse("valid PSOM", printRecoveredErrors());
 
         // the tests - Walk thro the valid SOM
         inspectSOM(modifiedSTS, 2, 0, 1, 0);

Modified: xmlbeans/trunk/src/test/java/misc/detailed/CharEscapeTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/detailed/CharEscapeTest.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/misc/detailed/CharEscapeTest.java (original)
+++ xmlbeans/trunk/src/test/java/misc/detailed/CharEscapeTest.java Sun Jan  9 20:41:40 2022
@@ -14,7 +14,6 @@
  */
 package misc.detailed;
 
-import common.Common;
 import jira.xmlbeans177.TestListDocument;
 import jira.xmlbeans177A.TestListADocument;
 import org.apache.xmlbeans.XmlException;
@@ -25,17 +24,13 @@ import org.junit.Test;
 import java.io.File;
 import java.util.HashMap;
 
+import static common.Common.P;
+import static common.Common.XBEAN_CASE_ROOT;
 import static org.junit.Assert.*;
 
-public class CharEscapeTest extends Common
-{
-    static final String inputFile =
-        XBEAN_CASE_ROOT + P + "misc" + P + "jira" + P + "xmlbeans_177.xml";
-    static final String inputFile2 =
-        XBEAN_CASE_ROOT + P + "misc" + P + "jira" + P + "xmlbeans_177a.xml";
-    //static final String outputDir = OUTPUTROOT + P + "misc";
-    //static final String outputFile1 = "xmlbeans_177_out1.xml";
-    //static final String outputFile2 = "xmlbeans_177_out2.xml";
+public class CharEscapeTest {
+    static final String inputFile = XBEAN_CASE_ROOT + P + "misc" + P + "jira" + P + "xmlbeans_177.xml";
+    static final String inputFile2 = XBEAN_CASE_ROOT + P + "misc" + P + "jira" + P + "xmlbeans_177a.xml";
 
     static final String start = "<jira:testList xmlns:jira=\"http://jira/xmlbeans_177\">";
     static final String end = "</jira:testList>";

Modified: xmlbeans/trunk/src/test/java/org/apache/xmlbeans/impl/tool/Diff.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/org/apache/xmlbeans/impl/tool/Diff.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/org/apache/xmlbeans/impl/tool/Diff.java (original)
+++ xmlbeans/trunk/src/test/java/org/apache/xmlbeans/impl/tool/Diff.java Sun Jan  9 20:41:40 2022
@@ -16,6 +16,7 @@
 package org.apache.xmlbeans.impl.tool;
 
 import org.apache.xmlbeans.SystemProperties;
+import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl;
 
 import java.io.*;
@@ -23,6 +24,7 @@ import java.nio.charset.StandardCharsets
 import java.util.*;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
+import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 
 public class Diff {
@@ -42,7 +44,7 @@ public class Diff {
             System.out.println("File \"" + args[1] + "\" not found.");
             return;
         }
-        List<String> result = new ArrayList<>();
+        List<XmlError> result = new ArrayList<>();
         if (file1.isDirectory()) {
             if (!file2.isDirectory()) {
                 System.out.println("Both parameters have to be directories if the first parameter is a directory.");
@@ -66,7 +68,7 @@ public class Diff {
             System.out.println("No differences encountered.");
         } else {
             System.out.println("Differences:");
-            for (String s : result) {
+            for (XmlError s : result) {
                 System.out.println(s);
             }
         }
@@ -76,7 +78,7 @@ public class Diff {
      * Diffs the contents of two jars, looking only at the schema typesystems
      * saved inside those jars
      */
-    public static void jarsAsTypeSystems(JarFile jar1, JarFile jar2, List<String> diffs) {
+    public static void jarsAsTypeSystems(JarFile jar1, JarFile jar2, List<XmlError> diffs) {
         Enumeration<JarEntry> entries1 = jar1.entries();
         Enumeration<JarEntry> entries2 = jar2.entries();
         List<ZipEntry> list1 = new ArrayList<>();
@@ -113,24 +115,20 @@ public class Diff {
                 i2++; // Move to next pair
             } else if (dif < 0) {
                 // dir1 contains a file that dir2 doesn't
-                diffs.add("Jar \"" + jar1.getName() + "\" contains an extra file: \"" +
-                          name1 + "\"");
+                diffs.add(XmlError.forMessage("Jar \"" + jar1.getName() + "\" contains an extra file: \"" + name1 + "\""));
                 i1++;
             } else {
                 // dir2 contains a file that dir1 doesn't
-                diffs.add("Jar \"" + jar2.getName() + "\" contains an extra file: \"" +
-                          name2 + "\"");
+                diffs.add(XmlError.forMessage("Jar \"" + jar2.getName() + "\" contains an extra file: \"" + name2 + "\""));
                 i2++;
             }
         }
         while (i1 < files1.length) {
-            diffs.add("Jar \"" + jar1.getName() + "\" contains an extra file: \"" +
-                      files1[i1].getName() + "\"");
+            diffs.add(XmlError.forMessage("Jar \"" + jar1.getName() + "\" contains an extra file: \"" + files1[i1].getName() + "\""));
             i1++;
         }
         while (i2 < files2.length) {
-            diffs.add("Jar \"" + jar2.getName() + "\" contains an extra file: \"" +
-                      files2[i2].getName() + "\"");
+            diffs.add(XmlError.forMessage("Jar \"" + jar2.getName() + "\" contains an extra file: \"" + files2[i2].getName() + "\""));
             i2++;
         }
     }
@@ -141,7 +139,7 @@ public class Diff {
      * Updated diffs with a list of differences (for the time being, strings
      * describing the difference)
      */
-    public static void dirsAsTypeSystems(File dir1, File dir2, List<String> diffs) {
+    public static void dirsAsTypeSystems(File dir1, File dir2, List<XmlError> diffs) {
         assert dir1.isDirectory() : "Parameters must be directories";
         assert dir2.isDirectory() : "Parameters must be directories";
 
@@ -168,13 +166,11 @@ public class Diff {
                     temp2 = null;
                 }
                 if (files1.length > 1) {
-                    diffs.add("More than one typesystem found in dir \"" +
-                              dir1.getName() + "\"");
+                    diffs.add(XmlError.forMessage("More than one typesystem found in dir \"" + dir1.getName() + "\""));
                     return;
                 }
                 if (files2.length > 1) {
-                    diffs.add("More than one typesystem found in dir \"" +
-                              dir2.getName() + "\"");
+                    diffs.add(XmlError.forMessage("More than one typesystem found in dir \"" + dir2.getName() + "\""));
                     return;
                 }
             }
@@ -190,10 +186,10 @@ public class Diff {
             return;
         } else if (temp1 == null || temp2 == null) {
             if (temp1 == null) {
-                diffs.add("No typesystems found in dir \"" + dir1 + "\"");
+                diffs.add(XmlError.forMessage("No typesystems found in dir \"" + dir1 + "\""));
             }
             if (temp2 == null) {
-                diffs.add("No typesystems found in dir \"" + dir2 + "\"");
+                diffs.add(XmlError.forMessage("No typesystems found in dir \"" + dir2 + "\""));
             }
             return;
         } else {
@@ -225,24 +221,20 @@ public class Diff {
                 i2++; // Move to next pair
             } else if (dif < 0) {
                 // dir1 contains a file that dir2 doesn't
-                diffs.add("Dir \"" + dir1.getName() + "\" contains an extra file: \"" +
-                          name1 + "\"");
+                diffs.add(XmlError.forMessage("Dir \"" + dir1.getName() + "\" contains an extra file: \"" + name1 + "\""));
                 i1++;
             } else {
                 // dir2 contains a file that dir1 doesn't
-                diffs.add("Dir \"" + dir2.getName() + "\" contains an extra file: \"" +
-                          name2 + "\"");
+                diffs.add(XmlError.forMessage("Dir \"" + dir2.getName() + "\" contains an extra file: \"" + name2 + "\""));
                 i2++;
             }
         }
         while (i1 < files1.length) {
-            diffs.add("Dir \"" + dir1.getName() + "\" contains an extra file: \"" +
-                      files1[i1].getName() + "\"");
+            diffs.add(XmlError.forMessage("Dir \"" + dir1.getName() + "\" contains an extra file: \"" + files1[i1].getName() + "\""));
             i1++;
         }
         while (i2 < files2.length) {
-            diffs.add("Dir \"" + dir2.getName() + "\" contains an extra file: \"" +
-                      files2[i2].getName() + "\"");
+            diffs.add(XmlError.forMessage("Dir \"" + dir2.getName() + "\" contains an extra file: \"" + files2[i2].getName() + "\""));
             i2++;
         }
     }
@@ -256,7 +248,7 @@ public class Diff {
      * Diffs the two given files assuming they are in xsb format
      * Updates diffs with differences in string format
      */
-    public static void filesAsXsb(File file1, File file2, List<String> diffs) {
+    public static void filesAsXsb(File file1, File file2, List<XmlError> diffs) {
         assert file1.exists() : "File \"" + file1.getAbsolutePath() + "\" does not exist.";
         assert file2.exists() : "File \"" + file2.getAbsolutePath() + "\" does not exist.";
         try (FileInputStream stream1 = new FileInputStream(file1);
@@ -267,7 +259,7 @@ public class Diff {
     }
 
     public static void zipEntriesAsXsb(ZipEntry file1, JarFile jar1,
-                                       ZipEntry file2, JarFile jar2, List<String> diffs) {
+                                       ZipEntry file2, JarFile jar2, List<XmlError> diffs) {
         try (InputStream stream1 = jar1.getInputStream(file1);
              InputStream stream2 = jar2.getInputStream(file2)) {
             streamsAsXsb(stream1, file1.getName(), stream2, file2.getName(), diffs);
@@ -276,7 +268,7 @@ public class Diff {
     }
 
     public static void streamsAsXsb(InputStream stream1, String name1,
-                                    InputStream stream2, String name2, List<String> diffs)
+                                    InputStream stream2, String name2, List<XmlError> diffs)
         throws IOException {
         String charset = StandardCharsets.UTF_8.name();
         ByteArrayOutputStream buf1 = new ByteArrayOutputStream();
@@ -284,7 +276,7 @@ public class Diff {
         XsbDumper.dump(stream1, "", new PrintStream(buf1, true, charset));
         XsbDumper.dump(stream2, "", new PrintStream(buf2, true, charset));
         readersAsText(new StringReader(buf1.toString(charset)), name1,
-            new StringReader(buf2.toString(charset)), name2, diffs);
+            new StringReader(buf2.toString(charset)), name2, diffs.stream().map(XmlError::getMessage).collect(Collectors.toList()));
     }
 
     public static void readersAsText(Reader r1, String name1, Reader r2, String name2,

Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/XmlLineNumberTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/XmlLineNumberTest.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/detailed/XmlLineNumberTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/XmlLineNumberTest.java Sun Jan  9 20:41:40 2022
@@ -14,7 +14,6 @@
  */
 package xmlcursor.detailed;
 
-import common.Common;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlLineNumber;
 import org.apache.xmlbeans.XmlObject;
@@ -23,9 +22,11 @@ import org.junit.Test;
 
 import java.io.File;
 
+import static common.Common.P;
+import static common.Common.XBEAN_CASE_ROOT;
 import static org.junit.Assert.*;
 
-public class XmlLineNumberTest extends Common {
+public class XmlLineNumberTest {
     public static final String xml =
         "<people><person born=\"1912\" died=\"1954\" id=\"p342\">\n" +
         "    <name>\n" +
@@ -34,8 +35,7 @@ public class XmlLineNumberTest extends C
         "</name>\n" +
         "</person></people>";
 
-    public static final String xmlFile =
-        XBEAN_CASE_ROOT + P + "xmlcursor" + P + "Employees.xml";
+    public static final String xmlFile = XBEAN_CASE_ROOT + P + "xmlcursor" + P + "Employees.xml";
 
     /**
      * test obtaining XmlLineNumber bookmark with option

Modified: xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java?rev=1896867&r1=1896866&r2=1896867&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java Sun Jan  9 20:41:40 2022
@@ -14,7 +14,6 @@
  */
 package xmlcursor.xquery.detailed;
 
-import common.Common;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
@@ -24,13 +23,14 @@ import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 
+import static common.Common.P;
+import static common.Common.XBEAN_CASE_ROOT;
 import static org.junit.Assert.*;
 
 /** This class tests the use of XmlOptions in binding XQuery variables */
-public class XQueryVariableBindingTest extends Common
+public class XQueryVariableBindingTest
 {
-    public static final String XQUERY_CASE_DIR =
-        XBEAN_CASE_ROOT + P + "xmlcursor" + P + "xquery";
+    public static final String XQUERY_CASE_DIR = XBEAN_CASE_ROOT + P + "xmlcursor" + P + "xquery";
     public static File dir = new File(XQUERY_CASE_DIR);
 
     private XmlCursor _testDocCursor1() throws Exception {



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