mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
updated version to 0.6.4-SNAPSHOT
This commit is contained in:
parent
5530bbabf7
commit
6ce5316f1f
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
|
||||
@ -77,6 +77,7 @@ public class Processor {
|
||||
if (conf.getSuperTypeAnn() != null) {
|
||||
for (Element element : roundEnv.getElementsAnnotatedWith(conf.getSuperTypeAnn())) {
|
||||
BeanModel model = element.accept(entityVisitor, null);
|
||||
model.setEntityModel(false);
|
||||
superTypes.put(model.getName(), model);
|
||||
}
|
||||
// add supertype fields
|
||||
@ -158,8 +159,10 @@ public class Processor {
|
||||
}
|
||||
if (stype.equals(model.getSupertypeName())){
|
||||
model.setSuperModel(sdecl);
|
||||
}
|
||||
model.include(sdecl);
|
||||
}
|
||||
if (sdecl.isEntityModel()){
|
||||
model.include(sdecl);
|
||||
}
|
||||
stype = sdecl.getSupertypeName();
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
package com.mysema.query.domain.hierarchy.s1;
|
||||
|
||||
import com.mysema.query.annotations.QueryEntity;
|
||||
|
||||
@QueryEntity
|
||||
public class SEntity1 {
|
||||
|
||||
String entity1Field;
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.mysema.query.domain.hierarchy.s2;
|
||||
|
||||
import com.mysema.query.annotations.QueryEntity;
|
||||
import com.mysema.query.domain.hierarchy.s4.SSupertype;
|
||||
|
||||
@QueryEntity
|
||||
public class SEntity2 extends SSupertype{
|
||||
|
||||
String entity2Field;
|
||||
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.mysema.query.domain.hierarchy.s3;
|
||||
|
||||
import com.mysema.query.annotations.QueryEntity;
|
||||
import com.mysema.query.domain.hierarchy.s2.SEntity2;
|
||||
|
||||
@QueryEntity
|
||||
public class SEntity3 extends SEntity2{
|
||||
|
||||
String entity3Field;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.mysema.query.domain.hierarchy.s4;
|
||||
|
||||
import com.mysema.query.annotations.QuerySupertype;
|
||||
|
||||
@QuerySupertype
|
||||
public class SSupertype {
|
||||
|
||||
String supertypeField;
|
||||
|
||||
}
|
||||
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
|
||||
@ -35,6 +35,8 @@ public final class BeanModel implements Comparable<BeanModel> {
|
||||
// mutable
|
||||
private int escapeSuffix = 1;
|
||||
|
||||
private boolean entityModel = true;
|
||||
|
||||
private final String simpleName, name, packageName, localName;
|
||||
|
||||
private final String prefix;
|
||||
@ -203,5 +205,13 @@ public final class BeanModel implements Comparable<BeanModel> {
|
||||
public void setSuperModel(BeanModel superModel) {
|
||||
this.superModel = superModel;
|
||||
}
|
||||
|
||||
public boolean isEntityModel() {
|
||||
return entityModel;
|
||||
}
|
||||
|
||||
public void setEntityModel(boolean entityModel) {
|
||||
this.entityModel = entityModel;
|
||||
}
|
||||
|
||||
}
|
||||
@ -21,8 +21,7 @@ public class EmbeddableSerializer extends EntitySerializer{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void introImports(StringBuilder builder) {
|
||||
builder.append("import com.mysema.query.util.*;\n");
|
||||
protected void introImports(StringBuilder builder, BeanModel model) {
|
||||
builder.append("import com.mysema.query.types.path.*;\n\n");
|
||||
}
|
||||
|
||||
|
||||
@ -221,7 +221,7 @@ public class EntitySerializer implements Serializer{
|
||||
protected void intro(BeanModel model, Writer writer) throws IOException {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
introPackage(builder, model);
|
||||
introImports(builder);
|
||||
introImports(builder, model);
|
||||
introJavadoc(builder, model);
|
||||
introClassHeader(builder, model);
|
||||
introDefaultInstance(builder, model);
|
||||
@ -231,18 +231,34 @@ public class EntitySerializer implements Serializer{
|
||||
|
||||
private void introSuper(StringBuilder builder, BeanModel model) {
|
||||
if (model.getSuperModel() != null){
|
||||
BeanModel _super = model.getSuperModel();
|
||||
final String simpleName = _super.getSimpleName();
|
||||
final String queryType = _super.getPrefix() + simpleName;
|
||||
builder.append(" public final "+queryType+" _super = new " + queryType + "(this);\n\n");
|
||||
BeanModel superModel = model.getSuperModel();
|
||||
String superQueryType = superModel.getPrefix() + superModel.getSimpleName();
|
||||
if (!superModel.getPackageName().equals(model.getPackageName())){
|
||||
superQueryType = superModel.getPackageName() + "." + superQueryType;
|
||||
}
|
||||
|
||||
if (superModel.isEntityModel()){
|
||||
builder.append(" public final "+superQueryType+" _super = new " + superQueryType + "(this);\n\n");
|
||||
}else{
|
||||
builder.append(" public final "+superQueryType+"<"+model.getLocalName()+"> _super = this;\n\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void introClassHeader(StringBuilder builder, BeanModel model) {
|
||||
final String queryType = model.getPrefix() + model.getSimpleName();
|
||||
final String localName = model.getLocalName();
|
||||
builder.append("@SuppressWarnings(\"all\")\n");
|
||||
builder.append("public class " + queryType + " extends PEntity<" + localName + "> {\n\n");
|
||||
builder.append("@SuppressWarnings(\"serial\")\n");
|
||||
if (model.getSuperModel() != null && !model.getSuperModel().isEntityModel()){
|
||||
BeanModel superModel = model.getSuperModel();
|
||||
String superQueryType = superModel.getPrefix() + superModel.getSimpleName();
|
||||
if (!superModel.getPackageName().equals(model.getPackageName())){
|
||||
superQueryType = superModel.getPackageName() + "." + superQueryType;
|
||||
}
|
||||
builder.append("public class " + queryType + " extends "+superQueryType+"<" + localName + "> {\n\n");
|
||||
}else{
|
||||
builder.append("public class " + queryType + " extends PEntity<" + localName + "> {\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
protected void introDefaultInstance(StringBuilder builder, BeanModel model) {
|
||||
@ -252,10 +268,12 @@ public class EntitySerializer implements Serializer{
|
||||
builder.append(" public static final " + queryType + " " + unscapSimpleName + " = new " + queryType + "(\"" + unscapSimpleName + "\");\n\n");
|
||||
}
|
||||
|
||||
protected void introImports(StringBuilder builder) {
|
||||
protected void introImports(StringBuilder builder, BeanModel model) {
|
||||
builder.append("import com.mysema.query.util.*;\n");
|
||||
builder.append("import com.mysema.query.types.path.*;\n");
|
||||
builder.append("import com.mysema.query.types.expr.*;\n");
|
||||
if (!model.getConstructors().isEmpty()){
|
||||
builder.append("import com.mysema.query.types.expr.*;\n");
|
||||
}
|
||||
}
|
||||
|
||||
protected void introJavadoc(StringBuilder builder, BeanModel model) {
|
||||
|
||||
@ -28,21 +28,37 @@ public class SupertypeSerializer extends EntitySerializer{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void introImports(StringBuilder builder) {
|
||||
protected void introImports(StringBuilder builder, BeanModel model) {
|
||||
builder.append("import com.mysema.query.util.*;\n");
|
||||
builder.append("import com.mysema.query.types.path.*;\n\n");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void introClassHeader(StringBuilder builder, BeanModel model) {
|
||||
final String queryType = model.getPrefix() + model.getSimpleName();
|
||||
final String localName = model.getLocalName();
|
||||
builder.append("@SuppressWarnings(\"serial\")\n");
|
||||
if (model.getSuperModel() != null){
|
||||
BeanModel superModel = model.getSuperModel();
|
||||
String superQueryType = superModel.getPrefix() + superModel.getSimpleName();
|
||||
if (!superModel.getPackageName().equals(model.getPackageName())){
|
||||
superQueryType = superModel.getPackageName() + "." + superQueryType;
|
||||
}
|
||||
builder.append("public abstract class " + queryType + " extends "+superQueryType+"<" + localName + "> {\n\n");
|
||||
}else{
|
||||
builder.append("public abstract class " + queryType + "<T extends "+localName+"> extends PEntity<T> {\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void constructors(BeanModel model, Writer writer) throws IOException {
|
||||
final String simpleName = model.getSimpleName();
|
||||
final String queryType = model.getPrefix() + simpleName;
|
||||
final String localName = model.getLocalName();
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append(" public " + queryType + "(PEntity<? extends "+localName+"> entity) {\n");
|
||||
builder.append(" super(entity.getType(), entity.getEntityName(), entity.getMetadata());\n");
|
||||
builder.append(" }\n\n");
|
||||
builder.append(" public "+queryType+"(Class<? extends T> type, @NotEmpty String entityName, PathMetadata<?> metadata) {\n");
|
||||
builder.append(" super(type, entityName, metadata);\n");
|
||||
builder.append(" }\n");
|
||||
writer.append(builder.toString());
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
|
||||
@ -22,7 +22,7 @@ public class TypeCastTest {
|
||||
@Test
|
||||
public void mappedSuperclass(){
|
||||
QInheritedProperties subClass = QInheritedProperties.inheritedProperties;
|
||||
QSuperclass superClass = new QSuperclass(subClass);
|
||||
QSuperclass<InheritedProperties> superClass = subClass;
|
||||
|
||||
assertEquals(InheritedProperties.class, superClass.getType());
|
||||
assertEquals(InheritedProperties.class.getSimpleName(), superClass.getEntityName());
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-root</artifactId>
|
||||
<version>0.6.4</version>
|
||||
<version>0.6.4-SNAPSHOT</version>
|
||||
<name>Querydsl</name>
|
||||
<description>parent project for querydsl modules</description>
|
||||
<url>http://source.mysema.com/display/querydsl</url>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user