| /* |
| * 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 |
| /* $Header: SDODataObjectJIRA102NillableCompositeObjectTestCases.java 23-nov-2006.14:50:37 dmahar Exp $ */ |
| /* |
| DESCRIPTION |
| |
| MODIFIED (MM/DD/YY) |
| dmahar 11/23/06 - |
| mfobrien 11/15/06 - Creation |
| */ |
| /** |
| * @version $Header: SDODataObjectJIRA102NillableCompositeObjectTestCases.java 23-nov-2006.14:50:37 dmahar Exp $ |
| * @author mfobrien |
| * @since 11.1 |
| */ |
| package org.eclipse.persistence.testing.sdo.model.dataobject; |
| |
| import commonj.sdo.DataObject; |
| import commonj.sdo.Type; |
| import junit.textui.TestRunner; |
| import org.eclipse.persistence.sdo.SDOConstants; |
| import org.eclipse.persistence.sdo.SDOProperty; |
| import org.eclipse.persistence.testing.sdo.SDOTestCase; |
| |
| public class SDODataObjectJIRA102NillableCompositeObjectTestCases extends SDOTestCase { |
| private DataObject employeeDataObject; |
| |
| public SDODataObjectJIRA102NillableCompositeObjectTestCases(String name) { |
| super(name); |
| } |
| |
| @Override |
| public void setUp() { |
| super.setUp(); |
| Type stringType = SDOConstants.SDO_STRING; |
| |
| // define address subtype of employee /employee/address |
| DataObject addressType = defineType("my.uri", "address"); |
| Type addressSDOType = typeHelper.define(addressType); |
| |
| // define city subtype of address /employee/address/city |
| //DataObject cityType = defineType("my.uri", "city"); |
| //Type citySDOType = typeHelper.define(cityType); |
| // add subtype to address |
| addProperty(addressType, "city", stringType, false, false, true); |
| |
| // define employee supertype |
| DataObject empType = defineType("my.uri", "employee"); |
| |
| // add subtypes to employee |
| addProperty(empType, "id", stringType, false, false, true); |
| addProperty(empType, "last-name", stringType, false, false, true); |
| |
| // add address property to employee |
| DataObject addressProp = addProperty(empType, "address", addressSDOType, true, false, true); |
| Type empSDOType = typeHelper.define(empType); |
| |
| // create employee object |
| employeeDataObject = dataFactory.create(empSDOType); |
| |
| // create address object |
| DataObject addressDataObject = dataFactory.create(addressSDOType); |
| employeeDataObject.set("id", "123"); |
| employeeDataObject.set("last-name", "Doe"); |
| |
| // set address nullable |
| ((SDOProperty)employeeDataObject.getInstanceProperty("address")).setNullable(true); |
| |
| // populate objects |
| // set composite object |
| //ArrayList addresses = new ArrayList(); |
| //addresses.add(addressDataObject); |
| //employeeDataObject.set("address", addressDataObject); |
| } |
| |
| public void testNullableAddressType() { |
| DataObject anAddress = (DataObject)employeeDataObject.get("address"); |
| assertFalse(employeeDataObject.isSet("address")); |
| //assertTrue |
| } |
| |
| public static void main(String[] args) { |
| String[] arguments = { "-c", "org.eclipse.persistence.testing.sdo.model.dataobject.SDODataObjectJIRA102NillableCompositeObjectTestCases" }; |
| TestRunner.main(arguments); |
| } |
| } |