diff options
author | Irving Gonzalez <ialexis93@gmail.com> | 2015-06-09 21:55:35 -0600 |
---|---|---|
committer | Irving Gonzalez <ialexis93@gmail.com> | 2015-06-09 21:55:35 -0600 |
commit | d8f950b6b90f3ce144fd2ae78184844ffbacc9b7 (patch) | |
tree | fc9642ed3159dd16ebd1c5448233b251b091921c /src/org/traccar/database/QueryBuilder.java | |
parent | 42eaa18d37edb09df6cb39174f1da1358e3280e7 (diff) | |
parent | ee087f587a96700d91e407d434e94d1616c18368 (diff) | |
download | trackermap-server-d8f950b6b90f3ce144fd2ae78184844ffbacc9b7.tar.gz trackermap-server-d8f950b6b90f3ce144fd2ae78184844ffbacc9b7.tar.bz2 trackermap-server-d8f950b6b90f3ce144fd2ae78184844ffbacc9b7.zip |
Merge branch 'master' of https://github.com/tananaev/traccar
Conflicts:
.gitignore
Diffstat (limited to 'src/org/traccar/database/QueryBuilder.java')
-rw-r--r-- | src/org/traccar/database/QueryBuilder.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/org/traccar/database/QueryBuilder.java b/src/org/traccar/database/QueryBuilder.java index ff26221de..05ec3e35c 100644 --- a/src/org/traccar/database/QueryBuilder.java +++ b/src/org/traccar/database/QueryBuilder.java @@ -15,6 +15,7 @@ */ package org.traccar.database; +import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; @@ -31,7 +32,9 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; + import javax.sql.DataSource; + import org.traccar.model.Factory; public class QueryBuilder { @@ -211,6 +214,23 @@ public class QueryBuilder { return this; } + public QueryBuilder setBytes(String name, byte[] value) throws SQLException { + for (int i : indexes(name)) { + try { + if (value == null) { + statement.setNull(i, Types.VARCHAR); + } else { + statement.setBytes(i, value); + } + } catch (SQLException error) { + statement.close(); + connection.close(); + throw error; + } + } + return this; + } + public QueryBuilder setObject(Object object) throws SQLException { Method[] methods = object.getClass().getMethods(); @@ -231,6 +251,8 @@ public class QueryBuilder { setString(name, (String) method.invoke(object)); } else if (method.getReturnType().equals(Date.class)) { setDate(name, (Date) method.invoke(object)); + } else if (method.getReturnType().equals(byte[].class)) { + setBytes(name, (byte[]) method.invoke(object)); } } catch (IllegalAccessException error) { } catch (InvocationTargetException error) { |