/******************************************************************************* | |
* Copyright (c) 1998, 2013 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 v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* 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(new Character('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(new Byte((byte)3)); | |
ReadObjectQuery query = new ReadObjectQuery(ConversionDataObject.class); | |
query.setSelectionCriteria(expression); | |
return query; | |
} | |
} |