public static void main(String[] args) throws FileNotFoundException, JSONException, IOException {
		CommonParameters commonParams = new CommonParameters();
		CommandSubmit submitCommand = new CommandSubmit();
		CommandStatus statusCommand = new CommandStatus();
		CommandCancel cancelCommand = new CommandCancel();
		CommandClean cleanCommand = new CommandClean();
		
		JCommander commander = new JCommander(commonParams);
		commander.addCommand(CommandSubmit.NAME, submitCommand);
		commander.addCommand(CommandStatus.NAME, statusCommand);
		
		try {
			commander.parse(args);
			String parsedCommand = commander.getParsedCommand();
			if (parsedCommand.equals(CommandSubmit.NAME)) {
				submit(submitCommand.jobFile, commonParams.endpoint);
			} else if (parsedCommand.equals(CommandStatus.NAME)) {
				status(statusCommand.jobId, commonParams.endpoint);
			} else if (parsedCommand.equals(CommandCancel.NAME)) {
				cancel(cancelCommand.jobId, commonParams.endpoint);
			} else if (parsedCommand.equals(CommandClean.NAME)) {
				clean(cleanCommand.jobId, commonParams.endpoint);
			} else {
				commander.usage();
			}
		} catch (ParameterException e) {
			commander.usage();
		}
	}