summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-05-10 20:10:13 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-05-10 20:10:13 +0200
commit6cbe48603e8957a4324d49149f0d46682188a3a7 (patch)
tree459b9bc7582a28230b66f3d634aab2a750b3991d
parent84917e8789b9eece2b5ddc2353c3ddcc32a4301e (diff)
downloadDatafiller-6cbe48603e8957a4324d49149f0d46682188a3a7.tar.gz
More nullable annotations, print tweets for parse errors too
Nullable is based on Twitter platform (users, tweets) documentation. Now the line number is also printed.
-rw-r--r--src/data/Tweet.java1
-rw-r--r--src/data/User.java2
-rw-r--r--src/main/Main.java9
3 files changed, 11 insertions, 1 deletions
diff --git a/src/data/Tweet.java b/src/data/Tweet.java
index de14b19..91bb3d1 100644
--- a/src/data/Tweet.java
+++ b/src/data/Tweet.java
@@ -8,6 +8,7 @@ import org.joda.time.DateTime;
public class Tweet {
public long id;
+ @ValidatingJsonDeserializer.Nullable
public String lang;
@ValidatingJsonDeserializer.Nullable
public long in_reply_to_user_id;
diff --git a/src/data/User.java b/src/data/User.java
index 45a0d09..3a56582 100644
--- a/src/data/User.java
+++ b/src/data/User.java
@@ -14,6 +14,7 @@ public class User {
public int statuses_count;
public int followers_count;
public int friends_count;
+ @ValidatingJsonDeserializer.Nullable
public String location;
public String screen_name;
public DateTime created_at;
@@ -21,6 +22,7 @@ public class User {
@ValidatingJsonDeserializer.Validator
public Entities entities;
public String lang;
+ @ValidatingJsonDeserializer.Nullable
public String description;
public boolean verified;
diff --git a/src/main/Main.java b/src/main/Main.java
index bd4055f..fcae971 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -1,5 +1,6 @@
package main;
+import com.google.gson.JsonParseException;
import com.google.gson.JsonSyntaxException;
import data.Tweet;
import database.ConnectionBuilder;
@@ -72,9 +73,15 @@ public class Main {
filler.processTweet(tweet);
++tweetNo;
}
+ } catch (JsonParseException ex) {
+ if (tweet != null) {
+ System.err.println("Faulty tweet " + tweetNo + ": " + tweet);
+ }
+ Logger.getLogger(Main.class.getName()).log(Level.SEVERE,
+ "Tweet read error", ex);
} catch (SQLException ex) {
if (tweet != null) {
- System.err.println("Faulty tweet: " + tweet);
+ System.err.println("Faulty tweet " + tweetNo + ": " + tweet);
}
Logger.getLogger(Main.class.getName()).log(Level.SEVERE,
"DB error", ex);