@Override
	public boolean execute(CommandSender par1Sender, Command par2Command,
			String par3Args, String[] par4Args) {
		int page;
		try {
			page = Integer.parseInt(par4Args.length > 0 ? par4Args[0] : "0") * 10;
		} catch (NumberFormatException e) {
			page = 0;
		}
		ArgsParser ap = new ArgsParser();
		ParseCommand view = new ParseCommand("view");
		view.addOption("p", "page",   1, Converters.getStringConverter());
		view.addOption("l", "location", 3, Converters.getIntegerConverter());
		view.addOption("t", "type",     1, Converters.getIntegerConverter());

		ParseCommand rollback = new ParseCommand("rollback");
		rollback.addOption("p", "player",   1, Converters.getStringConverter());
		rollback.addOption("i", "id",       1, Converters.getIntegerConverter());
		rollback.addOption("l", "location", 3, Converters.getIntegerConverter());
		rollback.addOption("t", "type",     1, Converters.getIntegerConverter());

		ap.addCommandParser(view);
		ap.addCommandParser(rollback);
		ap.parse(par3Args);
		Map<String, List<Entry<String, List<?>>>> args = ap.getValue();
		System.out.println(args);
		ResultSet rs = null;
		try {
			rs = DatabaseManager.executeQuery(String.format(SQL.SELECT_LOG_DATA, page));
			while(rs.next()) {
				Object[] params = {
						rs.getInt("id"),
						rs.getDate("date"),
						rs.getInt("x"),
						rs.getInt("y"),
						rs.getInt("z"),
						rs.getString("world"),
						rs.getString("player"),
						getAction(rs.getInt("action")),
						rs.getString("description"),
				};
				Util.Message(par1Sender, String.format("ID: %s %s | x: %s y: %s z:%s World: %s Player: %s Action: %s | %s", params), null);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
				try {
					if(rs != null) DatabaseManager.closeResultSet(rs);
				} catch (SQLException e) {
					e.printStackTrace();
				}
		}
		return true;
	}