public static DhcpOptionCode valueOfInt(int code) { return Arrays.stream(DhcpOptionCode.values()) .filter(option -> option.getCode() == code) .findFirst() .orElseThrow(() -> new IllegalArgumentException("Dhcp option code " + code + " not supported.")); }
public Map<Integer, String> getDhcpOptionsMap() { Map<Integer, String> dhcpOptionsMap = new HashMap<>(); if (dhcpOptions != null && !dhcpOptions.isEmpty()) { Collection<Map<String, String>> paramsCollection = this.dhcpOptions.values(); for(Map<String, String> dhcpNetworkOptions : paramsCollection) { for (String key : dhcpNetworkOptions.keySet()) { if (key.startsWith(ApiConstants.DHCP_PREFIX)) { int dhcpOptionValue = Integer.parseInt(key.replaceFirst(ApiConstants.DHCP_PREFIX, "")); dhcpOptionsMap.put(dhcpOptionValue, dhcpNetworkOptions.get(key)); } else { Dhcp.DhcpOptionCode dhcpOptionEnum = Dhcp.DhcpOptionCode.valueOfString(key); dhcpOptionsMap.put(dhcpOptionEnum.getCode(), dhcpNetworkOptions.get(key)); } } } } return dhcpOptionsMap; }
public Map<String, Map<Integer, String>> getDhcpOptionsMap() { Map<String, Map<Integer, String>> dhcpOptionsMap = new HashMap<>(); if (dhcpOptionsNetworkList != null && !dhcpOptionsNetworkList.isEmpty()) { Collection<Map<String, String>> paramsCollection = this.dhcpOptionsNetworkList.values(); for (Map<String, String> dhcpNetworkOptions : paramsCollection) { String networkId = dhcpNetworkOptions.get(ApiConstants.NETWORK_ID); if (networkId == null) { throw new IllegalArgumentException("No networkid specified when providing extra dhcp options."); } Map<Integer, String> dhcpOptionsForNetwork = new HashMap<>(); dhcpOptionsMap.put(networkId, dhcpOptionsForNetwork); for (String key : dhcpNetworkOptions.keySet()) { if (key.startsWith(ApiConstants.DHCP_PREFIX)) { int dhcpOptionValue = Integer.parseInt(key.replaceFirst(ApiConstants.DHCP_PREFIX, "")); dhcpOptionsForNetwork.put(dhcpOptionValue, dhcpNetworkOptions.get(key)); } else if (!key.equals(ApiConstants.NETWORK_ID)) { Dhcp.DhcpOptionCode dhcpOptionEnum = Dhcp.DhcpOptionCode.valueOfString(key); dhcpOptionsForNetwork.put(dhcpOptionEnum.getCode(), dhcpNetworkOptions.get(key)); } } } } return dhcpOptionsMap; }
public Map<String, Map<Integer, String>> getDhcpOptionsMap() { Map<String, Map<Integer, String>> dhcpOptionsMap = new HashMap<>(); if (dhcpOptionsNetworkList != null && !dhcpOptionsNetworkList.isEmpty()) { Collection<Map<String, String>> paramsCollection = this.dhcpOptionsNetworkList.values(); for(Map<String, String> dhcpNetworkOptions : paramsCollection) { String networkId = dhcpNetworkOptions.get(ApiConstants.NETWORK_ID); if(networkId == null) { throw new IllegalArgumentException("No networkid specified when providing extra dhcp options."); } Map<Integer, String> dhcpOptionsForNetwork = new HashMap<>(); dhcpOptionsMap.put(networkId, dhcpOptionsForNetwork); for (String key : dhcpNetworkOptions.keySet()) { if (key.startsWith(ApiConstants.DHCP_PREFIX)) { int dhcpOptionValue = Integer.parseInt(key.replaceFirst(ApiConstants.DHCP_PREFIX, "")); dhcpOptionsForNetwork.put(dhcpOptionValue, dhcpNetworkOptions.get(key)); } else if (!key.equals(ApiConstants.NETWORK_ID)) { Dhcp.DhcpOptionCode dhcpOptionEnum = Dhcp.DhcpOptionCode.valueOfString(key); dhcpOptionsForNetwork.put(dhcpOptionEnum.getCode(), dhcpNetworkOptions.get(key)); } } } } return dhcpOptionsMap; }