@Override public int run(CommandLine cmd) throws Exception { int result = super.run(cmd); if (result != 0) { return result; } int uuidSplits = OptionUtil.getIntOption(cmd, uuidSplitsOption, -1); int uuidSplitsLength = OptionUtil.getIntOption(cmd, uuidSplitsLengthOption, 3); int userIdSplits = OptionUtil.getIntOption(cmd, userIdSplitsOption, -1); int userIdSplitsLength = OptionUtil.getIntOption(cmd, userIdSplitsLengthOption, 3); boolean noPrefix = cmd.hasOption(noPrefixOption.getOpt()); if (uuidSplits != -1 && userIdSplits != -1) { String splitKeys = generateUserHexadecimalSplits(userIdSplits, userIdSplitsLength, noPrefix) + "," + Bytes.toStringBinary(new byte[] { 1 }) + "," + generateUuidSplits(uuidSplits, uuidSplitsLength, noPrefix); System.out.println(splitKeys); } else if (uuidSplits != -1) { System.out.println(generateUuidSplits(uuidSplits, uuidSplitsLength, noPrefix)); } else if (userIdSplits != -1) { System.out.println(generateUserHexadecimalSplits(userIdSplits, userIdSplitsLength, noPrefix)); } else { System.out.println("Nothing to do, use -h to get help."); } return 0; }
public static <T extends Enum<T>> T getEnum(CommandLine cmd, Option option, T defaultValue, Class<T> enumClass) { String value = getStringOption(cmd, option, null); if (value == null) { return defaultValue; } try { return Enum.valueOf(enumClass, value.toUpperCase()); } catch (IllegalArgumentException e) { throw new CliException("Invalid value for option " + option.getLongOpt() + ": " + value); } }
int workers = OptionUtil.getIntOption(cmd, workersOption, 1); String tableName = OptionUtil.getStringOption(cmd, tableOption, Table.RECORD.name); String repositoryName = OptionUtil.getStringOption(cmd, repositoryOption, RepoAndTableUtil.DEFAULT_REPOSITORY); ImportFileFormat fileFormat = OptionUtil.getEnum(cmd, fileFormatOption, ImportFileFormat.JSON, ImportFileFormat.class); boolean ignoreEmptyFields = cmd.hasOption(ignoreEmptyFieldsOption.getLongOpt()); boolean ignoreAndDeleteEmptyFields = cmd.hasOption(ignoreAndDeleteEmptyFieldsOption.getLongOpt()); long maxErrors = OptionUtil.getLongOption(cmd, maxErrorsOption, 1L);
public static <T extends Enum<T>> T getEnum(CommandLine cmd, Option option, Class<T> enumClass) { String value = getStringOption(cmd, option); try { return Enum.valueOf(enumClass, value.toUpperCase()); } catch (IllegalArgumentException e) { throw new CliException("Invalid value for option " + option.getLongOpt() + ": " + value); } } }