| /* |
| * 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.tests.workbenchintegration; |
| |
| import java.util.Date; |
| import java.util.GregorianCalendar; |
| |
| import org.eclipse.persistence.descriptors.ClassDescriptor; |
| import org.eclipse.persistence.descriptors.DescriptorQueryManager; |
| import org.eclipse.persistence.expressions.Expression; |
| import org.eclipse.persistence.expressions.ExpressionBuilder; |
| import org.eclipse.persistence.queries.DatabaseQuery; |
| import org.eclipse.persistence.queries.ReadObjectQuery; |
| import org.eclipse.persistence.testing.models.conversion.ConversionDataObject; |
| import org.eclipse.persistence.testing.models.conversion.ConversionManagerSystem; |
| |
| // Test some special types in expression comparison by writing to xml and |
| // reading it back |
| public class CMWorkbenchIntegrationSystem extends ConversionManagerSystem { |
| public static String PROJECT_FILE = "MWIntegrationTestCMProject"; |
| public ClassDescriptor cmDescriptor; |
| |
| /** |
| * Override the constructor for Aggregate system to allow us to read and write XML |
| */ |
| public CMWorkbenchIntegrationSystem() { |
| super(); |
| |
| ClassDescriptor descriptor = project.getDescriptors().get(ConversionDataObject.class); |
| addNamedQueries(descriptor.getQueryManager()); |
| |
| buildProject(); |
| } |
| |
| protected void buildProject() { |
| project = WorkbenchIntegrationSystemHelper.buildProjectXML(project, PROJECT_FILE); |
| } |
| |
| public void addNamedQueries(DescriptorQueryManager queryManager) { |
| queryManager.addQuery("PersistenceTestEqualCalendar", buildPersistenceTestEqualCalendarQuery()); |
| queryManager.addQuery("PersistenceTestEqualJavaDate", buildPersistenceTestEqualJavaDateQuery()); |
| queryManager.addQuery("PersistenceTestEqualSqlDate", buildPersistenceTestEqualSqlDateQuery()); |
| queryManager.addQuery("PersistenceTestEqualTime", buildPersistenceTestEqualTimeQuery()); |
| queryManager.addQuery("PersistenceTestEqualTimestamp", buildPersistenceTestEqualTimestampQuery()); |
| queryManager.addQuery("PersistenceTestEqualBigDecimal", buildPersistenceTestEqualBigDecimalQuery()); |
| queryManager.addQuery("PersistenceTestEqualBigInteger", buildPersistenceTestEqualBigIntegerQuery()); |
| queryManager.addQuery("PersistenceTestEqualPChar", buildPersistenceTestEqualPCharQuery()); |
| queryManager.addQuery("PersistenceTestEqualCharacter", buildPersistenceTestEqualCharacterQuery()); |
| queryManager.addQuery("PersistenceTestEqualPCharArray", buildPersistenceTestEqualPCharArrayQuery()); |
| queryManager.addQuery("PersistenceTestEqualPByte", buildPersistenceTestEqualPByteQuery()); |
| queryManager.addQuery("PersistenceTestEqualPByteArray", buildPersistenceTestEqualPByteArrayQuery()); |
| queryManager.addQuery("PersistenceTestEqualByte", buildPersistenceTestEqualByteQuery()); |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualCalendarQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| GregorianCalendar month = new GregorianCalendar(); |
| month.clear(); |
| month.set(2001, 6, 1, 11, 24, 36); |
| Expression expression = builder.get("aCalendar").equal(month); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualJavaDateQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Date date = new Date(994007776134L); |
| Expression expression = builder.get("aJavaDate").equal(date); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualSqlDateQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| java.sql.Date date = new java.sql.Date(994007776000L); |
| Expression expression = builder.get("anSQLDate").equal(date); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualTimeQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| java.sql.Time date = new java.sql.Time(994007776134L); |
| Expression expression = builder.get("aTime").equal(date); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualTimestampQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| java.sql.Timestamp date = new java.sql.Timestamp(994007776134L); |
| Expression expression = builder.get("aTimestamp").equal(date); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualBigDecimalQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| java.math.BigDecimal num = new java.math.BigDecimal(8.0); |
| Expression expression = builder.get("aBigDecimal").equal(num); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualBigIntegerQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| java.math.BigInteger num = new java.math.BigInteger("9"); |
| Expression expression = builder.get("aBigInteger").equal(num); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualPCharQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aPChar").equal('a'); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualCharacterQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aCharacter").equal(Character.valueOf('b')); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualPCharArrayQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aPCharArray").equal(new char[] { 'd', 'e', 'f' }); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualPByteQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aPByte").equal(7); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualPByteArrayQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aPByteArray").equal(new byte[] { 7, 8, 9 }); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| |
| public static DatabaseQuery buildPersistenceTestEqualByteQuery() { |
| ExpressionBuilder builder = new ExpressionBuilder(ConversionDataObject.class); |
| Expression expression = builder.get("aByte").equal(Byte.valueOf((byte)3)); |
| ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); |
| query.setSelectionCriteria(expression); |
| return query; |
| } |
| } |