public Object getOptionValue(KOption option) { if (!contains(option)) { return null; } return options.get(option).getOptionInfo().getValue(); }
public static TokenOption fromOptionName(String optionName) { if (optionName != null) { for (TokenOption ko : values()) { if (ko.optionInfo != null && ko.optionInfo.getName().equals(optionName)) { return ko; } } } return NONE; } }
KOptionType kt = kopt.getType(); if (kt == KOptionType.NOV) { return true; // no need of a value kopt.setValue(new File(strValue)); } else if (kt == KOptionType.DIR) { File dir = new File(strValue); kopt.setValue(dir); } else if (kt == KOptionType.INT) { try { Integer num = Integer.valueOf(strValue); kopt.setValue(num); } catch (NumberFormatException nfe) { throw new IllegalArgumentException("Invalid integer:" + strValue); kopt.setValue(strValue); } else if (kt == KOptionType.DATE) { DateFormat df = new SimpleDateFormat("dd/MM/yy:HH:mm:ss"); try { date = df.parse(strValue); kopt.setValue(date); } catch (ParseException e) { throw new IllegalArgumentException("Fail to parse the date: " + strValue); kopt.setValue(parseDuration(strValue)); } else if (kt == KOptionType.BOOL) { kopt.setValue(Boolean.valueOf(strValue));
KOptionGroup group = kOptionInfo.getGroup(); KOption kOpt = null; kOpt = KrbOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.PKINIT) { kOpt = PkinitOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.TOKEN) { kOpt = TokenOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.KDC_FLAGS) { kOpt = KrbKdcOption.fromOptionName(kOptionInfo.getName()); kOpt.getOptionInfo().setValue(toolOpt.getOptionInfo().getValue()); results.add(kOpt);
if (kto != KinitOption.NONE && kto.getOptionInfo().getType() != KOptionType.NOV) {
public void add(KOption option, Object optionValue) { if (option != null) { option.getOptionInfo().setValue(optionValue); add(option); } }
protected void processKdcOptions() { // By default enforce these flags kdcOptions.setFlag(KdcOption.FORWARDABLE); kdcOptions.setFlag(KdcOption.PROXIABLE); kdcOptions.setFlag(KdcOption.RENEWABLE_OK); for (KOption kOpt: requestOptions.getOptions()) { if (kOpt.getOptionInfo().getGroup() == KrbOptionGroup.KDC_FLAGS) { KrbKdcOption krbKdcOption = (KrbKdcOption) kOpt; boolean flagValue = requestOptions.getBooleanOption(kOpt, true); if (kOpt.equals(KrbKdcOption.NOT_FORWARDABLE)) { krbKdcOption = KrbKdcOption.FORWARDABLE; flagValue = !flagValue; } if (kOpt.equals(KrbKdcOption.NOT_PROXIABLE)) { krbKdcOption = KrbKdcOption.PROXIABLE; flagValue = !flagValue; } KdcOption kdcOption = KdcOption.valueOf(krbKdcOption.name()); kdcOptions.setFlag(kdcOption, flagValue); } } } }
/** * Convert kinit tool options to KOptions. * @param toolOptions * @return KOptions */ static KOptions convertOptions(KOptions toolOptions) { KOptions results = new KOptions(); for (KOption toolOpt : toolOptions.getOptions()) { KOptionInfo kOptionInfo = toolOpt.getOptionInfo(); KOptionGroup group = kOptionInfo.getGroup(); KOption kOpt = null; if (group == KrbOptionGroup.KRB) { kOpt = KrbOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.PKINIT) { kOpt = PkinitOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.TOKEN) { kOpt = TokenOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.KDC_FLAGS) { kOpt = KrbKdcOption.fromOptionName(kOptionInfo.getName()); } if (kOpt != null && kOpt.getOptionInfo() != KrbOption.NONE.getOptionInfo()) { kOpt.getOptionInfo().setValue(toolOpt.getOptionInfo().getValue()); results.add(kOpt); } } return results; }
if (kOption != KadminOption.NONE && kOption.getOptionInfo().getType() != KOptionType.NOV) {
public void add(KOption option, Object optionValue) { if (option != null) { option.getOptionInfo().setValue(optionValue); add(option); } }
protected void processKdcOptions() { // By default enforce these flags kdcOptions.setFlag(KdcOption.FORWARDABLE); kdcOptions.setFlag(KdcOption.PROXIABLE); kdcOptions.setFlag(KdcOption.RENEWABLE_OK); for (KOption kOpt: requestOptions.getOptions()) { if (kOpt.getOptionInfo().getGroup() == KrbOptionGroup.KDC_FLAGS) { KrbKdcOption krbKdcOption = (KrbKdcOption) kOpt; boolean flagValue = requestOptions.getBooleanOption(kOpt, true); if (kOpt.equals(KrbKdcOption.NOT_FORWARDABLE)) { krbKdcOption = KrbKdcOption.FORWARDABLE; flagValue = !flagValue; } if (kOpt.equals(KrbKdcOption.NOT_PROXIABLE)) { krbKdcOption = KrbKdcOption.PROXIABLE; flagValue = !flagValue; } KdcOption kdcOption = KdcOption.valueOf(krbKdcOption.name()); kdcOptions.setFlag(kdcOption, flagValue); } } } }
/** * Convert kinit tool options to KOptions. * @param toolOptions * @return KOptions */ static KOptions convertOptions(KOptions toolOptions) { KOptions results = new KOptions(); for (KOption toolOpt : toolOptions.getOptions()) { KOptionInfo kOptionInfo = toolOpt.getOptionInfo(); KOptionGroup group = kOptionInfo.getGroup(); KOption kOpt = null; if (group == KrbOptionGroup.KRB) { kOpt = KrbOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.PKINIT) { kOpt = PkinitOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.TOKEN) { kOpt = TokenOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.KDC_FLAGS) { kOpt = KrbKdcOption.fromOptionName(kOptionInfo.getName()); } if (kOpt != null && kOpt.getOptionInfo() != KrbOption.NONE.getOptionInfo()) { kOpt.getOptionInfo().setValue(toolOpt.getOptionInfo().getValue()); results.add(kOpt); } } return results; }
public Object getOptionValue(KOption option) { if (!contains(option)) { return null; } return options.get(option).getOptionInfo().getValue(); }
public static KlistOption fromName(String name) { if (name != null) { for (KlistOption ko : values()) { if (ko.optionInfo != null && ko.optionInfo.getName().equals(name)) { return ko; } } } return NONE; } }
if (kto != KinitOption.NONE && kto.getOptionInfo().getType() != KOptionType.NOV) {
KOptionType kt = kopt.getType(); if (kt == KOptionType.NOV) { return true; // no need of a value kopt.setValue(new File(strValue)); } else if (kt == KOptionType.DIR) { File dir = new File(strValue); kopt.setValue(dir); } else if (kt == KOptionType.INT) { try { Integer num = Integer.valueOf(strValue); kopt.setValue(num); } catch (NumberFormatException nfe) { throw new IllegalArgumentException("Invalid integer:" + strValue); kopt.setValue(strValue); } else if (kt == KOptionType.DATE) { DateFormat df = new SimpleDateFormat("dd/MM/yy:HH:mm:ss"); try { date = df.parse(strValue); kopt.setValue(date); } catch (ParseException e) { throw new IllegalArgumentException("Fail to parse the date: " + strValue); kopt.setValue(parseDuration(strValue)); } else if (kt == KOptionType.BOOL) { kopt.setValue(Boolean.valueOf(strValue));
KOptionGroup group = kOptionInfo.getGroup(); KOption kOpt = null; kOpt = KrbOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.PKINIT) { kOpt = PkinitOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.TOKEN) { kOpt = TokenOption.fromOptionName(kOptionInfo.getName()); } else if (group == KrbOptionGroup.KDC_FLAGS) { kOpt = KrbKdcOption.fromOptionName(kOptionInfo.getName()); kOpt.getOptionInfo().setValue(toolOpt.getOptionInfo().getValue()); results.add(kOpt);
/** * Get the KDC port, if it has been set. */ public int getKdcPort() { KOption option = startupOptions.getOption(KdcServerOption.KDC_PORT); if (option != null) { return (Integer) option.getOptionInfo().getValue(); } return 0; }
public static KinitOption fromName(String name) { if (name != null) { for (KinitOption ko : values()) { if (ko.optionInfo != null && ko.optionInfo.getName().equals(name)) { return ko; } } } return NONE; } }
if (kOption.getOptionInfo().getType() != KOptionType.NOV) {