From 36152ad981e3c6cd37c3771e3d4a393535400f91 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 9 May 2014 14:44:19 +0200 Subject: First try to get a reader, then try to open database Connecting to the database is probably more expensive, so try to read data first. --- src/main/Main.java | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/Main.java b/src/main/Main.java index a9abf4a..b21ea16 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -49,32 +49,13 @@ public class Main { parseGlobalOptions(args); } - public void run() { + private void tweetsToDb(ITweetReader reader) throws IOException { + Tweet tweet; try (Connection connection = cb.create()) { - /* create the object that fills the database */ DataFiller filler = new DataFiller(connection); - - ITweetReader reader = null; - try { - if (m_filename == null) { - reader = new TweetReader(System.in); - } else { - reader = new FileTweetReader(m_filename); - } - - Tweet tweet; - while ((tweet = reader.getTweet()) != null) { - filler.processTweet(tweet); - } - } catch (JsonSyntaxException ex) { - System.err.println("Got an invalid tweet: " + ex); - } catch (IOException ex) { - System.err.println("Cannot open tweets: " + ex); - } finally { - if (reader != null) { - reader.close(); - } + while ((tweet = reader.getTweet()) != null) { + filler.processTweet(tweet); } } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, @@ -82,6 +63,26 @@ public class Main { } } + public void run() { + ITweetReader reader = null; + try { + if (m_filename == null) { + reader = new TweetReader(System.in); + } else { + reader = new FileTweetReader(m_filename); + } + tweetsToDb(reader); + } catch (JsonSyntaxException ex) { + System.err.println("Got an invalid tweet: " + ex); + } catch (IOException ex) { + System.err.println("Cannot open tweets: " + ex); + } finally { + if (reader != null) { + reader.close(); + } + } + } + private void parseGlobalOptions(String[] args) throws IllegalArgumentException { /* parse global options */ -- cgit v1.2.1