diff options
-rw-r--r-- | src/main/Main.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main/Main.java b/src/main/Main.java index b21ea16..999b307 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -36,6 +36,10 @@ public class Main { private String m_filename; private final ConnectionBuilder cb; + /** + * Whether the database should be contacted or not. + */ + private boolean skipDb; public Main(String[] args) { // default connection properties @@ -44,11 +48,19 @@ public class Main { .setUsername("postgres") .setPassword("2IOC02") .setDbName("Twitter"); + skipDb = false; /* parse the global options. */ parseGlobalOptions(args); } + private void printTweets(ITweetReader reader) throws IOException { + Tweet tweet; + while ((tweet = reader.getTweet()) != null) { + System.out.println(tweet); + } + } + private void tweetsToDb(ITweetReader reader) throws IOException { Tweet tweet; try (Connection connection = cb.create()) { @@ -71,7 +83,11 @@ public class Main { } else { reader = new FileTweetReader(m_filename); } - tweetsToDb(reader); + if (skipDb) { + printTweets(reader); + } else { + tweetsToDb(reader); + } } catch (JsonSyntaxException ex) { System.err.println("Got an invalid tweet: " + ex); } catch (IOException ex) { @@ -98,6 +114,8 @@ public class Main { cb.setPassword(getArg(args, ++i, "--dbpass")); } else if ("--dbname".equals(args[i])) { cb.setDbName(getArg(args, ++i, "--dbname")); + } else if ("--skipdb".equals(args[i])) { + skipDb = true; } else if (args[i].startsWith("-")) { throw new IllegalArgumentException("Invalid option: " + args[i]); } else { @@ -136,6 +154,7 @@ public class Main { " --dbuser USER Database username (defaults to 'postgres')", " --dbpass PASS Database password (defaults to '2IOC02')", " --dbname NAME Database name (defaults to 'Twitter')", + " --skipdb Do not contact the database at all, just print data.", "", "If no tweets file is given, data will be read from standard input." }; |