diff options
Diffstat (limited to 'src/main/Main.java')
-rw-r--r-- | src/main/Main.java | 84 |
1 files changed, 54 insertions, 30 deletions
diff --git a/src/main/Main.java b/src/main/Main.java index 81b6df9..1ba2579 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -1,7 +1,9 @@ package main; +import database.ConnectionBuilder; import java.io.File; import java.io.FileNotFoundException; +import java.io.IOException; import java.util.HashMap; import java.util.Scanner; @@ -12,39 +14,61 @@ import java.util.Scanner; */ public class Main { - /** - * @param args the command line arguments - */ - - /** - * TODO: parametrized query - * choose query - * choose filters (analyzor) - */ - - -public static void main(String[] args) throws FileNotFoundException { - HashMap<String, Double> unimap = new HashMap<String, Double>(); // Map for uni - HashMap<String, Double> bimap = new HashMap<String, Double>(); // Map for bi - - File uniFile = new File("unigrams-pmilexicon.txt"); // scan uni - Scanner uniScanner = new Scanner(uniFile); - File biFile = new File("bigrams-pmilexicon.txt"); // scan bi - Scanner biScanner = new Scanner(biFile); - - while (uniScanner.hasNext()) { // Set up map with uni - unimap.put(uniScanner.next(), Double.parseDouble(uniScanner.next())); - if (uniScanner.hasNextLine()) { - uniScanner.nextLine(); - } + static public ConnectionBuilder cb; + + public static void main(String[] args) { + Main main; + try { + main = new Main(args); + } catch (IllegalArgumentException ex) { + System.err.println(ex.getMessage()); + System.exit(1); + return; } + } + + public Main(String[] args) { + cb = new ConnectionBuilder() + .setServerName("localhost") + .setUsername("twitter") + .setPassword("2IOC02") + .setDbName("twitter"); + parseGlobalOptions(args); + try { - while (biScanner.hasNext()) { // Set up map with bi - bimap.put(biScanner.next() + " " + biScanner.next(), Double.parseDouble(biScanner.next())); - if (biScanner.hasNextLine()) { - biScanner.nextLine(); + FarmShell shell = new FarmShell(); + shell.execute(args); + } catch (IllegalArgumentException ex) { + System.err.println(ex.getMessage()); + System.exit(1); + } + } + + private void parseGlobalOptions(String[] args) + throws IllegalArgumentException { + /* parse global options */ + for (int i = 0; i < args.length; i++) { + if ("--dbhost".equals(args[i])) { + cb.setServerName(getArg(args, ++i, "--dbhost")); + } else if ("--dbuser".equals(args[i])) { + cb.setUsername(getArg(args, ++i, "--dbuser")); + } else if ("--dbpass".equals(args[i])) { + cb.setPassword(getArg(args, ++i, "--dbpass")); + } else if ("--dbport".equals(args[i])) { + cb.setPort(Integer.valueOf(getArg(args, ++i, "--dbport"))); + } else if ("--dbname".equals(args[i])) { + cb.setDbName(getArg(args, ++i, "--dbname")); + } else if (args[i].startsWith("-")) { + throw new IllegalArgumentException("Invalid option: " + args[i]); } } } - + + private String getArg(String[] params, int index, String name) { + if (index >= params.length) { + System.err.println("Missing argument for parameter " + name); + System.exit(1); + } + return params[index]; + } } |