summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java')
-rw-r--r--container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java136
1 files changed, 49 insertions, 87 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java
index 115223a..2848c8e 100644
--- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java
+++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java
@@ -12,24 +12,17 @@ import io.trygvis.persistence.FieldMirror;
import io.trygvis.persistence.GeneratorConfiguration;
import io.trygvis.persistence.TypeHandler;
import io.trygvis.persistence.sql.AbstractTypedQuery;
-import io.trygvis.persistence.sql.FromResultSet;
-import javax.persistence.TypedQuery;
import java.sql.Connection;
import java.sql.PreparedStatement;
-import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
import static io.trygvis.container.compiler.Utils.toGetterName;
-import static io.trygvis.container.compiler.Utils.toSetterName;
-import static io.trygvis.persistence.FieldMirror.AccessorType.FIELD;
-import static io.trygvis.persistence.FieldMirror.AccessorType.METHOD;
import static io.trygvis.persistence.FieldMirror.FieldType.PRIMITIVE;
-import static io.trygvis.persistence.FieldMirror.FieldType.REFERENCE;
-import static io.trygvis.persistence.generators.GeneratorUtils.staticVersion;
+import static io.trygvis.persistence.FieldMirror.GetterType;
import static java.lang.reflect.Modifier.PUBLIC;
import static java.lang.reflect.Modifier.STATIC;
import static java.util.Collections.singletonList;
@@ -51,14 +44,14 @@ public class DaoUtilsGenerator {
ClassG g = new ClassG(PUBLIC | STATIC, entity.utilsType);
g.add(insertInto(g.imports));
g.add(selectById(g.imports));
- g.add(selectWhere(g.imports));
+// g.add(selectWhere(g.imports));
g.add(update(g.imports));
g.add(delete(g.imports));
g.add(deleteById(g.imports));
- g.add(query(g.imports));
- MethodRef fromResultSet = fromResultSet(g.imports);
- g.add(fromResultSet);
- g.add(staticVersion(new TypeRef(FromResultSet.class).args(entity.type), "fromResultSet", fromResultSet, g.type));
+// g.add(query(g.imports));
+// MethodRef fromResultSet = fromResultSet(g.imports);
+// g.add(fromResultSet);
+// g.add(staticVersion(new TypeRef(FromResultSet.class).args(entity.type), "fromResultSet", fromResultSet, g.type));
return g;
}
@@ -123,20 +116,6 @@ public class DaoUtilsGenerator {
"throw new UnsupportedOperationException(\"Not implemented\");");
}
- public MethodRef selectWhere(Imports imports) {
- TypeRef sqlExceptionType = imports.add(SQLException.class);
- Parameters p = new Parameters();
- Parameters.ParameterRef c = p.addParameter(imports.add(Connection.class), "c");
- Parameters.ParameterRef where = p.addParameter(imports.add(String.class), "where");
- List<String> body = new ArrayList<>();
- body.add("String sql = \"SELECT \" + desc.defaultFields + \" FROM " + entity.tableName + " WHERE \" + " + where.name + " + \";\";");
- body.add("return runQuery(" + c.name + ", sql, " + entity.utilsType + ".fromResultSet" + entity.type.className + ");");
-
- TypeRef listOfEntityType = new TypeRef(List.class).args(entity.type);
- return new MethodRef(PUBLIC | STATIC, listOfEntityType, "select" + entity.type.className + "Where", p, body).
- exception(sqlExceptionType);
- }
-
public MethodRef update(Imports imports) {
Parameters p = new Parameters();
p.addParameter(imports.add(Connection.class), "c");
@@ -155,7 +134,7 @@ public class DaoUtilsGenerator {
List<String> arguments = new ArrayList<>();
arguments.add(con.name);
for (FieldMirror field : entity.idFields) {
- if (field.accessorType == FIELD) {
+ if (field.getterType == GetterType.FIELD) {
arguments.add(o.name + "." + field.javaName);
} else {
arguments.add(o.name + "." + toGetterName(field.javaName) + "()");
@@ -200,66 +179,49 @@ public class DaoUtilsGenerator {
ClassG g = new ClassG(PUBLIC | STATIC, entityTypedQuery).
extendsType(sqlQueryType).
add(constructor);
- p = new Parameters();
- Parameters.ParameterRef rs = p.addParameter(new TypeRef(ResultSet.class), "rs");
- MethodRef fromResultSet = new MethodRef(PUBLIC, entity.type, "fromResultSet", p,
- "return " + entity.utilsType.className + ".fromResultSet" + entity.type.className + "(" + rs.name + ");").
- exception(sqlExceptionType);
- g.add(fromResultSet);
return g;
}
- public MethodRef query(Imports imports) {
- TypeRef conType = imports.add(Connection.class);
- TypeRef typedQueryType = imports.add(TypedQuery.class).args(entity.type);
- TypeRef entityTypedQuery = new TypeRef(entity.type.className + "TypedQuery");
-
- Parameters p = new Parameters();
- Parameters.ParameterRef c = p.addParameter(conType, "c");
- return new MethodRef(PUBLIC | STATIC, typedQueryType, "query" + entity.type.className, p,
- "return new " + entityTypedQuery + "(" + c.name + ");");
- }
-
- public MethodRef fromResultSet(Imports g) {
- TypeRef rsType = g.add(ResultSet.class);
- Parameters p = new Parameters();
- Parameters.ParameterRef rs = p.addParameter(rsType, "rs");
-
- List<String> body = new ArrayList<>();
- List<String> names = new ArrayList<>();
- for (int i = 0; i < entity.fields.size(); i++) {
- FieldMirror field = entity.fields.get(i);
- if (field.accessorType != FIELD) {
- continue;
- }
- if (field.fieldType == PRIMITIVE) {
- TypeHandler typeHandler = generatorConfiguration.typeHandler(field.type);
- body.add(field.type + " " + field.javaName + " = " + typeHandler.getter(rs.name, i + 1) + ";");
- } else if (field.fieldType == REFERENCE) {
- body.add(field.type + " " + field.javaName + " = null;");
- }
- names.add(field.javaName);
- }
-
- body.add(entity.type + " returnValue = new " + entity.type + "(" + join(names, ", ") + ");");
-
- for (int i = 0; i < entity.fields.size(); i++) {
- FieldMirror field = entity.fields.get(i);
- if (field.accessorType != METHOD) {
- continue;
- }
- if (field.fieldType == PRIMITIVE) {
- TypeHandler typeHandler = generatorConfiguration.typeHandler(field.type);
- body.add("returnValue." + toSetterName(field.javaName) + "(" + typeHandler.getter(rs.name, i + 1) + ");");
- } else if (field.fieldType == REFERENCE) {
- body.add("returnValue." + toSetterName(field.javaName) + "(" + null + ");");
- }
- names.add(field.javaName);
- }
-
- body.add("return returnValue;");
-
- return new MethodRef(PUBLIC | STATIC, entity.type, "fromResultSet" + entity.type.className, p, body).
- exception(g.add(SQLException.class));
- }
+// public MethodRef fromResultSet(Imports g) {
+// TypeRef rsType = g.add(ResultSet.class);
+// Parameters p = new Parameters();
+// Parameters.ParameterRef rs = p.addParameter(rsType, "rs");
+//
+// List<String> body = new ArrayList<>();
+// List<String> names = new ArrayList<>();
+// for (int i = 0; i < entity.fields.size(); i++) {
+// FieldMirror field = entity.fields.get(i);
+// if (field.accessorType != FIELD) {
+// continue;
+// }
+// if (field.fieldType == PRIMITIVE) {
+// TypeHandler typeHandler = generatorConfiguration.typeHandler(field.type);
+// body.add(field.type + " " + field.javaName + " = " + typeHandler.getter(rs.name, i + 1) + ";");
+// } else if (field.fieldType == REFERENCE) {
+// body.add(field.type + " " + field.javaName + " = null;");
+// }
+// names.add(field.javaName);
+// }
+//
+// body.add(entity.type + " returnValue = new " + entity.type + "(" + join(names, ", ") + ");");
+//
+// for (int i = 0; i < entity.fields.size(); i++) {
+// FieldMirror field = entity.fields.get(i);
+// if (field.accessorType != METHOD) {
+// continue;
+// }
+// if (field.fieldType == PRIMITIVE) {
+// TypeHandler typeHandler = generatorConfiguration.typeHandler(field.type);
+// body.add("returnValue." + toSetterName(field.javaName) + "(" + typeHandler.getter(rs.name, i + 1) + ");");
+// } else if (field.fieldType == REFERENCE) {
+// body.add("returnValue." + toSetterName(field.javaName) + "(" + null + ");");
+// }
+// names.add(field.javaName);
+// }
+//
+// body.add("return returnValue;");
+//
+// return new MethodRef(PUBLIC | STATIC, entity.type, "fromResultSet" + entity.type.className, p, body).
+// exception(g.add(SQLException.class));
+// }
}