| /* |
| * 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); |
| |
| } |
| } |