blob: 28746ec5c118edde07a35fbe7f2ae5aedc283eb4 [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.model.dataobject.xpathquery;
import commonj.sdo.DataObject;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.persistence.sdo.SDOConstants;
import org.eclipse.persistence.sdo.SDODataObject;
import org.eclipse.persistence.sdo.SDOProperty;
import org.eclipse.persistence.sdo.SDOType;
import org.eclipse.persistence.testing.sdo.SDOTestCase;
public class SDODataObjectGetByXPathQueryTestCases extends SDOTestCase {
public SDODataObjectGetByXPathQueryTestCases(String name) {
super(name);
}
protected static final String URINAME = "uri";
protected static final String TYPENAME_A = "TypeName-a";
protected static final String TYPENAME_B = "TypeName-b";
protected static final String TYPENAME_C = "TypeName-c";
protected static final String TYPENAME_D = "TypeName-d";
protected static final String PROPERTY_NAME_A = "PName-a";
protected static final String PROPERTY_NAME_A0 = "PName-a0";
protected static final String PROPERTY_NAME_B = "PName-b";
protected static final String PROPERTY_NAME_B0 = "PName-b0";
protected static final String PROPERTY_NAME_B_NUMBER = "number";
protected static final String PROPERTY_NAME_C = "PName-c";
protected static final String PROPERTY_NAME_C0 = "PName-c0";
protected static final String PROPERTY_NAME_C_NUMBER = "number";
protected static final String PROPERTY_NAME_D_NUMBER = "number";
protected static final String property = "PName-a/PName-b.0/PName-c[number='123']";
protected static final String propertyD = "PName-a/PName-b.0/PName-c[number1='5.55']";
protected static final String property1 = "PName-a0/PName-b0[number='123']/PName-c0.0";
protected static final String propertyTest = "PName-a0/PName-b0[number='123']/";
protected static final String propertyTest1 = "PName-a0/PName-b0[number='1']/";
protected static final int PROPERTY_INDEX = 0;
protected static final String PROPERTY_NAME_A_LENGTH_1 = "PName-a-length-1";
protected SDODataObject dataObject_a;
protected SDODataObject dataObject_b;
protected SDODataObject dataObject_b0;
protected SDODataObject dataObject_b1;
protected SDODataObject dataObject_c;
protected SDODataObject dataObject_c0;
protected SDODataObject dataObject_c1;
protected SDODataObject dataObject_d0;
protected SDODataObject dataObject_d1;
protected SDOType type_a;
protected SDOType type_b;
protected SDOType type_b0;
protected SDOType type_b1;
protected SDOType type_c;
protected SDOType type_c0;
protected SDOType type_d;
protected SDOProperty property_a;
protected SDOProperty property_a0;
protected SDOProperty property_b;
protected SDOProperty property_b0;
protected SDOProperty property_b_number;
protected SDOProperty property_c;
protected SDOProperty property_c0;
protected SDOProperty property_c_number;
protected SDOProperty property_d_number;
protected SDOProperty property_d_number1;
protected SDOType baseType;
protected SDOProperty baseProperty1;
protected SDOProperty baseProperty2;
protected SDOType baseType1;
protected SDOProperty baseProperty3;
@Override
public void setUp() {// set up as a/b/c
super.setUp();
SDOType dataObjectType = (SDOType) typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.DATAOBJECT);
type_a = new SDOType(URINAME, TYPENAME_A);
type_b = new SDOType(URINAME, TYPENAME_B);
type_b.setOpen(true);
type_c = new SDOType(URINAME, TYPENAME_C);
type_c.setOpen(true);
type_b0 = new SDOType(URINAME, TYPENAME_B + "0");
type_c0 = new SDOType(URINAME, TYPENAME_C + "0");
property_a = new SDOProperty(aHelperContext);
property_a.setContainment(true);
property_a.setType(type_b);
property_a.setName(PROPERTY_NAME_A);
type_a.addDeclaredProperty(property_a);
property_a0 = new SDOProperty(aHelperContext);
property_a0.setContainment(true);
//property_a0.setMany(true);
property_a0.setType(type_b0);
property_a0.setName(PROPERTY_NAME_A0);
type_a.addDeclaredProperty(property_a0);
dataObject_a = (SDODataObject)dataFactory.create(type_a);
//b
property_b = new SDOProperty(aHelperContext);
property_b.setContainment(true);
property_b.setMany(true);
property_b.setName(PROPERTY_NAME_B);
property_b.setType(type_c);
List aliasNames = new ArrayList();
aliasNames.add("alias1");
aliasNames.add("alias2");
property_b.setAliasNames(aliasNames);
type_b.addDeclaredProperty(property_b);
dataObject_b = (SDODataObject)dataFactory.create(type_b);
//b0
property_b0 = new SDOProperty(aHelperContext);
property_b0.setContainment(true);
property_b0.setMany(true);
property_b0.setType(type_c0);
property_b0.setName(PROPERTY_NAME_B0);
List alias = new ArrayList();
alias.add("alias1");
alias.add("alias2");
property_b0.setAliasNames(alias);
type_b0.addDeclaredProperty(property_b0);
dataObject_b0 = (SDODataObject)dataFactory.create(type_b0);
//property_b_number = new SDOProperty(aHelperContext);
//property_b_number.setContainment(false);
//property_b_number.setMany(false);
//property_b_number.setName(PROPERTY_NAME_B_NUMBER);
//type_b0.addDeclaredProperty(property_b_number);
//b1
//dataObject_b1 = new SDODataObject();
//dataObject_b1.setType(type_b0);
//c
property_c = new SDOProperty(aHelperContext);
property_c.setName(PROPERTY_NAME_C);
property_c.setType(SDOConstants.SDO_STRING);
property_c.setMany(true);
type_c.addDeclaredProperty(property_c);
dataObject_c = (SDODataObject)dataFactory.create(type_c);
//c0
property_c0 = new SDOProperty(aHelperContext);
property_c0.setName(PROPERTY_NAME_C0);
property_c0.setContainment(true);
property_c0.setMany(true);
property_c0.setType(dataObjectType);
type_c0.addDeclaredProperty(property_c0);
property_c_number = new SDOProperty(aHelperContext);
property_c_number.setContainment(false);
property_c_number.setMany(false);
property_c_number.setName(PROPERTY_NAME_C_NUMBER);
property_c_number.setType(SDOConstants.SDO_STRING);
type_c0.addDeclaredProperty(property_c_number);
SDOProperty testProp = new SDOProperty(aHelperContext);
testProp.setName("test");
testProp.setType(SDOConstants.SDO_BOOLEAN);
type_c0.addDeclaredProperty(testProp);
SDOProperty property_c1_object = new SDOProperty(aHelperContext);
property_c1_object.setName("PName-c1");
property_c1_object.setContainment(true);
property_c1_object.setMany(true);
property_c1_object.setType(SDOConstants.SDO_DOUBLE);
type_c0.addDeclaredProperty(property_c1_object);
dataObject_c0 = (SDODataObject)dataFactory.create(type_c0);
//c1
dataObject_c1 = (SDODataObject)dataFactory.create(type_c0);
// d
type_d = new SDOType(URINAME, TYPENAME_D);
//type_d.setOpen(true);
property_d_number = new SDOProperty(aHelperContext);
property_d_number.setName(PROPERTY_NAME_D_NUMBER);
property_d_number.setType(SDOConstants.SDO_STRING);
property_d_number.setMany(false);
List aliasNames_ = new ArrayList();
aliasNames_.add("alias1");
aliasNames_.add("alias2");
property_d_number.setAliasNames(aliasNames_);
type_d.addDeclaredProperty(property_d_number);
property_d_number1 = new SDOProperty(aHelperContext);
property_d_number1.setName(PROPERTY_NAME_D_NUMBER + "1");
property_d_number1.setType(SDOConstants.SDO_DOUBLE);
property_d_number1.setMany(true);
type_d.addDeclaredProperty(property_d_number1);
dataObject_d0 = (SDODataObject)dataFactory.create(type_d);
dataObject_d1 = (SDODataObject)dataFactory.create(type_d);
// start building tree:
dataObject_a.set(property_a, dataObject_b);// set a/
List objects_b = new ArrayList();
objects_b.add(dataObject_c);//
dataObject_b.set(property_b, objects_b);// set a/b.0
List objects_c = new ArrayList();
objects_c.add(dataObject_d0);
objects_c.add(dataObject_d1);
dataObject_c.set(property_c, objects_c);// set a/b.0/c
dataObject_d0.set(property_d_number, "123");// set a/b.0/c[numbet=123]
dataObject_d1.set(property_d_number, "1");
List d_list0 = new ArrayList();
List d_list1 = new ArrayList();
d_list0.add(Double.valueOf("1.11"));
d_list0.add(Double.valueOf("2.22"));
d_list1.add(Double.valueOf("3.33"));
d_list1.add(Double.valueOf("5.55"));
dataObject_d0.set(property_d_number1, d_list0);// set a/b.0/c[numbet=123]
dataObject_d1.set(property_d_number1, d_list1);
dataObject_a.set(property_a0, dataObject_b0);// set a/
List objects_b0 = new ArrayList();
objects_b0.add(dataObject_c0);
objects_b0.add(dataObject_c1);
dataObject_b0.set(property_b0, objects_b0);// set a/b0
dataObject_c0.set(property_c_number, "123");// set b0[number=123]
dataObject_c1.set(property_c_number, "1");
List str = new ArrayList();
DataObject dataObject1 = dataFactory.create(type_d);
dataObject1.set(PROPERTY_NAME_D_NUMBER,"one");
DataObject dataObject2 = dataFactory.create(type_d);
dataObject2.set(PROPERTY_NAME_D_NUMBER,"two");
str.add(dataObject1);
str.add(dataObject2);
dataObject_c0.set(property_c0, str);// set c0.0
baseType = new SDOType("baseUri", "base");
baseProperty1 = new SDOProperty(aHelperContext);
baseProperty1.setName("baseProperty1");
baseProperty1.setType(SDOConstants.SDO_STRING);
baseProperty1.setMany(false);
List aliasNames_baseP1 = new ArrayList();
aliasNames_baseP1.add("alias3");
aliasNames_baseP1.add("alias4");
baseProperty1.setAliasNames(aliasNames_baseP1);
baseType.addDeclaredProperty(baseProperty1);
baseProperty2 = new SDOProperty(aHelperContext);
baseProperty2.setName("baseProperty2");
baseProperty2.setType(dataObjectType);
baseProperty2.setMany(false);
baseProperty2.setContainment(true);
List aliasNames_baseP2 = new ArrayList();
aliasNames_baseP2.add("alias5");
aliasNames_baseP2.add("alias6");
baseProperty2.setAliasNames(aliasNames_baseP2);
baseType.addDeclaredProperty(baseProperty2);
baseType1 = new SDOType("base1Uri", "base1");
baseProperty3 = new SDOProperty(aHelperContext);
baseProperty3.setName("baseProperty3");
baseProperty3.setType(SDOConstants.SDO_STRING);
baseProperty3.setMany(false);
List aliasNames_baseP3 = new ArrayList();
aliasNames_baseP3.add("alias7");
aliasNames_baseP3.add("alias8");
baseProperty3.setAliasNames(aliasNames_baseP3);
baseType1.addDeclaredProperty(baseProperty3);
}
}