blob: e59a4255b52df4d05f941a308083e23807227352 [file] [log] [blame]
/*******************************************************************************
* 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;
}
}