Revert "Change to QueryType"

This reverts commit f7010f1d3b8ce719157a738483aa6f1eab867624.
This commit is contained in:
Xephi 2015-12-30 13:14:48 +01:00
parent 668535d93f
commit bfbddd466a
2 changed files with 63 additions and 54 deletions

View File

@ -1,10 +1,15 @@
package fr.xephi.authme.datasource.queries; package fr.xephi.authme.datasource.queries;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
public class Query { public class Query {
@ -16,7 +21,10 @@ public class Query {
private List<String> into = new ArrayList<String>(); private List<String> into = new ArrayList<String>();
private List<String> values = new ArrayList<String>(); private List<String> values = new ArrayList<String>();
private List<String> updateSet = new ArrayList<String>(); private List<String> updateSet = new ArrayList<String>();
private QueryType type; private boolean isSelect = false;
private boolean isDelete = false;
private boolean isUpdate = false;
private boolean isInsert = false;
private String buildQuery = ""; private String buildQuery = "";
/** /**
@ -36,7 +44,10 @@ public class Query {
public Query select(String selector) public Query select(String selector)
{ {
this.selector = selector; this.selector = selector;
type = QueryType.SELECT; isSelect = true;
isDelete = false;
isUpdate = false;
isInsert = false;
return this; return this;
} }
@ -46,7 +57,10 @@ public class Query {
*/ */
public Query update() public Query update()
{ {
type = QueryType.UPDATE; isSelect = false;
isDelete = false;
isUpdate = true;
isInsert = false;
return this; return this;
} }
@ -56,7 +70,10 @@ public class Query {
*/ */
public Query delete() public Query delete()
{ {
type = QueryType.DELETE; isSelect = false;
isDelete = true;
isUpdate = false;
isInsert = false;
return this; return this;
} }
@ -67,7 +84,10 @@ public class Query {
*/ */
public Query insert() public Query insert()
{ {
type = QueryType.INSERT; isSelect = false;
isDelete = false;
isUpdate = false;
isInsert = true;
return this; return this;
} }
@ -129,51 +149,49 @@ public class Query {
public Query build(){ public Query build(){
StringBuilder str = new StringBuilder(); StringBuilder str = new StringBuilder();
switch (type) { if (isSelect)
case SELECT: {
str.append("SELECT ").append(selector).append(" FROM ").append(from);
}
else if (isDelete)
{
str.append("DELETE FROM ").append(from);
}
else if (isUpdate)
{
str.append("UPDATE ").append(from).append(" SET ");
Iterator<String> iter = updateSet.iterator();
while (iter.hasNext())
{ {
str.append("SELECT ").append(selector).append(" FROM ").append(from); String s = iter.next();
str.append(s);
if (iter.hasNext())
str.append(", ");
} }
case DELETE: }
else if (isInsert)
{
str.append("INSERT INTO ").append(from).append(" ('");
Iterator<String> iter = into.iterator();
while (iter.hasNext())
{ {
str.append("DELETE FROM ").append(from); String s = iter.next();
str.append(s);
if (iter.hasNext())
str.append("', '");
else
str.append("')");
} }
case UPDATE: str.append(" VALUES ('");
iter = values.iterator();
while (iter.hasNext())
{ {
str.append("UPDATE ").append(from).append(" SET "); String s = iter.next();
Iterator<String> iter = updateSet.iterator(); str.append(s);
while (iter.hasNext()) if (iter.hasNext())
{ str.append("', '");
String s = iter.next(); else
str.append(s); str.append("')");
if (iter.hasNext())
str.append(", ");
}
}
case INSERT:
{
str.append("INSERT INTO ").append(from).append(" ('");
Iterator<String> iter = into.iterator();
while (iter.hasNext())
{
String s = iter.next();
str.append(s);
if (iter.hasNext())
str.append("', '");
else
str.append("')");
}
str.append(" VALUES ('");
iter = values.iterator();
while (iter.hasNext())
{
String s = iter.next();
str.append(s);
if (iter.hasNext())
str.append("', '");
else
str.append("')");
}
} }
} }
if (!where.isEmpty()) if (!where.isEmpty())

View File

@ -1,9 +0,0 @@
package fr.xephi.authme.datasource.queries;
public enum QueryType {
DELETE,
INSERT,
SELECT,
UPDATE;
}