Author: ppoddar
Date: Wed Jun 24 15:48:04 2009
New Revision: 788058
URL: http://svn.apache.org/viewvc?rev=788058&view=rev
Log:
OPENJPA-1143: refactor method signature to generic type CriteriaQuery<?> as
input argument
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ExpressionImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ParameterImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ExpressionImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ExpressionImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ExpressionImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ExpressionImpl.java
Wed Jun 24 15:48:04 2009
@@ -40,13 +40,13 @@
implements Expression<X> {
Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
throw new AbstractMethodError(this.getClass().getName());
}
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
throw new AbstractMethodError(this.getClass().getName());
}
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=788058&r1=788057&r2=788058&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
Wed Jun 24 15:48:04 2009
@@ -126,7 +126,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.abs(Expressions.toValue(e, factory, model, q));
}
}
@@ -145,7 +145,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value v = factory.count(Expressions.toValue(e, factory, model, q));
return _distinct ? factory.distinct(v) : v;
}
@@ -158,7 +158,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.avg(Expressions.toValue(e, factory, model, q));
}
}
@@ -170,7 +170,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.sqrt(Expressions.toValue(e, factory, model, q));
}
}
@@ -182,7 +182,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.max(Expressions.toValue(e, factory, model, q));
}
}
@@ -194,7 +194,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.min(Expressions.toValue(e, factory, model, q));
}
}
@@ -210,7 +210,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.size(Expressions.toValue(e, factory, model, q));
}
}
@@ -224,7 +224,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.type(Expressions.toValue(e, factory, model, q));
}
}
@@ -237,7 +237,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.cast(Expressions.toValue(e, factory, model, q), b);
}
}
@@ -256,7 +256,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.concat(
Expressions.toValue(e1, factory, model, q),
Expressions.toValue(e2, factory, model, q));
@@ -292,7 +292,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return JPQLExpressionBuilder.convertSubstringArguments(factory,
Expressions.toValue(e, factory, model, q),
from == null ? null : from.toValue(factory, model, q),
@@ -332,7 +332,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value locateSearch = path.toValue(factory, model, q);
Value locateFromIndex = (from == null ?
null : Expressions.toValue(from, factory, model, q));
@@ -382,7 +382,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Boolean spec = null;
if (ts != null) {
switch (ts) {
@@ -418,7 +418,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return (e2 == null)
? factory.sum(Expressions.toValue(e1, factory, model, q))
: factory.add(
@@ -444,7 +444,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.multiply(
Expressions.toValue(e1, factory, model, q),
Expressions.toValue(e2, factory, model, q));
@@ -468,7 +468,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.subtract(
Expressions.toValue(e1, factory, model, q),
Expressions.toValue(e2, factory, model, q));
@@ -493,7 +493,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.divide(
Expressions.toValue(e1, factory, model, q),
Expressions.toValue(e2, factory, model, q));
@@ -513,7 +513,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.mod(
Expressions.toValue(e1, factory, model, q),
Expressions.toValue(e2, factory, model, q));
@@ -527,7 +527,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.getCurrentDate();
}
}
@@ -539,7 +539,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.getCurrentTime();
}
}
@@ -552,7 +552,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.getCurrentTimestamp();
}
}
@@ -574,7 +574,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val1 = Expressions.toValue(e1, factory, model, q);
Value val2 = Expressions.toValue(e2, factory, model, q);
Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q);
@@ -595,7 +595,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val1 = Expressions.toValue(e1, factory, model, q);
Value val2 = Expressions.toValue(e2, factory, model, q);
Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q);
@@ -615,7 +615,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val1 = Expressions.toValue(e1, factory, model, q);
Value val2 = Expressions.toValue(e2, factory, model, q);
Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q);
@@ -635,7 +635,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val1 = Expressions.toValue(e1, factory, model, q);
Value val2 = Expressions.toValue(e2, factory, model, q);
Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q);
@@ -655,7 +655,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val1 = Expressions.toValue(e1, factory, model, q);
Value val2 = Expressions.toValue(e2, factory, model, q);
Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q);
@@ -688,7 +688,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Object value = arg;
if (arg instanceof ParameterImpl) {
return ((ParameterImpl)arg).toValue(factory, model, q);
@@ -731,7 +731,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.newTypeLiteral(arg, Literal.TYPE_CLASS);
}
}
@@ -751,7 +751,7 @@
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value val = Expressions.toValue(collection, factory, model, q);
return (isNegated())
? factory.isNotEmpty(val) : factory.isEmpty(val);
@@ -766,7 +766,7 @@
@Override
public org.apache.openjpa.kernel.exps.Value toValue(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value v = Expressions.toValue(e, factory, model, q);
ClassMetaData meta = ((PathImpl)e)._member.fmd.getElement()
.getTypeMetaData();
@@ -801,7 +801,7 @@
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.contains(
Expressions.toValue(collection, factory, model, q),
Expressions.toValue(element, factory, model, q));
@@ -850,7 +850,7 @@
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
String escapeStr = escapeChar == null ? null :
((Character)((Literal)Expressions.toValue(
escapeChar, factory, model, q)).getValue()).toString();
@@ -888,7 +888,7 @@
@Override
public org.apache.openjpa.kernel.exps.Value toValue(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value[] vs = new Value[values.size()];
int i = 0;
for (Expression<?> e : values)
@@ -917,7 +917,7 @@
@Override
public org.apache.openjpa.kernel.exps.Value toValue(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value value1 = Expressions.toValue((ExpressionImpl<?>)val1,
factory, model, q);
Value value2 = Expressions.toValue((ExpressionImpl<?>)val2,
@@ -941,7 +941,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.equal(
Expressions.toValue(e, factory, model, q),
factory.getNull());
@@ -963,7 +963,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.notEqual(
Expressions.toValue(e, factory, model, q),
factory.getNull());
@@ -1002,7 +1002,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
org.apache.openjpa.kernel.exps.Expression inExpr =
super.toKernelExpression(factory, model, q);
IsNotNull notNull = new Expressions.IsNotNull(e);
@@ -1061,7 +1061,7 @@
@Override
public org.apache.openjpa.kernel.exps.Value toValue(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
int size = whens.size();
org.apache.openjpa.kernel.exps.Expression[] exps =
new org.apache.openjpa.kernel.exps.Expression[size];
@@ -1135,7 +1135,7 @@
@Override
public org.apache.openjpa.kernel.exps.Value toValue(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
Value caseOperandExpr = Expressions.toValue(
(ExpressionImpl<?>)caseOperand, factory, model, q);
int size = whens.size();
@@ -1162,7 +1162,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.toLowerCase(
Expressions.toValue(e, factory, model, q));
}
@@ -1175,7 +1175,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.toUpperCase(
Expressions.toValue(e, factory, model, q));
}
@@ -1188,7 +1188,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.stringLength(
Expressions.toValue(e, factory, model, q));
}
@@ -1209,7 +1209,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
org.apache.openjpa.kernel.exps.Expression exists =
factory.isNotEmpty(Expressions.toValue(e, factory, model, q));
return isNegated() ? factory.not(exists) : exists;
@@ -1225,7 +1225,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.all(Expressions.toValue(e, factory, model, q));
}
}
@@ -1239,7 +1239,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
return factory.any(Expressions.toValue(e, factory, model, q));
}
}
@@ -1258,7 +1258,7 @@
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
- ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl q)
{
+ ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?>
q) {
return factory.not(super.toKernelExpression(factory, model, q));
}
}
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java
Wed Jun 24 15:48:04 2009
@@ -42,7 +42,7 @@
import org.apache.openjpa.persistence.meta.Members.Member;
/**
- *
+ * @author Fay Wang
* @author Pinaki Poddar
*
*/
@@ -55,13 +55,11 @@
* @param <Z> type from which joining
* @param <X> type of the attribute being joined
*/
- public static class SingularJoin<Z,X> extends FromImpl<Z,X>
- implements Join<Z,X>{
+ public static class SingularJoin<Z,X> extends FromImpl<Z,X> implements
Join<Z,X>{
private final JoinType joinType;
private boolean allowNull = false;
- public SingularJoin(FromImpl<?,Z> from,
- Members.SingularAttributeImpl<? super Z, X> member, JoinType jt) {
+ public SingularJoin(FromImpl<?,Z> from,
Members.SingularAttributeImpl<? super Z, X> member, JoinType jt) {
super(from, member, member.getJavaType());
joinType = jt;
allowNull = joinType != JoinType.INNER;
@@ -79,14 +77,12 @@
* Return the metamodel attribute corresponding to the join.
* @return metamodel attribute type corresponding to the join
*/
-// Attribute<? super Z, ?> getAttribute();
public Attribute<? super Z, ?> getAttribute() {
return (Attribute<? super Z, ?> )_member;
}
@Override
- public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
+ public Value toValue(ExpressionFactory factory, MetamodelImpl model,
CriteriaQueryImpl<?> c) {
ClassMetaData meta = _member.fmd.getDeclaredTypeMetaData();
org.apache.openjpa.kernel.exps.Path path = null;
SubqueryImpl<?> subquery = c.getDelegator();
@@ -94,15 +90,12 @@
if (c.isRegistered(this))
return c.getValue(this);
else if (parent.inSubquery(subquery)) {
- org.apache.openjpa.kernel.exps.Subquery subQ =
- subquery.getSubQ();
+ org.apache.openjpa.kernel.exps.Subquery subQ =
subquery.getSubQ();
path = factory.newPath(subQ);
path.setMetaData(subQ.getMetaData());
//path.setSchemaAlias(c.getAlias(this));
} else {
- path =
- (org.apache.openjpa.kernel.exps.Path)
- _parent.toValue(factory, model, c);
+ path = (org.apache.openjpa.kernel.exps.Path)
_parent.toValue(factory, model, c);
path.get(_member.fmd, allowNull);
path.setMetaData(meta);
path.setImplicitType(meta.getDescribedType());
@@ -111,57 +104,52 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
- ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
+ public org.apache.openjpa.kernel.exps.Expression
toKernelExpression(ExpressionFactory factory,
+ MetamodelImpl model, CriteriaQueryImpl<?> c) {
ClassMetaData meta = _member.fmd.getDeclaredTypeMetaData();
org.apache.openjpa.kernel.exps.Path path = null;
SubqueryImpl<?> subquery = c.getDelegator();
PathImpl<?,?> parent = getInnermostParentPath();
org.apache.openjpa.kernel.exps.Expression filter = null;
- PathImpl correlatedParent = null;
+ PathImpl<?,?> correlatedParent = null;
boolean bind = true;
if (parent.inSubquery(subquery)) {
- org.apache.openjpa.kernel.exps.Subquery subQ =
- subquery.getSubQ();
+ org.apache.openjpa.kernel.exps.Subquery subQ =
subquery.getSubQ();
path = factory.newPath(subQ);
correlatedParent = _parent.getCorrelatedParent();
if (correlatedParent == null) {
path.setMetaData(subQ.getMetaData());
path.get(_member.fmd, allowNull);
//path.setSchemaAlias(c.getAlias(_parent));
- } else
+ } else {
bind = false;
+ }
} else if (c.isRegistered(_parent)) {
Value var = c.getVariable(_parent);
path = factory.newPath(var);
path.setMetaData(meta);
path.get(_member.fmd, false);
- } else
- path =
- (org.apache.openjpa.kernel.exps.Path)toValue(factory, model,
c);
+ } else {
+ path = (org.apache.openjpa.kernel.exps.Path)toValue(factory,
model, c);
+ }
org.apache.openjpa.kernel.exps.Expression join = null;
if (bind) {
- Value var = factory.newBoundVariable(c.getAlias(this),
- meta.getDescribedType());
+ Value var = factory.newBoundVariable(c.getAlias(this),
meta.getDescribedType());
join = factory.bindVariable(var, path);
c.registerVariable(this, var, path);
}
if (getJoins() != null) {
for (Join<?, ?> join1 : getJoins()) {
filter = CriteriaExpressionBuilder.and(factory,
- ((FromImpl<?,?>)join1).
- toKernelExpression(factory, model, c), filter);
+
((FromImpl<?,?>)join1).toKernelExpression(factory, model, c), filter);
}
}
- org.apache.openjpa.kernel.exps.Expression expr =
- CriteriaExpressionBuilder.and(factory, join, filter);
+ org.apache.openjpa.kernel.exps.Expression expr =
CriteriaExpressionBuilder.and(factory, join, filter);
- if (correlatedParent == null)
+ if (correlatedParent == null) {
return expr;
- else {
- org.apache.openjpa.kernel.exps.Path parentPath =
- (org.apache.openjpa.kernel.exps.Path)
+ } else {
+ org.apache.openjpa.kernel.exps.Path parentPath =
(org.apache.openjpa.kernel.exps.Path)
correlatedParent.toValue(factory, model, c);
parentPath.get(_member.fmd, allowNull);
//parentPath.setSchemaAlias(c.getAlias(correlatedParent));
@@ -186,8 +174,8 @@
final JoinType joinType;
boolean allowNull = false;
- public AbstractCollection(FromImpl<?,Z> from,
- Members.PluralAttributeImpl<? super Z, C, E> member, JoinType jt) {
+ public AbstractCollection(FromImpl<?,Z> from,
Members.PluralAttributeImpl<? super Z, C, E> member,
+ JoinType jt) {
super(from, member, member.getBindableJavaType());
joinType = jt;
allowNull = joinType != JoinType.INNER;
@@ -225,7 +213,7 @@
*/
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
+ CriteriaQueryImpl<?> c) {
ClassMetaData meta = getMemberClassMetaData();
org.apache.openjpa.kernel.exps.Path path = null;
SubqueryImpl<?> subquery = c.getDelegator();
@@ -235,14 +223,12 @@
Value var = c.getVariable(this);
path = factory.newPath(var);
} else if (parent.inSubquery(subquery)) {
- org.apache.openjpa.kernel.exps.Subquery subQ =
- subquery.getSubQ();
+ org.apache.openjpa.kernel.exps.Subquery subQ =
subquery.getSubQ();
path = factory.newPath(subQ);
path.setMetaData(subQ.getMetaData());
//path.setSchemaAlias(c.getAlias(this));
} else {
- path = (org.apache.openjpa.kernel.exps.Path)
- _parent.toValue(factory, model, c);
+ path = (org.apache.openjpa.kernel.exps.Path)
_parent.toValue(factory, model, c);
path.get(_member.fmd, allowNull);
}
return path;
@@ -255,7 +241,7 @@
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
+ CriteriaQueryImpl<?> c) {
ClassMetaData meta = getMemberClassMetaData();
org.apache.openjpa.kernel.exps.Path path = null;
SubqueryImpl<?> subquery = c.getDelegator();
@@ -264,46 +250,41 @@
PathImpl correlatedParent = null;
boolean bind = true;
if (parent.inSubquery(subquery)) {
- org.apache.openjpa.kernel.exps.Subquery subQ =
- subquery.getSubQ();
+ org.apache.openjpa.kernel.exps.Subquery subQ =
subquery.getSubQ();
path = factory.newPath(subQ);
correlatedParent = _parent.getCorrelatedParent();
if (correlatedParent == null) {
path.setMetaData(subQ.getMetaData());
path.get(_member.fmd, allowNull);
//path.setSchemaAlias(c.getAlias(_parent));
- } else
+ } else {
bind = false;
+ }
} else if (c.isRegistered(_parent)) {
Value var = c.getVariable(_parent);
path = factory.newPath(var);
path.setMetaData(meta);
path.get(_member.fmd, false);
- } else
- path = (org.apache.openjpa.kernel.exps.Path)
- toValue(factory, model, c);
-
+ } else {
+ path = (org.apache.openjpa.kernel.exps.Path)toValue(factory,
model, c);
+ }
org.apache.openjpa.kernel.exps.Expression join = null;
if (bind) {
- Value var = factory.newBoundVariable(c.getAlias(this),
- meta.getDescribedType());
+ Value var = factory.newBoundVariable(c.getAlias(this),
meta.getDescribedType());
join = factory.bindVariable(var, path);
c.registerVariable(this, var, path);
}
if (getJoins() != null) {
for (Join<?, ?> join1 : getJoins()) {
filter = CriteriaExpressionBuilder.and(factory,
- ((FromImpl<?,?>)join1).
- toKernelExpression(factory, model, c), filter);
+ ((FromImpl<?,?>)join1).toKernelExpression(factory,
model, c), filter);
}
}
- org.apache.openjpa.kernel.exps.Expression expr =
- CriteriaExpressionBuilder.and(factory, join, filter);
- if (correlatedParent == null)
+ org.apache.openjpa.kernel.exps.Expression expr =
CriteriaExpressionBuilder.and(factory, join, filter);
+ if (correlatedParent == null) {
return expr;
- else {
- org.apache.openjpa.kernel.exps.Path parentPath =
- (org.apache.openjpa.kernel.exps.Path)
+ } else {
+ org.apache.openjpa.kernel.exps.Path parentPath =
(org.apache.openjpa.kernel.exps.Path)
correlatedParent.toValue(factory, model, c);
parentPath.get(_member.fmd, allowNull);
//parentPath.setSchemaAlias(c.getAlias(correlatedParent));
@@ -321,8 +302,7 @@
* @param <Z>
* @param <E>
*/
- public static class Collection<Z,E>
- extends AbstractCollection<Z,java.util.Collection<E>,E>
+ public static class Collection<Z,E> extends
AbstractCollection<Z,java.util.Collection<E>,E>
implements CollectionJoin<Z,E>{
public Collection(FromImpl<?,Z> parent,
Members.CollectionAttributeImpl<? super Z, E> member, JoinType jt)
{
@@ -341,8 +321,7 @@
* @param <Z>
* @param <E>
*/
- public static class Set<Z,E>
- extends AbstractCollection<Z,java.util.Set<E>,E>
+ public static class Set<Z,E> extends
AbstractCollection<Z,java.util.Set<E>,E>
implements SetJoin<Z,E>{
public Set(FromImpl<?,Z> parent, Members.SetAttributeImpl<? super Z,
E> member, JoinType jt) {
super(parent, member, jt);
@@ -360,8 +339,7 @@
* @param <E>
*/
- public static class List<Z,E>
- extends AbstractCollection<Z,java.util.List<E>,E>
+ public static class List<Z,E> extends
AbstractCollection<Z,java.util.List<E>,E>
implements ListJoin<Z,E> {
public List(FromImpl<?,Z> parent,
@@ -385,8 +363,7 @@
* @param <E>
*/
- public static class Map<Z,K,V>
- extends AbstractCollection<Z,java.util.Map<K,V>,V>
+ public static class Map<Z,K,V> extends
AbstractCollection<Z,java.util.Map<K,V>,V>
implements MapJoin<Z,K,V> {
public Map(FromImpl<?,Z> parent, Members.MapAttributeImpl<? super Z,
K,V> member, JoinType jt) {
@@ -418,20 +395,16 @@
}
@Override
- public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
- ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
- org.apache.openjpa.kernel.exps.Value path = toValue
- (factory, model, c);
+ public org.apache.openjpa.kernel.exps.Expression
toKernelExpression(ExpressionFactory factory,
+ MetamodelImpl model, CriteriaQueryImpl<?> c) {
+ org.apache.openjpa.kernel.exps.Value path = toValue(factory,
model, c);
ClassMetaData meta = _member.fmd.isElementCollection()
? _member.fmd.getEmbeddedMetaData()
: _member.fmd.getElement().getDeclaredTypeMetaData();
- Value var = factory.newBoundVariable(c.getAlias(this),
- meta.getDescribedType());
- org.apache.openjpa.kernel.exps.Expression join = factory
- .bindValueVariable(var, path);
+ Value var = factory.newBoundVariable(c.getAlias(this),
meta.getDescribedType());
+ org.apache.openjpa.kernel.exps.Expression join =
factory.bindValueVariable(var, path);
c.registerVariable(this, var, path);
return join;
}
@@ -440,9 +413,9 @@
public static class MapKey<Z,K> extends PathImpl<Z,K> {
Map<?,K,?> map;
+
public MapKey(Map<Z,K,?> joinMap){
- super(((MapAttribute<Z, K, ?>)joinMap.getAttribute())
- .getKeyJavaType());
+ super(((MapAttribute<Z, K,
?>)joinMap.getAttribute()).getKeyJavaType());
this.map = joinMap;
}
@@ -451,10 +424,8 @@
*
*/
@Override
- public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
- org.apache.openjpa.kernel.exps.Path path =
- factory.newPath(c.getVariable(map));
+ public Value toValue(ExpressionFactory factory, MetamodelImpl model,
CriteriaQueryImpl<?> c) {
+ org.apache.openjpa.kernel.exps.Path path =
factory.newPath(c.getVariable(map));
return factory.getKey(path);
}
}
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ParameterImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ParameterImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ParameterImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ParameterImpl.java
Wed Jun 24 15:48:04 2009
@@ -59,7 +59,7 @@
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
q.registerParameter(this);
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java
Wed Jun 24 15:48:04 2009
@@ -34,7 +34,6 @@
import org.apache.openjpa.kernel.exps.Value;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.FieldMetaData;
-import org.apache.openjpa.meta.JavaTypes;
import org.apache.openjpa.persistence.meta.Members;
import org.apache.openjpa.persistence.meta.MetamodelImpl;
@@ -107,7 +106,7 @@
}
protected FieldMetaData getEmbeddedFieldMetaData(FieldMetaData fmd) {
- Members.Member member = getInnermostMember(_parent,_member);
+ Members.Member<?,?> member = getInnermostMember(_parent,_member);
ClassMetaData embeddedMeta = member.fmd.getEmbeddedMetaData();
if (embeddedMeta != null)
return embeddedMeta.getField(fmd.getName());
@@ -115,8 +114,7 @@
return fmd;
}
- protected Members.Member getInnermostMember(PathImpl parent,
- Members.Member member) {
+ protected Members.Member<?,?> getInnermostMember(PathImpl<?,?> parent,
Members.Member<?,?> member) {
return member != null ? member : getInnermostMember(parent._parent,
parent._member);
}
@@ -134,7 +132,7 @@
*/
@Override
public Value toValue(
- ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl q) {
+ ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?>
q) {
if (q.isRegistered(this))
return q.getValue(this);
org.apache.openjpa.kernel.exps.Path path = null;
@@ -161,10 +159,8 @@
path = factory.newPath();
path.setMetaData(model.repos.getCachedMetaData(getJavaType()));
}
- if (_member != null) {
- int typeCode = _member.fmd.getDeclaredTypeCode();
- if (typeCode != JavaTypes.COLLECTION && typeCode != JavaTypes.MAP)
- path.setImplicitType(getJavaType());
+ if (_member != null && !_member.isCollection()) {
+ path.setImplicitType(getJavaType());
}
path.setAlias(q.getAlias(this));
return path;
@@ -177,8 +173,7 @@
return subquery != null && subquery.getRoots().contains(this);
}
- protected void traversePath(PathImpl<?,?> parent,
- org.apache.openjpa.kernel.exps.Path path, FieldMetaData fmd) {
+ protected void traversePath(PathImpl<?,?> parent,
org.apache.openjpa.kernel.exps.Path path, FieldMetaData fmd) {
boolean allowNull = parent == null ? false : parent instanceof Join
&& ((Join<?,?>)parent).getJoinType() != JoinType.INNER;
FieldMetaData fmd1 = parent._member == null ? null :
parent._member.fmd;
@@ -212,12 +207,9 @@
* collection-valued attribute.
* @param collection collection-valued attribute
* @return expression corresponding to the referenced attribute
-// <E, C extends java.util.Collection<E>> Expression<C>
get(PluralAttribute<X, C, E> collection);
*/
- public <E, C extends java.util.Collection<E>> Expression<C>
- get(PluralAttribute<X, C, E> coll) {
- return new PathImpl<X,C>(this, (Members.Member<? super X, C>)coll,
- coll.getJavaType());
+ public <E, C extends java.util.Collection<E>> Expression<C>
get(PluralAttribute<X, C, E> coll) {
+ return new PathImpl<X,C>(this, (Members.Member<? super X, C>)coll,
coll.getJavaType());
}
/**
@@ -226,11 +218,8 @@
* @param map map-valued attribute
* @return expression corresponding to the referenced attribute
*/
-// <K, V, M extends java.util.Map<K, V>> Expression<M> get(MapAttribute<X,
K, V> map);
- public <K, V, M extends java.util.Map<K, V>> Expression<M>
- get(MapAttribute<X, K, V> map) {
- return new PathImpl<X,M>(this, (Members.MapAttributeImpl<? super
X,K,V>)map,
- (Class<M>)map.getJavaType());
+ public <K, V, M extends java.util.Map<K, V>> Expression<M>
get(MapAttribute<X, K, V> map) {
+ return new PathImpl<X,M>(this, (Members.MapAttributeImpl<? super
X,K,V>)map, (Class<M>)map.getJavaType());
}
public <Y> Path<Y> get(String attName) {
@@ -239,8 +228,7 @@
switch (type.getPersistenceType()) {
case BASIC:
throw new RuntimeException(attName + " not navigable from " +
this);
- default: next = (Members.Member<? super X, Y>)
- ((ManagedType<?>)type).getAttribute(attName);
+ default: next = (Members.Member<? super X, Y>)
((ManagedType<?>)type).getAttribute(attName);
}
return new PathImpl<X,Y>(this, next, (Class<Y>)type.getClass());
}
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
Wed Jun 24 15:48:04 2009
@@ -85,7 +85,7 @@
@Override
org.apache.openjpa.kernel.exps.Expression toKernelExpression(
ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
if (_exps == null || _exps.isEmpty())
return factory.emptyExpression();
if (_exps.size() == 1)
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java
Wed Jun 24 15:48:04 2009
@@ -68,7 +68,7 @@
*/
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl c) {
+ CriteriaQueryImpl<?> c) {
SubqueryImpl<?> subquery = c.getDelegator();
Path var = null;
if (inSubquery(subquery)) {
@@ -87,7 +87,7 @@
*/
@Override
public org.apache.openjpa.kernel.exps.Expression toKernelExpression(
- ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl c) {
+ ExpressionFactory factory, MetamodelImpl model, CriteriaQueryImpl<?>
c) {
Value path = toValue(factory, model, c);
Value var = factory.newBoundVariable(c.getAlias(this),
_entity.meta.getDescribedType());
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java?rev=788058&r1=788057&r2=788058&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java
Wed Jun 24 15:48:04 2009
@@ -39,8 +39,10 @@
import org.apache.openjpa.kernel.exps.Value;
import org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder;
import org.apache.openjpa.meta.ClassMetaData;
+import org.apache.openjpa.meta.FieldMetaData;
import org.apache.openjpa.meta.JavaTypes;
import org.apache.openjpa.persistence.meta.AbstractManagedType;
+import org.apache.openjpa.persistence.meta.Members;
import org.apache.openjpa.persistence.meta.MetamodelImpl;
import org.apache.openjpa.persistence.meta.Types;
@@ -54,31 +56,31 @@
* @param <T> the type selected by this subquery.
*/
public class SubqueryImpl<T> extends ExpressionImpl<T> implements Subquery<T> {
- private final AbstractQuery _parent;
- private final CriteriaQueryImpl _delegate;
+ private final AbstractQuery<?> _parent;
+ private final CriteriaQueryImpl<T> _delegate;
private final MetamodelImpl _model;
private java.util.Set<Join<?,?>> _joins;
private Expression<T> _select;
private org.apache.openjpa.kernel.exps.Subquery _subq;
- public SubqueryImpl(Class<T> cls, AbstractQuery parent) {
+ public SubqueryImpl(Class<T> cls, AbstractQuery<?> parent) {
super(cls);
_parent = parent;
- if (parent instanceof CriteriaQueryImpl)
- _model = ((CriteriaQueryImpl)parent).getMetamodel();
- else if (parent instanceof SubqueryImpl)
- _model = ((SubqueryImpl)parent).getMetamodel();
- else
+ if (parent instanceof CriteriaQueryImpl) {
+ _model = ((CriteriaQueryImpl<?>)parent).getMetamodel();
+ } else if (parent instanceof SubqueryImpl) {
+ _model = ((SubqueryImpl<?>)parent).getMetamodel();
+ } else {
_model = null;
-
- _delegate = new CriteriaQueryImpl(_model, this);
+ }
+ _delegate = new CriteriaQueryImpl<T>(_model, this);
}
- public AbstractQuery getParent() {
+ public AbstractQuery<?> getParent() {
return _parent;
}
- public CriteriaQueryImpl getDelegate() {
+ public CriteriaQueryImpl<T> getDelegate() {
return _delegate;
}
@@ -90,9 +92,9 @@
// return getInnermostParent().getContexts();
//}
- public CriteriaQueryImpl getInnermostParent() {
- return (CriteriaQueryImpl)(((_parent instanceof CriteriaQueryImpl)) ?
- _parent : ((SubqueryImpl)_parent).getInnermostParent());
+ public CriteriaQueryImpl<?> getInnermostParent() {
+ return (CriteriaQueryImpl<?>)(((_parent instanceof CriteriaQueryImpl))
?
+ _parent : ((SubqueryImpl<?>)_parent).getInnermostParent());
}
public Subquery<T> select(Expression<T> expression) {
@@ -172,8 +174,7 @@
}
public <Y> Root<Y> correlate(Root<Y> root) {
- Types.Entity<Y> entity =
- (Types.Entity<Y>)((RootImpl<Y>)root).getModel();
+ Types.Entity<Y> entity = (Types.Entity<Y>)root.getModel();
RootImpl<Y> corrRoot = new RootImpl<Y>(entity);
corrRoot.setCorrelatedParent((RootImpl<Y>)root);
Set<Root<?>> roots = getRoots();
@@ -222,7 +223,7 @@
*/
@Override
public Value toValue(ExpressionFactory factory, MetamodelImpl model,
- CriteriaQueryImpl q) {
+ CriteriaQueryImpl<?> q) {
final boolean subclasses = true;
CriteriaExpressionBuilder queryEval = new CriteriaExpressionBuilder();
String alias = q.getAlias(this);
@@ -250,15 +251,13 @@
RootImpl<?> root = (RootImpl<?>)getRoot();
RootImpl<?> correlatedRoot = (RootImpl<?>)root.getCorrelatedParent();
if (correlatedRoot != null && root.getJoins() != null) {
- FromImpl join = (FromImpl) root.getJoins().iterator().next();
- if (join._member.fmd.getDeclaredTypeCode() ==
- JavaTypes.COLLECTION ||
- join._member.fmd.getDeclaredTypeCode() ==
- JavaTypes.MAP)
- return join._member.fmd.isElementCollection()
- ? join._member.fmd.getEmbeddedMetaData()
- : join._member.fmd.getElement().getDeclaredTypeMetaData();
- return join._member.fmd.getDeclaredTypeMetaData();
+ Join<?,?> join = root.getJoins().iterator().next();
+ FieldMetaData fmd = ((Members.Member<?, ?>)join.getAttribute()).fmd;
+ if (join.getAttribute().isCollection()) {
+ return fmd.isElementCollection() ? fmd.getEmbeddedMetaData():
fmd.getElement().getDeclaredTypeMetaData();
+ } else {
+ return fmd.getDeclaredTypeMetaData();
+ }
}
return ((AbstractManagedType<?>)root.getModel()).meta;
}