mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-13 21:01:01 +08:00
#81 fixed getKeyForPath usage
This commit is contained in:
parent
6b5838750b
commit
32bce2baf9
@ -497,18 +497,17 @@ public final class ExtendedTypeFactory {
|
||||
|
||||
String simpleName = typeElement.getSimpleName().toString();
|
||||
Iterator<? extends TypeMirror> i = declaredType.getTypeArguments().iterator();
|
||||
String declaredName = declaredType.toString();
|
||||
|
||||
if (isAssignable(declaredType, mapType) || declaredName.contains("Map")) {
|
||||
if (isAssignable(declaredType, mapType)) {
|
||||
return createMapType(simpleName, i, deep);
|
||||
|
||||
} else if (isAssignable(declaredType, listType) || declaredName.contains("List")) {
|
||||
} else if (isAssignable(declaredType, listType)) {
|
||||
return createCollectionType(Types.LIST, simpleName, i, deep);
|
||||
|
||||
} else if (isAssignable(declaredType, setType) || declaredName.contains("Set")) {
|
||||
} else if (isAssignable(declaredType, setType)) {
|
||||
return createCollectionType(Types.SET, simpleName, i, deep);
|
||||
|
||||
} else if (isAssignable(declaredType, collectionType) || declaredName.contains("Collection")) {
|
||||
} else if (isAssignable(declaredType, collectionType)) {
|
||||
return createCollectionType(Types.COLLECTION, simpleName, i, deep);
|
||||
|
||||
} else {
|
||||
@ -561,7 +560,8 @@ public final class ExtendedTypeFactory {
|
||||
}
|
||||
|
||||
private boolean isAssignable(TypeMirror type, TypeMirror iface) {
|
||||
return env.getTypeUtils().isAssignable(type, iface);
|
||||
return env.getTypeUtils().isAssignable(type, iface)
|
||||
|| env.getTypeUtils().erasure(type).equals(iface);
|
||||
}
|
||||
|
||||
private boolean isSubType(TypeMirror type1, TypeMirror type2) {
|
||||
|
||||
@ -227,22 +227,18 @@ public class MongodbSerializer implements Visitor<Object, Void> {
|
||||
throw new UnsupportedOperationException("Illegal operation " + expr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Object visit(Path<?> expr, Void context) {
|
||||
PathMetadata<?> metadata = expr.getMetadata();
|
||||
String rv = getKeyForPath(expr, metadata);
|
||||
|
||||
if (metadata.getParent() != null){
|
||||
if (metadata.getPathType() == PathType.COLLECTION_ANY){
|
||||
return visit(metadata.getParent(), context);
|
||||
}else if (metadata.getParent().getMetadata().getPathType() != PathType.VARIABLE){
|
||||
String rv = getKeyForPath(expr, metadata);
|
||||
return visit(metadata.getParent(), context) + "." + rv;
|
||||
}
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
return getKeyForPath(expr, metadata);
|
||||
}
|
||||
|
||||
protected String getKeyForPath(Path<?> expr, PathMetadata<?> metadata) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user