summaryrefslogtreecommitdiff
path: root/src/main/Analyzor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/Analyzor.java')
-rw-r--r--src/main/Analyzor.java31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/main/Analyzor.java b/src/main/Analyzor.java
index 5a201be..810fc4d 100644
--- a/src/main/Analyzor.java
+++ b/src/main/Analyzor.java
@@ -1,6 +1,7 @@
package main;
import analysis.BrandChecker;
+import database.BrandAnalyzerQueue;
import database.NamedPreparedStatement;
import database.QueryUtils;
import java.io.File;
@@ -255,8 +256,6 @@ public class Analyzor {
* @throws SQLException If the query is unsuccesfull.
*/
public void getBrands(String queryText, boolean reset) throws SQLException {
- BrandChecker checker = new BrandChecker("brandonlyrules.txt");
-
PreparedStatement statement;
// make a connection to the database and execute the query
if (reset) {
@@ -278,29 +277,27 @@ public class Analyzor {
int brandCount = 0;
int count = 0;
long timestamp = System.currentTimeMillis();
-
- while (data.next()) {
- List<String> brands = checker.getBrands(data.getString("text"));
- if (brands.isEmpty()) {
- brandCount++;
- QueryUtils.setInsertBrandParams(insertBrand, data.getLong("tweetid"), "no");
+ BrandAnalyzerQueue analyzer = new BrandAnalyzerQueue(data);
+ BrandAnalyzerQueue.Result result;
+ new Thread(analyzer).start();
+ while ((result = analyzer.next()) != null) {
+ for (String brand : result.brands) {
+ QueryUtils.setInsertBrandParams(insertBrand, result.tweetid, brand);
insertBrand.executeUpdate();
- } else {
- brandCount += brands.size();
- for (String brand : brands) {
- QueryUtils.setInsertBrandParams(insertBrand, data.getLong("tweetid"), brand);
- insertBrand.executeUpdate();
- }
}
+ brandCount += result.brands.size();
count++;
if (count % 10000 == 0) {
- System.out.println("Processed " + count + " tweets in " + (System.currentTimeMillis() - timestamp) + " ms");
+ System.err.println("Processed " + count + " tweets, inserted "
+ + brandCount + " in " + ((System.currentTimeMillis() - timestamp) / 1000) + " sec");
}
}
- System.out.println("Processed " + count + " tweets in " + (System.currentTimeMillis() - timestamp) + " ms");
- System.out.println("Finished getBrands, processed " + count + " number of tweets, added " + brandCount + " brands or no.");
+ System.err.println("Processed " + count + " tweets in "
+ + ((System.currentTimeMillis() - timestamp) / 1000) + " sec");
+ System.err.println("Finished getBrands, processed " + count
+ + " number of tweets, added " + brandCount + " brands or no.");
}
//gets the amount of users that tweet about a brand in a timezone