aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/core/db/FileDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/core/db/FileDao.java')
-rw-r--r--src/main/java/io/trygvis/esper/testing/core/db/FileDao.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/db/FileDao.java b/src/main/java/io/trygvis/esper/testing/core/db/FileDao.java
new file mode 100644
index 0000000..0878f63
--- /dev/null
+++ b/src/main/java/io/trygvis/esper/testing/core/db/FileDao.java
@@ -0,0 +1,29 @@
+package io.trygvis.esper.testing.core.db;
+
+import java.io.*;
+import java.net.*;
+import java.sql.*;
+import java.util.*;
+
+import static java.lang.System.*;
+
+public class FileDao {
+ private final Connection c;
+
+ public FileDao(Connection c) {
+ this.c = c;
+ }
+
+ public void store(URI url, String contentType, byte[] data) throws SQLException {
+ try (PreparedStatement s = c.prepareStatement("INSERT INTO file(uuid, created_date, url, content_type, data) VALUES(?, ?, ?, ?, ?)")) {
+ UUID uuid = UUID.randomUUID();
+ int i = 1;
+ s.setString(i++, uuid.toString());
+ s.setTimestamp(i++, new Timestamp(currentTimeMillis()));
+ s.setString(i++, url.toASCIIString());
+ s.setString(i++, contentType);
+ s.setBinaryStream(i, new ByteArrayInputStream(data), data.length);
+ s.executeUpdate();
+ }
+ }
+}