summaryrefslogtreecommitdiff
path: root/src/main/DataFiller.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/DataFiller.java')
-rw-r--r--src/main/DataFiller.java53
1 files changed, 23 insertions, 30 deletions
diff --git a/src/main/DataFiller.java b/src/main/DataFiller.java
index a65a032..10ed774 100644
--- a/src/main/DataFiller.java
+++ b/src/main/DataFiller.java
@@ -1,9 +1,9 @@
package main;
import data.Tweet;
-import database.DBConnection;
+import database.NamedPreparedStatement;
import database.QueryUtils;
-import java.sql.PreparedStatement;
+import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@@ -20,58 +20,52 @@ public class DataFiller {
/**
* The main database connection to fill.
*/
- private final DBConnection m_connection;
+ private final Connection m_connection;
/**
* A single insert tweet that can be used.
*/
- private PreparedStatement m_insertTweet;
+ private final NamedPreparedStatement m_insertTweet;
/**
* A single insert profiles that can be used.
*/
- private PreparedStatement m_insertProfile;
- /**
- * A single insert ispostedby that can be used.
- */
- private PreparedStatement m_insertPosted;
+ private final NamedPreparedStatement m_insertProfile;
/**
* A single insert brand that can be used.
*/
- private PreparedStatement m_insertBrand;
+ private final NamedPreparedStatement m_insertBrand;
/**
* A single insert hashtag that can be used.
*/
- private PreparedStatement m_insertHash;
+ private final NamedPreparedStatement m_insertHash;
/**
* A single insert url that can be used.
*/
- private PreparedStatement m_insertUrl;
+ private final NamedPreparedStatement m_insertUrl;
/**
* A single insert url that can be used.
*/
- private PreparedStatement m_insertMentions;
+ private final NamedPreparedStatement m_insertMentions;
/**
* Create the datafiller object.
*
* @param connection The database connection to use.
*/
- public DataFiller(DBConnection connection) {
+ public DataFiller(Connection connection) {
try {
m_connection = connection;
- m_insertTweet = m_connection.create(QueryUtils.insertTweet());
- m_insertProfile = m_connection.create(QueryUtils.insertProfile());
- m_insertPosted = m_connection.create(QueryUtils.insertPosted());
- m_insertBrand = m_connection.create(QueryUtils.insertBrand());
- m_insertHash = m_connection.create(QueryUtils.insertHash());
- m_insertUrl = m_connection.create(QueryUtils.insertUrl());
- m_insertMentions = m_connection.create(QueryUtils.insertMentions());
-
+ m_insertTweet = new NamedPreparedStatement(m_connection, QueryUtils.insertTweet);
+ m_insertProfile = new NamedPreparedStatement(m_connection, QueryUtils.insertProfile);
+ m_insertBrand = new NamedPreparedStatement(m_connection, QueryUtils.insertBrand);
+ m_insertHash = new NamedPreparedStatement(m_connection, QueryUtils.insertHash);
+ m_insertUrl = new NamedPreparedStatement(m_connection, QueryUtils.insertUrl);
+ m_insertMentions = new NamedPreparedStatement(m_connection, QueryUtils.insertMentions);
} catch (SQLException ex) {
throw new RuntimeException(ex.getMessage());
}
@@ -81,25 +75,24 @@ public class DataFiller {
try {
for (Tweet.Hashtag hashtag : tweet.entities.hashtags) {
QueryUtils.setInsertHashParams(m_insertHash, tweet.id, hashtag.text);
- m_insertHash.executeUpdate();
+ m_insertHash.getStmt().executeUpdate();
}
for (Tweet.Url url : tweet.entities.urls) {
QueryUtils.setInsertHashParams(m_insertUrl, tweet.id, url.expanded_url);
- m_insertUrl.executeUpdate();
+ m_insertUrl.getStmt().executeUpdate();
}
for (Tweet.Mention mention : tweet.entities.user_mentions) {
QueryUtils.setInsertMentionsParams(m_insertMentions, tweet.id, mention.id);
- m_insertMentions.executeUpdate();
+ m_insertMentions.getStmt().executeUpdate();
}
- QueryUtils.setInsertParams(m_insertTweet, m_insertProfile, m_insertPosted, tweet);
- m_insertTweet.executeUpdate();
- m_insertProfile.executeUpdate();
- m_insertPosted.executeUpdate();
+ QueryUtils.setInsertParams(m_insertTweet, m_insertProfile, tweet);
+ m_insertTweet.getStmt().executeUpdate();
+ m_insertProfile.getStmt().executeUpdate();
List<String> brands = getBrands(tweet);
for (String brand : brands) {
QueryUtils.setInsertBrandParams(m_insertBrand, tweet.id, brand);
- m_insertBrand.executeUpdate();
+ m_insertBrand.getStmt().executeUpdate();
}
} catch (SQLException ex) {
Logger.getLogger(DataFiller.class.getName()).log(Level.SEVERE, null, ex);