/** * @param ranges ranges to process and add them (potentially altered) to result list of ranges. */ public void addRanges(List<LongRange> ranges) { for (LongRange range : ranges) { addRange(range.getMinimumLong(), range.getMaximumLong()); } }
public static Collection<LongRange> parseRangeString(String ranges) { if (StringUtils.isEmpty(ranges)) { return Collections.emptyList(); } String[] rangesArray = ranges.split("[,]", -1); DisjointRanges disjointRanges = new DisjointRanges(); for (int i = 0; i < rangesArray.length; i++) { String[] startEndArray = rangesArray[i].split("[-]", -1); if (startEndArray.length == 2) { disjointRanges.addRange(macToLong(startEndArray[0]), macToLong(startEndArray[1])); } else { throw new IllegalArgumentException( "Failed to initialize Mac Pool range. Please fix Mac Pool range: rangesArray[i]"); } } return clipMultiCastsFromRanges(disjointRanges.getRanges()); }
/** * convert mac pool ranges to long ranges for bll usage with union of any two overlapping ranges into one range */ public static Collection<LongRange> macPoolToRanges(org.ovirt.engine.core.common.businessentities.MacPool macPool) { final DisjointRanges disjointRanges = new DisjointRanges(); for (MacRange macRange : macPool.getRanges()) { disjointRanges.addRange(macToLong(macRange.getMacFrom()), macToLong(macRange.getMacTo())); } return clipMultiCastsFromRanges(disjointRanges.getRanges()); }