diff --git a/com/Acrobot/Breeze/Database/Database.java b/com/Acrobot/Breeze/Database/Database.java index cf5dc5e..56d2442 100644 --- a/com/Acrobot/Breeze/Database/Database.java +++ b/com/Acrobot/Breeze/Database/Database.java @@ -50,7 +50,14 @@ public class Database { EntityParser parser = new EntityParser(clazz); - //TODO Finish this + String fields = parser.parseToString(); + + try { + table.create(fields); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } return true; } diff --git a/com/Acrobot/Breeze/Database/EntityParser.java b/com/Acrobot/Breeze/Database/EntityParser.java index a0289c6..c3b6238 100644 --- a/com/Acrobot/Breeze/Database/EntityParser.java +++ b/com/Acrobot/Breeze/Database/EntityParser.java @@ -46,28 +46,24 @@ public class EntityParser { * @param field Java's field * @return SQL type */ - public String convertToSQL(Field field) { + public static String convertToSQL(Field field) { String sqlType = ""; Class type = field.getType(); - if (type.isAssignableFrom(String.class)) { - sqlType += "VARCHAR(255)"; - } else if (type.isAssignableFrom(boolean.class)) { + if (type.isAssignableFrom(boolean.class)) { sqlType += "BOOLEAN"; } else if (type.isAssignableFrom(int.class)) { sqlType += "INTEGER"; - } else if (type.isAssignableFrom(double.class)) { - sqlType += "DOUBLE"; - } else if (type.isAssignableFrom(float.class)) { - sqlType += "FLOAT"; + } else if (type.isAssignableFrom(double.class) || type.isAssignableFrom(float.class)) { + sqlType += "REAL"; } else { sqlType += "TEXT"; } if (field.isAnnotationPresent(Id.class)) { - sqlType += " AUTO INCREMENT"; + sqlType += " PRIMARY KEY"; } - return null; //TODO Finish this + return sqlType; } }