summaryrefslogtreecommitdiff
path: root/src/main/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/Main.java')
-rw-r--r--src/main/Main.java84
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];
+ }
}