You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/11/24 19:37:53 UTC
svn commit: r883808 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java
Author: ppoddar
Date: Tue Nov 24 18:37:52 2009
New Revision: 883808
URL: http://svn.apache.org/viewvc?rev=883808&view=rev
Log:
Set proper return type on evaluated expression.
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java?rev=883808&r1=883807&r2=883808&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java Tue Nov 24 18:37:52 2009
@@ -281,7 +281,9 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.abs(Expressions.toValue(e, factory, q));
+ Value value = factory.abs(Expressions.toValue(e, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
public StringBuilder asValue(AliasContext q) {
@@ -321,7 +323,9 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.avg(Expressions.toValue(e, factory, q));
+ Value value = factory.avg(Expressions.toValue(e, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
@Override
@@ -337,7 +341,9 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.sqrt(Expressions.toValue(e, factory, q));
+ Value value = factory.sqrt(Expressions.toValue(e, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
public StringBuilder asValue(AliasContext q) {
@@ -352,7 +358,9 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.max(Expressions.toValue(e, factory, q));
+ Value value = factory.max(Expressions.toValue(e, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
public StringBuilder asValue(AliasContext q) {
@@ -367,7 +375,9 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.min(Expressions.toValue(e, factory, q));
+ Value value = factory.min(Expressions.toValue(e, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
public StringBuilder asValue(AliasContext q) {
@@ -649,11 +659,13 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return (e2 == null)
+ Value value= (e2 == null)
? factory.sum(Expressions.toValue(e1, factory, q))
: factory.add(
Expressions.toValue(e1, factory, q),
Expressions.toValue(e2, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
@Override
@@ -705,9 +717,11 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.subtract(
+ Value value = factory.subtract(
Expressions.toValue(e1, factory, q),
Expressions.toValue(e2, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
@Override
@@ -732,9 +746,11 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.divide(
+ Value value = factory.divide(
Expressions.toValue(e1, factory, q),
Expressions.toValue(e2, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
@Override
@@ -756,9 +772,11 @@
@Override
public Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
- return factory.mod(
+ Value value = factory.mod(
Expressions.toValue(e1, factory, q),
Expressions.toValue(e2, factory, q));
+ value.setImplicitType(getJavaType());
+ return value;
}
@Override
@@ -1277,8 +1295,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Value toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value[] vs = new Value[values.size()];
int i = 0;
for (Expression<?> e : values)
@@ -1312,8 +1329,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Value toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value value1 = Expressions.toValue((ExpressionImpl<?>)val1, factory, q);
Value value2 = Expressions.toValue((ExpressionImpl<?>)val2, factory, q);
return factory.nullIfExpression(value1, value2);
@@ -1495,8 +1511,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Value toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
int size = whens.size();
org.apache.openjpa.kernel.exps.Expression[] exps = new org.apache.openjpa.kernel.exps.Expression[size];
for (int i = 0; i < size; i++) {
@@ -1575,8 +1590,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Value toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
Value caseOperandExpr = Expressions.toValue((ExpressionImpl<?>)caseOperand, factory, q);
int size = whens.size();
org.apache.openjpa.kernel.exps.Expression[] exps = new org.apache.openjpa.kernel.exps.Expression[size];
@@ -1769,8 +1783,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Value toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Value toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
org.apache.openjpa.kernel.exps.Value e = actual.toValue(factory, q);
e.setImplicitType(getJavaType());
return e;
@@ -1799,8 +1812,7 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Arguments toValue(
- ExpressionFactory factory, CriteriaQueryImpl<?> q) {
+ public org.apache.openjpa.kernel.exps.Arguments toValue(ExpressionFactory factory, CriteriaQueryImpl<?> q) {
org.apache.openjpa.kernel.exps.Value[] kvs = new org.apache.openjpa.kernel.exps.Value[_args.length];
int i = 0;
for (ExpressionImpl<?> arg : _args) {