diff options
Diffstat (limited to 'src/main/CommandParser.java')
-rw-r--r-- | src/main/CommandParser.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/main/CommandParser.java b/src/main/CommandParser.java deleted file mode 100644 index 97f01fc..0000000 --- a/src/main/CommandParser.java +++ /dev/null @@ -1,113 +0,0 @@ -package main; - -import java.lang.reflect.Array; -import java.util.Arrays; -import mining.TwitterApi; - -/** - * Class that creates executable commands from input. - * @author Maurice Laveaux - */ -public class CommandParser { - // the queue of commands. - private final CommandQueue m_queue; - - // the twitter api. - private final TwitterApi m_api; - - /** - * Default constructor, requires the TwitterApi - * @param queue A valid CommandQueue that can execute requests. - * @param api the TwitterApi to use for the commands. - */ - public CommandParser(CommandQueue queue, TwitterApi api) { - m_queue = queue; - m_api = api; - } - - /** - * Parses a string and creates an executable command for it. - * @param command The string to parse the command from. - */ - final public void parse(final String command) { - // split the code for each space ' '. - String[] seperated = command.split(" "); - - // parse the seperated code for each argument. - parse(seperated); - } - - /** - * Parses a string and creates an executable command for it. - * @param seperated A space seperated string for each argument. - */ - final public void parse(final String[] seperated) { - if (seperated.length == 0) { - return; - } - - // The main command. - String command = seperated[0]; - - // the first command issued - switch (command) { - case "help": - showFullHelp(); - return; - case "-h": - showFullHelp(); - return; - case "quit": - // TODO: implement less hack way of quiting the program. - System.exit(0); - default: - break; - } - - // there is a command without errors but it was not switched. - if (seperated.length == 1) { - showUsageHelp(command); - return; - } - - // commands with multiple parameters - String[] extra = Arrays.copyOfRange(seperated, 1, seperated.length); - - if (seperated.length < 3) { - showUsageHelp(extra.toString()); - return; - } - - String[] parameters = Arrays.copyOfRange(extra, 1, extra.length); - - try { - switch (command) { - case "get": - m_queue.add(new RequestCommand(m_api, extra[0], parameters)); - return; - } - } - catch (IllegalArgumentException ex) { - System.out.println(ex); - } - } - - /** Show the basic usage help in console */ - private void showUsageHelp(String unknown) { - System.out.println("Unknown argument: \"" + unknown + "\"."); - System.out.println(" Use help, -h for more help."); - } - - /** Show the full manual page in the console */ - private void showFullHelp() { - System.out.println("Usage: [command] [arguments], see below for options."); - - System.out.println("\n command:"); - System.out.println(" set, use the twitter Search/REST API."); - System.out.println(" stream, use the twitter Stream API."); - - System.out.println("\n arguments:"); - System.out.println(" <main>, the information to get from api.twitter.com."); - System.out.println(" <json_member>, any number of arguments for the information"); - } -}
\ No newline at end of file |