blob: fb41a03474ea9deadafcfc3b9de2b993981dfa2a [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.sdo.helper.xmlhelper.loadandsave.withoutxsd;
import commonj.sdo.DataObject;
import commonj.sdo.Property;
import commonj.sdo.helper.XMLDocument;
import java.util.List;
import junit.textui.TestRunner;
import org.eclipse.persistence.sdo.SDODataObject;
import org.eclipse.persistence.oxm.sequenced.Setting;
public class SomeKnownSomeUnknownTestCases extends LoadAndSaveUnknownTestCases {
public SomeKnownSomeUnknownTestCases(String name) {
super(name);
}
public static void main(String[] args) {
String[] arguments = { "-c", "org.eclipse.persistence.testing.sdo.helper.xmlhelper.loadandsave.withoutxsd.SomeKnownSomeUnknownTestCases" };
TestRunner.main(arguments);
}
@Override
protected String getControlFileName() {
return ("./org/eclipse/persistence/testing/sdo/helper/xmlhelper/withoutxsd/purchaseOrder.xml");
}
@Override
protected String getControlWriteFileName() {
return ("./org/eclipse/persistence/testing/sdo/helper/xmlhelper/withoutxsd/purchaseOrder_write.xml");
}
@Override
protected String getSchemaName() {
return "./org/eclipse/persistence/testing/sdo/helper/xmlhelper/withoutxsd/PurchaseOrder.xsd";
}
@Override
protected void verifyAfterLoad(XMLDocument document) {
assertNull(document.getRootObject().getContainer());
DataObject po = document.getRootObject();
assertNotNull(po);
DataObject shipTo = po.getDataObject("shipTo");
assertNotNull(shipTo);
assertNotNull(shipTo.get("street"));
assertEquals("123 Maple Street", shipTo.get("street"));
assertEquals(po, shipTo.getContainer());
DataObject billTo = po.getDataObject("billTo");
Property extraProp = billTo.getInstanceProperty("testExtra");
assertNotNull(extraProp);
List extraContentList = billTo.getList(extraProp);
assertEquals(1, extraContentList.size());
assertEquals("extraContext", extraContentList.get(0));
Setting setting = ((SDODataObject)billTo).getSettings().get(4);
assertNotNull(setting);
assertNotNull(billTo);
assertEquals(po, billTo.getContainer());
DataObject items = po.getDataObject("items");
assertNotNull(items);
assertEquals(po, items.getContainer());
DataObject item1 = (DataObject)items.getList("item").get(0);
assertNotNull(item1);
assertEquals(items, item1.getContainer());
DataObject item2 = (DataObject)items.getList("item").get(1);
assertNotNull(item2);
assertEquals(items, item2.getContainer());
//unmapped content
List phones = po.getList("phone");
assertEquals(2, phones.size());
DataObject phone = (DataObject)phones.get(0);
assertNotNull(phone);
assertEquals(po, phone.getContainer());
List addrs = phone.getList("addr");
assertEquals(1, addrs.size());
DataObject addr = (DataObject)addrs.get(0);
assertNotNull(addr);
assertEquals(phone, addr.getContainer());
List itemList = addr.getList("item");
assertEquals(1, itemList.size());
DataObject item = (DataObject)itemList.get(0);
assertNotNull(item);
assertEquals(addr, item.getContainer());
List dwellings = addr.getList("dwelling");
assertEquals(1, dwellings.size());
DataObject dwelling = (DataObject)dwellings.get(0);
assertNotNull(dwelling);
assertEquals(addr, dwelling.getContainer());
DataObject phone2 = (DataObject)phones.get(1);
assertNotNull(phone2);
List numList = phone2.getList("number");
assertEquals(1, numList.size());
assertEquals("12345678", numList.get(0));
List extList = phone2.getList("ext");
assertEquals(2, extList.size());
assertEquals("234", extList.get(0));
assertEquals("456", extList.get(1));
List companyNames = po.getList("companyName");
assertNotNull(companyNames);
String companyName = (String)companyNames.get(0);
Property attrProp = xsdHelper.getGlobalProperty("http://www.example.org", "globalTest", true);
assertNotNull(attrProp);
Property elemProp = xsdHelper.getGlobalProperty("http://www.example.org", "globalTest", false);
assertNotNull(elemProp);
String attrValue = phone.getString(attrProp);
// assertEquals("globalAttributeTest", attrValue);
String elemValue = phone.getString(elemProp);
//assertEquals("globalElementTest", elemValue);
}
}