You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ce...@apache.org on 2005/03/10 00:21:22 UTC
svn commit: r156710 [5/5] - in xmlbeans/trunk/test: cases/xbean/compile/som/
cases/xbean/misc/ cases/xbean/misc/jira/ src/compile/scomp/som/checkin/
src/compile/scomp/som/common/ src/compile/scomp/som/detailed/
src/misc/common/ src/misc/detailed/
Added: xmlbeans/trunk/test/src/misc/detailed/JiraRegression50_100Test.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/src/misc/detailed/JiraRegression50_100Test.java?view=auto&rev=156710
==============================================================================
--- xmlbeans/trunk/test/src/misc/detailed/JiraRegression50_100Test.java (added)
+++ xmlbeans/trunk/test/src/misc/detailed/JiraRegression50_100Test.java Wed Mar 9 15:20:56 2005
@@ -0,0 +1,733 @@
+/* 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 misc.detailed;
+
+import junit.framework.Assert;
+import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.impl.tool.SchemaCompiler;
+import org.apache.xmlbeans.impl.xb.xmlconfig.ConfigDocument;
+import org.apache.beehive.netui.tools.testrecorder.x2004.session.RecorderSessionDocument;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentType;
+import org.w3c.dom.Node;
+
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.*;
+import java.net.URL;
+
+import tools.util.JarUtil;
+import test.xbean.xmlcursor.purchaseOrder.PurchaseOrderDocument;
+import testDateAttribute.TestElementWithDateAttributeDocument;
+import testDateAttribute.TestDatewTZone;
+import misc.common.JiraTestBase;
+import dufourrault.DummyDocument;
+import net.orthogony.xml.sample.structure.ARootDocument;
+import net.orthogony.xml.sample.structure.ChildType;
+
+
+public class JiraRegression50_100Test extends JiraTestBase
+{
+
+
+ public JiraRegression50_100Test(String name)
+ {
+ super(name);
+ }
+
+ ///**
+ // * [XMLBEANS-##] <BUG TITLE>
+ // */
+ //public void test_jira_XmlBeans45() throws Exception
+ //{
+ //
+ //}
+
+
+
+
+ /**
+ * [XMLBEANS-52] Validator loops when schema has certain conditions
+ */
+ public void test_jira_XmlBeans52() throws Exception{
+ //reusing code from method test_jira_XmlBeans48()
+ String correctXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
+ "<!--Sample XML file generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)--/> \n" +
+ "<aList xmlns=\"http://pfa.dk/dummy/errorInXmlBeansValidation.xsd\" " +
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
+ "xsi:schemaLocation=\"http://pfa.dk/dummy/errorInXmlBeansValidation.xsd \n" +
+ "C:\\pfa\\techr3\\TransformationWorkbench\\schema\\errorInXmlBeansValidation.xsd\"> \n" +
+ "<myListEntry> \n" +
+ "<HelloWorld>Hello World</HelloWorld> \n" +
+ "</myListEntry> \n" +
+ "</aList> ";
+
+
+ }
+
+ /*
+ * [XMLBEANS-54]: problem with default value
+ *
+ */
+ public void test_jira_xmlbeans54() throws Exception {
+ List errors = new ArrayList();
+
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+ params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_54.xsd_")});
+ params.setErrorListener(errors);
+ params.setSrcDir(schemaCompSrcDir);
+ params.setClassesDir(schemaCompClassesDir);
+ params.setDownload(true);
+ params.setNoPvr(true);
+
+ // Runs out of Heap Memory
+ params.setMemoryMaximumSize("1024m");
+ params.setMemoryInitialSize("512m");
+
+ try {
+ SchemaCompiler.compile(params);
+ } catch (OutOfMemoryError ome) {
+ System.out.println(ome.getStackTrace());
+ System.out.println("test_jira_xmlbeans54() - out of Heap Memory");
+ }
+
+ if (printOptionErrMsgs(errors)) {
+ Assert.fail("test_jira_xmlbeans54() : Errors found when executing scomp");
+ }
+ }
+
+ /**
+ * [XMLBEANS-56] samples issue with easypo schema and config file
+ */
+ public void test_jira_XmlBeans56() throws Exception
+ {
+ String xsdConfig = "<xb:config " +
+ " xmlns:xb=\"http://xml.apache.org/xmlbeans/2004/02/xbean/config\"\n" +
+ " xmlns:ep=\"http://openuri.org/easypo\">\n" +
+ " <xb:namespace uri=\"http://openuri.org/easypo\">\n" +
+ " <xb:package>com.easypo</xb:package>\n" +
+ " </xb:namespace>\n" +
+ " <xb:namespace uri=\"##any\">\n" +
+ " <xb:prefix>Xml</xb:prefix>\n" +
+ " <xb:suffix>Bean</xb:suffix>\n" +
+ " </xb:namespace>\n" +
+ " <xb:extension for=\"com.easypo.XmlCustomerBean\">\n" +
+ " <xb:interface name=\"myPackage.Foo\">\n" +
+ " <xb:staticHandler>myPackage.FooHandler</xb:staticHandler>\n" +
+ " </xb:interface>\n" +
+ " </xb:extension>\n" +
+ " <xb:qname name=\"ep:purchase-order\" javaname=\"purchaseOrderXXX\"/>\n" +
+ "</xb:config> ";
+ ConfigDocument config =
+ ConfigDocument.Factory.parse(xsdConfig);
+ xmOpts.setErrorListener(errorList);
+ if (config.validate(xmOpts)) {
+ System.out.println("Config Validated");
+ return;
+ } else {
+ System.err.println("Config File did not validate");
+ for (Iterator iterator = errorList.iterator(); iterator.hasNext();) {
+ System.out.println("Error: " + iterator.next());
+ }
+ throw new Exception("Config File did not validate");
+ }
+
+ }
+
+ /**
+ * [XMLBEANS-57] scomp failure for XSD namespace "DAV:"
+ */
+ public void test_jira_XmlBeans57() throws Exception
+ {
+ String P = File.separator;
+ String outputDir = fwroot + P + "build" +
+ P + "test" + P + "output" + P + "dav";
+
+ File srcDir = new File(outputDir + P + "src");
+ srcDir.mkdirs();
+ File classDir = new File(outputDir + P + "classes");
+ classDir.mkdirs();
+
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+ params.setXsdFiles(new File[]{new File(JIRA_CASES + "xmlbeans_57.xml")});
+ params.setErrorListener(errorList);
+ params.setSrcDir(srcDir);
+ params.setClassesDir(classDir);
+ SchemaCompiler.compile(params);
+ Collection errs = params.getErrorListener();
+ boolean outTextPresent = true;
+
+ if (errs.size() != 0) {
+ for (Iterator iterator = errs.iterator(); iterator.hasNext();) {
+ Object o = iterator.next();
+ String out = o.toString();
+ System.out.println("Dav: " + out);
+ if (out.startsWith("Compiled types to"))
+ outTextPresent = false;
+ }
+ }
+
+ //cleanup gen'd dirs
+ srcDir.deleteOnExit();
+ classDir.deleteOnExit();
+
+ if (outTextPresent)
+ System.out.println("No errors when running schemacompiler with DAV namespace");
+ else
+ throw new Exception("There were errors while compiling XSD with DAV " +
+ "namespace. See sys.out for more info");
+ }
+
+ /*
+ * [XMLBEANS-58]:resolving transitive <redefine>'d types...
+ * This is realted to xmlbeans36 - its the same case but the schemas seem to have been updated at the w3c site.
+ * Hence adding a new testcase with the new schemas
+ */
+ public void test_jira_xmlbeans58() throws Exception {
+ List errors = new ArrayList();
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+
+ params.setUrlFiles(new URL[]{new URL("http://devresource.hp.com/drc/specifications/wsrf/interfaces/WS-BrokeredNotification-1-0.wsdl")});
+ params.setErrorListener(errors);
+ params.setSrcDir(schemaCompSrcDir);
+ params.setClassesDir(schemaCompClassesDir);
+ params.setDownload(true);
+
+ SchemaCompiler.compile(params);
+ if (printOptionErrMsgs(errors)) {
+ Assert.fail("test_jira_xmlbeans55() : Errors found when executing scomp");
+ }
+
+ }
+
+
+ /**
+ * [XMLBEANS-62] Avoid class cast exception when compiling older schema namespace
+ */
+ public void test_jira_XmlBeans62() throws Exception
+ {
+ String P = File.separator;
+ String outputDir = System.getProperty("xbean.rootdir") + P + "build" +
+ P + "test" + P + "output" + P + "x1999";
+
+ File srcDir = new File(outputDir + P + "src");
+ srcDir.mkdirs();
+ File classDir = new File(outputDir + P + "classes");
+ classDir.mkdirs();
+
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+ params.setWsdlFiles(new File[]{new File(JIRA_CASES + "xmlbeans_62.xml")});
+ params.setErrorListener(errorList);
+ params.setSrcDir(srcDir);
+ params.setClassesDir(classDir);
+ SchemaCompiler.compile(params);
+ Collection errs = params.getErrorListener();
+ boolean warningPresent = false;
+ for (Iterator iterator = errs.iterator(); iterator.hasNext();) {
+ Object o = iterator.next();
+ String out = o.toString();
+ if (out.endsWith("did not have any schema documents in namespace 'http://www.w3.org/2001/XMLSchema'")) ;
+ warningPresent = true;
+ }
+
+ //cleanup gen'd dirs
+ srcDir.deleteOnExit();
+ classDir.deleteOnExit();
+
+ //validate error present
+ if (!warningPresent)
+ throw new Exception("Warning for 1999 schema was not found when compiling srcs");
+ else
+ System.out.println("Warning Present, test Passed");
+ }
+
+ /**
+ * [XMLBEANS-64] ArrayIndexOutOfBoundsException during validation
+ */
+ public void test_jira_XmlBeans64() throws Exception
+ {
+ // load the document
+ File inst = new File(JIRA_CASES + "xmlbeans_64.xml");
+ XmlObject doc = RecorderSessionDocument.Factory.parse(inst);
+ // validate
+ XmlOptions validateOptions = new XmlOptions();
+ validateOptions.setLoadLineNumbers();
+ ArrayList errorList = new ArrayList();
+ validateOptions.setErrorListener(errorList);
+ boolean isValid = doc.validate(validateOptions);
+
+ if (!isValid)
+ throw new Exception("Errors: " + errorList);
+ }
+
+ /**
+ * [XMLBEANS-66] NullPointerException when restricting a union with one of the union members
+ */
+ public void test_jira_XmlBeans66() throws Exception
+ {
+ String reproXsd = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
+ "<xsd:schema targetNamespace=\"http://www.w3.org/2003/12/XQueryX\" \n" +
+ " xmlns=\"http://www.w3.org/2003/12/XQueryX\" \n" +
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" \n" +
+ " elementFormDefault=\"qualified\" \n" +
+ " attributeFormDefault=\"qualified\"> \n" +
+ " <!-- Kludge for anySimpleType --> \n" +
+ " <xsd:simpleType name=\"constantValueType\"> \n" +
+ " <xsd:union memberTypes=\"xsd:integer xsd:decimal xsd:string xsd:double\"/> \n" +
+ " </xsd:simpleType> \n" +
+ " <!-- constant expressions. We have 4 different subclasses for this --> \n" +
+ " <xsd:complexType name=\"constantExpr\"> \n" +
+ " <xsd:sequence> \n" +
+ " <xsd:element name=\"value\" type=\"constantValueType\"/> \n" +
+ " </xsd:sequence> \n" +
+ " </xsd:complexType> \n" +
+ " <xsd:complexType name=\"integerConstantExpr\"> \n" +
+ " <xsd:complexContent> \n" +
+ " <xsd:restriction base=\"constantExpr\"> \n" +
+ " <xsd:sequence> \n" +
+ " <xsd:element name=\"value\" type=\"xsd:integer\"/> \n" +
+ " </xsd:sequence> \n" +
+ " </xsd:restriction> \n" +
+ " </xsd:complexContent> \n" +
+ " </xsd:complexType>" +
+ "<!-- added for element validation -->" +
+ "<xsd:element name=\"Kludge\" type=\"integerConstantExpr\" />\n" +
+ "</xsd:schema> ";
+
+ SchemaTypeLoader stl = makeSchemaTypeLoader(new String[]{reproXsd});
+ QName reproQName = new QName("http://www.w3.org/2003/12/XQueryX", "Kludge");
+ SchemaGlobalElement elVal = stl.findElement(reproQName);
+ Assert.assertTrue("Element is null or not found", (elVal != null));
+
+ String reproInst = "<Kludge xmlns=\"http://www.w3.org/2003/12/XQueryX\"><value>12</value></Kludge>";
+ validateInstance(new String[]{reproXsd}, new String[]{reproInst}, null);
+ }
+
+ /**
+ * [XMLBEANS-68] GDateBuilder outputs empty string when used without time or timezone
+ */
+ public void test_jira_XmlBeans68() throws Exception
+ {
+ Calendar cal = Calendar.getInstance();
+ GDateBuilder gdateBuilder = new GDateBuilder(cal);
+ gdateBuilder.clearTime();
+ gdateBuilder.clearTimeZone();
+ GDate gdate = gdateBuilder.toGDate();
+ TestDatewTZone xdate = TestDatewTZone.Factory.newInstance();
+ xdate.setGDateValue(gdate);
+ TestElementWithDateAttributeDocument doc =
+ TestElementWithDateAttributeDocument.Factory.newInstance();
+ TestElementWithDateAttributeDocument.TestElementWithDateAttribute root =
+ doc.addNewTestElementWithDateAttribute();
+
+ root.xsetSomeDate(xdate);
+ System.out.println("Doc: " + doc);
+ System.out.println("Date: " + xdate.getStringValue());
+
+ if (xdate.getStringValue().compareTo("") == 0 ||
+ xdate.getStringValue().length() <= 1)
+ throw new Exception("Date without TimeZone should not be empty");
+ if (root.getSomeDate().getTimeInMillis() != gdate.getCalendar().getTimeInMillis())
+ throw new Exception("Set Dates were not equal");
+ }
+
+ /**
+ * This issue needed an elementFormDefault=qualified added to the schema
+ * [XMLBEANS-71] when trying to retrieve data from a XMLBean with Input from a XML Document, we cannot get any data from the Bean.
+ */
+ public void test_jira_XmlBeans71() throws Exception
+ {
+ //schema src lives in cases/xbean/xmlobject/xmlbeans_71.xsd
+ abc.BazResponseDocument doc = abc.BazResponseDocument.Factory.parse(JarUtil.getResourceFromJarasFile("xbean/misc/jira/xmlbeans_71.xml"), xmOpts);
+ xmOpts.setErrorListener(errorList);
+ abc.BazResponseDocument.BazResponse baz = doc.getBazResponse();
+
+ if (!doc.validate(xmOpts))
+ System.out.println("DOC-ERRORS: " + errorList + "\n" + doc.xmlText());
+ else
+ System.out.println("DOC-XML:\n" + doc.xmlText());
+
+ errorList.removeAll(errorList);
+ xmOpts.setErrorListener(errorList);
+
+ if (!baz.validate(xmOpts))
+ System.out.println("BAZ-ERRORS: " + errorList + "\n" + baz.xmlText());
+ //throw new Exception("Response Document did not validate\n"+errorList);
+ else
+ System.out.println("BAZ-XML:\n" + baz.xmlText());
+
+ if (baz.getStatus().compareTo("SUCCESS") != 0)
+ throw new Exception("Status was not loaded properly");
+ else
+ System.out.println("Sucess was recieved correctly");
+ }
+
+
+ /**
+ * [XMLBEANS-72] Document properties are lost
+ */
+ public void test_jira_XmlBeans72() throws Exception
+ {
+ String docTypeName = "struts-config";
+ String docTypePublicID = "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN";
+ String docTypeSystemID = "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";
+ String fileName = "xmlbeans72.xml";
+
+ //create instance and set doc properties
+ PurchaseOrderDocument po = PurchaseOrderDocument.Factory.newInstance();
+ org.apache.xmlbeans.XmlDocumentProperties docProps = po.documentProperties();
+ docProps.setDoctypeName(docTypeName);
+ docProps.setDoctypePublicId(docTypePublicID);
+ docProps.setDoctypeSystemId(docTypeSystemID);
+ po.addNewPurchaseOrder();
+ po.save(new File(fileName));
+
+ //parse saved out file and verify values set above are present
+ PurchaseOrderDocument po2 = PurchaseOrderDocument.Factory.parse(new File(fileName));
+ //XmlObject po2 = XmlObject.Factory.parse(new File(fileName));
+
+ org.apache.xmlbeans.XmlDocumentProperties doc2Props = po2.documentProperties();
+
+ //verify information using DOM
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setValidating(false);
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document = builder.parse(new File(fileName));
+
+ DocumentType docType = document.getDoctype();
+
+ //System.out.println("Name: "+ doc2Props.getDoctypeName() +" = " + docType.getName());
+ //System.out.println("System: "+ doc2Props.getDoctypeSystemId() + " = " + docType.getSystemId());
+ //System.out.println("Public: "+ doc2Props.getDoctypePublicId()+ " = " + docType.getPublicId());
+
+ StringBuffer compareText = new StringBuffer();
+ //check values - compare to expected and DOM
+ if (doc2Props != null) {
+ if (doc2Props.getDoctypeName() == null ||
+ doc2Props.getDoctypeName().compareTo(docTypeName) != 0 ||
+ doc2Props.getDoctypeName().compareTo(docType.getName()) != 0)
+ compareText.append("docTypeName was not as " +
+ "expected in the document properties " +
+ doc2Props.getDoctypeName()+"\n");
+
+ if (doc2Props.getDoctypePublicId() == null ||
+ doc2Props.getDoctypePublicId().compareTo(docTypePublicID) != 0 ||
+ doc2Props.getDoctypePublicId().compareTo(docType.getPublicId()) != 0)
+ compareText.append("docTypePublicID was not as " +
+ "expected in the document properties " +
+ doc2Props.getDoctypePublicId()+"\n");
+
+ if (doc2Props.getDoctypeSystemId() == null ||
+ doc2Props.getDoctypeSystemId().compareTo(docTypeSystemID) != 0 ||
+ doc2Props.getDoctypeSystemId().compareTo(docType.getSystemId()) != 0)
+ compareText.append("docTypeSystemID was not as " +
+ "expected in the document properties "+
+ doc2Props.getDoctypeSystemId()+"\n" );
+ } else {
+ compareText.append("Document Properties were null, should have been set");
+ }
+
+ //cleanup
+ po2 = null;
+ po = null;
+ new File(fileName).deleteOnExit();
+
+ if (compareText.toString().length() > 1)
+ throw new Exception("Doc properties were not saved or read correctly\n" + compareText.toString());
+ }
+
+ /**
+ * BUGBUG: XMLBEANS-78 - NPE when processing XMLStreamReader Midstream
+ * XMLBEANS-78 - NPE when processing XMLStreamReader Midstream
+ *
+ * @throws Exception
+ */
+ public void test_jira_xmlbeans78() throws Exception
+ {
+ XMLInputFactory factory = XMLInputFactory.newInstance();
+ FileInputStream fis = new FileInputStream(new File(JIRA_CASES+ "xmlbeans_78.xml"));
+ XMLStreamReader reader = factory.createXMLStreamReader(fis);
+ skipToBody(reader);
+ XmlObject o = XmlObject.Factory.parse(reader);
+ }
+
+ /**
+ * Move reader to element of SOAP Body
+ *
+ * @param reader
+ * @throws javax.xml.stream.XMLStreamException
+ *
+ */
+ private void skipToBody(XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
+ {
+ while (true) {
+ int event = reader.next();
+ switch (event) {
+ case XMLStreamReader.END_DOCUMENT:
+ return;
+ case XMLStreamReader.START_ELEMENT:
+ if (reader.getLocalName().equals("Body")) {
+ return;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /**
+ * Repro case for jira issue
+ * XMLBEANS-80 problems in XPath selecting with namespaces and Predicates.
+ */
+ public void test_jira_xmlbeans80() throws Exception
+ {
+ String xpathDoc = "<?xml version=\"1.0\"?> \n" +
+ "<doc xmlns:ext=\"http://somebody.elses.extension\"> \n" +
+ " <ext:a test=\"test\" /> \n" +
+ " <b attr1=\"a1\" attr2=\"a2\" \n" +
+ " xmlns:java=\"http://xml.apache.org/xslt/java\"> \n" +
+ " <a> \n" +
+ " </a> \n" +
+ " </b> \n" +
+ "</doc> ";
+ XmlObject xb80 = XmlObject.Factory.parse(xpathDoc);
+ XmlObject[] resSet = xb80.selectPath("declare namespace " +
+ "ext='http://somebody.elses.extension'; $this//ext:a[@test='test']");
+
+ Assert.assertTrue(resSet.length == 1);
+ System.out.println("Result was: " + resSet[0].xmlText());
+ }
+
+ /**
+ * Repro case for jira issue
+ * XMLBEANS-81 Cursor selectPath() method not working with predicates
+ */
+ public void test_jira_xmlbeans81() throws Exception
+ {
+ String xpathDoc = "<MatchedRecords>" +
+ " <MatchedRecord>" +
+ " <TableName>" +
+ "ABC" +
+ "</TableName>" +
+ " </MatchedRecord>" +
+ " <MatchedRecord>" +
+ " <TableName>\n" +
+ " BCD \n" +
+ " </TableName> \n" +
+ " </MatchedRecord> \n" +
+ "</MatchedRecords> ";
+ XmlObject xb81 = XmlObject.Factory.parse(xpathDoc);
+ XmlObject[] resSet = xb81.selectPath("$this//MatchedRecord[TableName=\"ABC\"]/TableName");
+ assertEquals(resSet.length , 1);
+ XmlCursor cursor = xb81.newCursor();
+ cursor.selectPath("$this//MatchedRecord[TableName=\"ABC\"]/TableName");
+ }
+
+ /**
+ * XMLBeans-84 Cannot run XmlObject.selectPath using Jaxen in multi threaded environment
+ */
+ public void test_jira_XmlBeans84() throws Exception
+ {
+ XPathThread[] threads = new XPathThread[15];
+
+ for (int i = 0; i < threads.length; i++) {
+ threads[i] = new XPathThread();
+ System.out.println("Thread[" + i + "]-starting ");
+ threads[i].start();
+ }
+
+ Thread.sleep(6000);
+ System.out.println("Done with XPaths?...");
+
+ for (int i = 0; i < threads.length; i++) {
+ Assert.assertNull(threads[i].getException());
+ }
+
+ }
+
+ /*
+ * [XMLBEANS-88]:Cannot compile eBay schema
+ *
+ */
+ public void test_jira_xmlbeans88() throws Exception {
+ List errors = new ArrayList();
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+
+ params.setUrlFiles(new URL[]{new URL("http://developer.ebay.com/webservices/latest/eBaySvc.wsdl")});
+ params.setErrorListener(errors);
+ params.setSrcDir(schemaCompSrcDir);
+ params.setClassesDir(schemaCompClassesDir);
+ params.setDownload(true);
+
+ // ignore unique particle rule in order to compile this schema
+ params.setNoUpa(true);
+
+ // runs out of memory..
+ params.setMemoryMaximumSize("512m");
+
+ try {
+ SchemaCompiler.compile(params);
+ } catch (java.lang.OutOfMemoryError ome) {
+ System.out.println(ome.getCause());
+ System.out.println(ome.getMessage());
+ System.out.println(ome.getStackTrace());
+ Assert.fail("test_jira_xmlbeans88(): Out Of Memory Error");
+ } catch (Throwable t) {
+ t.getMessage();
+ System.out.println("Ok Some Exception is caught here");
+ }
+
+ if (printOptionErrMsgs(errors)) {
+ Assert.fail("test_jira_xmlbeans88() : Errors found when executing scomp");
+ }
+
+ }
+
+ /*
+ * [XMLBEANS-96]:XmlDocumentProperties missing version and encoding
+ *
+ */
+ public void test_jira_xmlbeans96() throws Exception {
+ StringBuffer xmlstringbuf = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
+ xmlstringbuf.append("<test>");
+ xmlstringbuf.append("<testchild attr=\"abcd\"> Jira02 </testchild>");
+ xmlstringbuf.append("</test>");
+
+ XmlObject doc = XmlObject.Factory.parse(xmlstringbuf.toString());
+ XmlDocumentProperties props = doc.documentProperties();
+ Assert.assertEquals("test_jira_xmlbeans96() : Xml Version is not picked up", props.getVersion(), "1.0");
+ Assert.assertEquals("test_jira_xmlbeans96() : Xml Encoding is not picked up", props.getEncoding(), "UTF-8");
+
+ }
+
+
+
+ /**
+ * [XMLBEANS-98] setSaveSuggestedPrefixes doesn't
+ * work for QName attribute values
+ *
+ * @throws Exception
+ */
+ public void test_jira_xmlbeans98() throws Exception {
+ String outfn = outputroot + "xmlbeans_98.xml";
+ String structnamespace = "http://www.orthogony.net/xml/sample/structure";
+ String datanamespace = "http://www.orthogony.net/xml/sample/data";
+ String schemaloc = "xmlbeans_98.xsd";
+ String xsinamespace = "http://www.w3.org/2001/XMLSchema-instance";
+
+ File out = new File(outfn);
+ XmlOptions options = new XmlOptions();
+
+ // associate namespaces with prefixes
+ Map prefixes = new HashMap();
+ prefixes.put(structnamespace, "s");
+ prefixes.put(datanamespace, "d");
+ prefixes.put(xsinamespace, "v");
+ options.setSaveSuggestedPrefixes(prefixes);
+ options.setSavePrettyPrint();
+
+ // create a sample document
+ ARootDocument doc = ARootDocument.Factory.newInstance();
+ ARootDocument.ARoot root = doc.addNewARoot();
+ ChildType child = root.addNewAChild();
+ // This is where the prefix map should take effect
+ child.setQualifiedData(new QName(datanamespace, "IAmQualified"));
+
+ // Add a schema location attribute to the doc element
+ XmlCursor c = root.newCursor();
+ c.toNextToken();
+ c.insertAttributeWithValue("schemaLocation", xsinamespace,
+ structnamespace + " " + schemaloc);
+
+ //String expXML = doc.xmlText(options.setSavePrettyPrint())
+ // save as XML text using the options
+ //System.out.println("OUT: \n"+doc.xmlText());
+ //doc.save(out, options);
+ doc.save(out, options);
+ XmlObject xObj = XmlObject.Factory.parse(out);
+
+ String expXText = "<s:a-root v:schemaLocation=\"http://www.orthogony.net/xml/sample/structure xmlbeans_98.xsd\" xmlns:s=\"http://www.orthogony.net/xml/sample/structure\" xmlns:v=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+ " <s:a-child qualified-data=\"data:IAmQualified\" xmlns:data=\"http://www.orthogony.net/xml/sample/data\"/>\n" +
+ "</s:a-root>";
+ XmlObject txtXObj = XmlObject.Factory.parse(doc.xmlText());
+ System.out.println("xObj: " + xObj.xmlText());
+ //NamedNodeMap n = xObj.getDomNode().getAttributes();
+ //Assert.assertTrue("Length was not as expected", n.getLength() == 3);
+ Node no = xObj.getDomNode();//n.getNamedItem("a-root");
+ Assert.assertTrue("Expected Prefix was not present: " + no.getPrefix(), no.getPrefix().compareTo("s") == 0);
+ //Assert.assertTrue("s prefix was not found " + no.lookupPrefix(structnamespace), no.lookupPrefix(structnamespace).compareTo("s") == 0);
+ //Assert.assertTrue("d prefix was not found " + no.lookupPrefix(datanamespace), no.lookupPrefix(datanamespace).compareTo("s") == 0);
+ //Assert.assertTrue("v prefix was not found " + no.lookupPrefix(xsinamespace), no.lookupPrefix(xsinamespace).compareTo("s") == 0);
+
+
+ // throw new Exception(out.getCanonicalPath());
+
+ }
+
+ /**
+ * [XMLBEANS-99] NPE/AssertionFailure in newDomNode()
+ *
+ * @throws Exception
+ */
+ public void test_jira_xmlbeans99_a() throws Exception {
+ //typed verification
+ DummyDocument doc = DummyDocument.Factory.parse(new File(JIRA_CASES + "xmlbeans_99.xml"));
+ org.w3c.dom.Node node = doc.newDomNode();
+ System.out.println("node = " + node);
+ //UnTyped Verification
+ XmlObject xObj = XmlObject.Factory.parse(new File(JIRA_CASES +
+ "xmlbeans_99.xml"));
+ org.w3c.dom.Node xNode = xObj.newDomNode();
+ System.out.println("xNode: " + xNode);
+ }
+
+ /*
+ * [XMLBEANS-99]: NPE/AssertionFailure in newDomNode()
+ * refer to [XMLBEANS-14]
+ */
+ public void test_jira_xmlbeans99_b() throws Exception {
+ StringBuffer xmlstringbuf = new StringBuffer("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?> \n");
+ xmlstringbuf.append(" <x:dummy xmlns:x=\"http://dufourrault\" xmlns:xsi=\"http://www.w3.org/2000/10/XMLSchema-instance\" xsi:SchemaLocation=\"dummy.xsd\">\n");
+ xmlstringbuf.append(" <x:father>\n");
+ xmlstringbuf.append(" <x:son>toto</x:son> \n");
+ xmlstringbuf.append(" </x:father>\n");
+ xmlstringbuf.append(" </x:dummy>");
+
+ try {
+ DummyDocument doc = DummyDocument.Factory.parse(xmlstringbuf.toString());
+ //Node node = doc.getDummy().getFather().newDomNode();
+ Node node = doc.newDomNode();
+ System.out.println("node = " + node);
+ } catch (NullPointerException npe) {
+ Assert.fail("test_jira_xmlbeans99() : Null Pointer Exception when create Dom Node");
+ } catch (Exception e) {
+ Assert.fail("test_jira_xmlbeans99() : Exception when create Dom Node");
+ }
+ }
+
+
+
+
+
+}
+
Added: xmlbeans/trunk/test/src/misc/detailed/JiraRegressionTest101_150.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/src/misc/detailed/JiraRegressionTest101_150.java?view=auto&rev=156710
==============================================================================
--- xmlbeans/trunk/test/src/misc/detailed/JiraRegressionTest101_150.java (added)
+++ xmlbeans/trunk/test/src/misc/detailed/JiraRegressionTest101_150.java Wed Mar 9 15:20:56 2005
@@ -0,0 +1,99 @@
+package misc.detailed;
+
+import junit.framework.Assert;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.io.File;
+
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlError;
+import org.apache.xmlbeans.impl.tool.SchemaCompiler;
+import misc.common.JiraTestBase;
+
+/**
+ *
+ */
+public class JiraRegressionTest101_150 extends JiraTestBase
+{
+ public JiraRegressionTest101_150(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * [XMLBEANS-103] XMLBeans - QName thread cache, cause memory leaks
+ * @throws Exception
+ */
+ public void test_jira_xmlbeans102a() throws Exception{
+ // set the parameters similar to those in the bug
+ SchemaCompiler.Parameters params = new SchemaCompiler.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");
+ outputDir.mkdirs();
+ params.setClassesDir(outputDir);
+ params.setSrcDir(outputDir);
+ // compile schema
+ SchemaCompiler.compile(params);
+ // check for jar - compilation success
+ if(!(new File(outputroot + P + "xmlbeans_102.jar").exists()) )
+ throw new Exception("Jar File was not found");
+ //cleanup
+ deltree(outputroot);
+ }
+
+ /*
+ * [XMLBEANS-102]: scomp - infinite loop during jar for specific xsd and params for netui_config.xsd
+ *
+ */
+ public void test_jira_xmlbeans102b() {
+ //Assert.fail("test_jira_xmlbeans102: Infinite loop after completion of parsing" );
+
+ SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
+ params.setOutputJar(new File(schemaCompOutputDirPath + "jira102.jar"));
+ params.setClassesDir(schemaCompClassesDir);
+
+ params.setXsdFiles(new File[]{new File(scompTestFilesRoot + "xmlbeans_102_netui-config.xsd_")});
+ List errors = new ArrayList();
+ params.setErrorListener(errors);
+ params.setSrcDir(schemaCompSrcDir);
+ params.setClassesDir(schemaCompClassesDir);
+
+ SchemaCompiler.compile(params);
+ if (printOptionErrMsgs(errors)) {
+ Assert.fail("test_jira_xmlbeans102() : Errors found when executing scomp");
+ }
+
+ }
+
+ /**
+ * NPE while initializing a type system w/ a type that extends
+ * an a complex type from a different type system
+ *
+ * @throws Exception
+ */
+ public void test_jira_xmlbeans105() throws Exception {
+ //run untyped parse
+ XmlObject obj = XmlObject.Factory.parse(new File(JIRA_CASES + "xmlbeans_105.xml"));
+
+ //run Typed Parse
+ jira.xmlbeans105.ResourceUnknownFaultDocument rud =
+ jira.xmlbeans105.ResourceUnknownFaultDocument.Factory.parse(new File(JIRA_CASES + "xmlbeans_105.xml"));
+
+ // / we know the instance is invalid
+ // make sure the error message is what is expected
+ rud.validate(xmOpts);
+ Assert.assertTrue("More Errors than expected", errorList.size() == 1);
+ Assert.assertTrue("Did not recieve the expected error code: " + ((XmlError) errorList.get(0)).getErrorCode(),
+ ((XmlError) errorList.get(0)).getErrorCode().compareToIgnoreCase("cvc-complex-type.2.4a") == 0);
+
+ }
+
+
+
+
+
+
+
+}
Modified: xmlbeans/trunk/test/src/misc/detailed/SampleRunner.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/src/misc/detailed/SampleRunner.java?view=diff&r1=156709&r2=156710
==============================================================================
--- xmlbeans/trunk/test/src/misc/detailed/SampleRunner.java (original)
+++ xmlbeans/trunk/test/src/misc/detailed/SampleRunner.java Wed Mar 9 15:20:56 2005
@@ -41,7 +41,7 @@
proj.setName("Samples Task Tests");
XMLBEANS_HOME = proj.getBaseDir().getAbsolutePath();
samples = new ArrayList();
- runSampleTest = new SamplesBuildFileTest("S2J Ant Task Wrapper");
+ runSampleTest = new SamplesBuildFileTest("Sample Ant Task Wrapper");
}
public void testSamples()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org