blob: 1f216c069fe9894dcdc633a93e6218fda251962e [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.typehelper;
import commonj.sdo.DataObject;
import commonj.sdo.Property;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import junit.textui.TestRunner;
import org.eclipse.persistence.sdo.SDOConstants;
import org.eclipse.persistence.sdo.SDOType;
import org.eclipse.persistence.testing.sdo.SDOTestCase;
public class OpenContentPropertiesByNameTestCases extends SDOTestCase {
public OpenContentPropertiesByNameTestCases(String name) {
super(name);
}
public static void main(String[] args) {
String[] arguments = { "-c", "org.eclipse.persistence.testing.sdo.helper.typehelper.OpenContentPropertiesByNameTestCases" };
TestRunner.main(arguments);
}
@Override
public void setUp() {
super.setUp();
try {
InputStream is = new FileInputStream("./org/eclipse/persistence/testing/sdo/schemas/GlobalElementsByName.xsd");
List types = xsdHelper.define(is, null);
} catch (Exception e) {
e.printStackTrace();
fail("An error occurred loading the xsd");
}
}
public void testLookupMethodsElements() {
//<xsd:element name="addressType" type="AddressType" sdoXML:name="addressTypeSDO"/>
Property typeProp = typeHelper.getOpenContentProperty("my.uri", "addressType");
assertNull(typeProp);
Property xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressType", true);
assertNotNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressType", false);
assertNull(xsdProp);
//<xsd:element name="addressType" type="AddressType" sdoXML:name="addressTypeSDO"/>
typeProp = typeHelper.getOpenContentProperty("my.uri", "addressTypeSDO");
assertNotNull(typeProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeSDO", true);
assertNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeSDO", false);
assertNull(xsdProp);
//<xsd:element name="customerType" type="CustomerType"/>
typeProp = typeHelper.getOpenContentProperty("my.uri", "customerType");
assertNotNull(typeProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "customerType", true);
assertNotNull(xsdProp);
assertEquals(typeProp, xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "customerType", false);
assertNull(xsdProp);
}
public void testLookupMethodsAttributes() {
//<xsd:attribute name="addressTypeAttr" type="AddressType" sdoXML:name="addressTypeAttrSDO"/>
Property typeProp = typeHelper.getOpenContentProperty("my.uri", "addressTypeAttr");
assertNull(typeProp);
Property xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeAttr", false);
assertNotNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeAttr", true);
assertNull(xsdProp);
//<xsd:attribute name="addressTypeAttr" type="AddressType" sdoXML:name="addressTypeAttrSDO"/>
typeProp = typeHelper.getOpenContentProperty("my.uri", "addressTypeAttrSDO");
assertNotNull(typeProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeAttrSDO", true);
assertNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "addressTypeAttrSDO", false);
assertNull(xsdProp);
//<xsd:attribute name="customerTypeAttr" type="CustomerType"/>
typeProp = typeHelper.getOpenContentProperty("my.uri", "customerTypeAttr");
assertNotNull(typeProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "customerTypeAttr", false);
assertNotNull(xsdProp);
assertEquals(typeProp, xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "customerTypeAttr", true);
assertNull(xsdProp);
}
public void testDefineOpenContentProperty() {
SDOType propertyType = (SDOType) typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.PROPERTY);
DataObject propDO = dataFactory.create(propertyType);
propDO.set("name", "testProp");
propDO.set("type", SDOConstants.SDO_STRING);
Property definedProp = typeHelper.defineOpenContentProperty("my.uri", propDO);
Property typeProp = typeHelper.getOpenContentProperty("my.uri", "testProp");
assertNotNull(typeProp);
assertEquals(definedProp, typeProp);
Property xsdProp = xsdHelper.getGlobalProperty("my.uri", "testProp", true);
assertNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "testProp", false);
assertNotNull(xsdProp);
}
public void testDefineOpenContentPropertyNullUri() {
SDOType propertyType = (SDOType) typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.PROPERTY);
DataObject propDO = dataFactory.create(propertyType);
propDO.set("name", "testProp");
propDO.set("type", SDOConstants.SDO_STRING);
typeHelper.defineOpenContentProperty(null, propDO);
Property typeProp = typeHelper.getOpenContentProperty("my.uri", "testProp");
assertNull(typeProp);
Property xsdProp = xsdHelper.getGlobalProperty("my.uri", "testProp", true);
assertNull(xsdProp);
xsdProp = xsdHelper.getGlobalProperty("my.uri", "testProp", false);
assertNull(xsdProp);
}
}