| /* |
| * Copyright (c) 1998, 2020 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: |
| // dminsky - initial API and implementation |
| package org.eclipse.persistence.testing.tests.mapping; |
| |
| import java.util.Vector; |
| |
| import org.eclipse.persistence.sessions.UnitOfWork; |
| import org.eclipse.persistence.testing.framework.TransactionalTestCase; |
| import org.eclipse.persistence.testing.models.mapping.Peripheral; |
| |
| /** |
| * EL Bug 375463 |
| * DB exception when executing ReadAllQuery with an additional join expression on ObjectTypeMapping |
| * @author dminsky |
| */ |
| public class ObjectTypeMappingBooleanToCharTest extends TransactionalTestCase { |
| |
| protected Vector<Peripheral> peripheralsRead; |
| |
| public ObjectTypeMappingBooleanToCharTest() { |
| super(); |
| setDescription("Read Boolean->Character ObjectTypeMapping in additionalJoinCriteria"); |
| } |
| |
| @Override |
| public void setup() { |
| super.setup(); |
| UnitOfWork uow = getAbstractSession().acquireUnitOfWork(); |
| Peripheral peripheral1 = (Peripheral) uow.registerObject(new Peripheral(1)); |
| peripheral1.setName("peripheral-1"); |
| peripheral1.setValid(true); |
| Peripheral peripheral2 = (Peripheral) uow.registerObject(new Peripheral(2)); |
| peripheral2.setName("peripheral-2"); |
| peripheral2.setValid(false); |
| uow.commit(); |
| } |
| |
| @Override |
| public void test() { |
| peripheralsRead = getAbstractSession().readAllObjects(Peripheral.class); |
| } |
| |
| @Override |
| public void verify() { |
| // descriptor amendment method adds additionalJoinCriteria to only read |
| // peripherals with 'valid' = true (object type mapping char 'Y'/'N' on db) |
| assertNotNull("peripheralsRead should not be null", peripheralsRead); |
| assertEquals("One Peripheral object should have been read", 1, peripheralsRead.size()); |
| } |
| |
| @Override |
| public void reset() { |
| super.reset(); |
| peripheralsRead = null; |
| } |
| |
| } |