List of usage examples for com.google.common.collect TreeRangeSet create
public static <C extends Comparable<?>> TreeRangeSet<C> create()
From source file:org.apache.calcite.adapter.druid.DruidDateTimeUtils.java
/** * Generates a list of {@link LocalInterval}s equivalent to a given * expression. Assumes that all the predicates in the input * reference a single column: the timestamp column. *///from www .j a va 2 s .c o m public static List<LocalInterval> createInterval(RelDataType type, RexNode e) { final List<Range<Calendar>> ranges = extractRanges(e, false); if (ranges == null) { // We did not succeed, bail out return null; } final TreeRangeSet condensedRanges = TreeRangeSet.create(); for (Range r : ranges) { condensedRanges.add(r); } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Inferred ranges on interval : " + condensedRanges); } return toInterval(ImmutableList.<Range>copyOf(condensedRanges.asRanges())); }
From source file:org.onosproject.store.resource.impl.EncodedResourcesSerializer.java
@Override public EncodedDiscreteResources read(Kryo kryo, Input input, Class<EncodedDiscreteResources> cls) { @SuppressWarnings("unchecked") List<ClosedOpenRange> ranges = kryo.readObject(input, ArrayList.class); DiscreteResourceCodec codec = (DiscreteResourceCodec) kryo.readClassAndObject(input); RangeSet<Integer> rangeSet = TreeRangeSet.create(); ranges.stream().map(x -> Range.closedOpen(x.lowerBound(), x.upperBound())).forEach(rangeSet::add); return new EncodedDiscreteResources(rangeSet, codec); }
From source file:io.druid.sql.calcite.filtration.RangeSets.java
/** * Intersects a set of rangeSets, or returns null if the set is empty. *//* www. j a v a 2s. co m*/ public static <T extends Comparable<T>> RangeSet<T> intersectRangeSets(final Iterable<RangeSet<T>> rangeSets) { RangeSet<T> rangeSet = null; for (final RangeSet<T> set : rangeSets) { if (rangeSet == null) { rangeSet = TreeRangeSet.create(); rangeSet.addAll(set); } else { rangeSet.removeAll(set.complement()); } } return rangeSet; }
From source file:com.google.googlejavaformat.java.FormatFileCallable.java
private RangeSet<Integer> characterRanges(String input) { final RangeSet<Integer> characterRanges = TreeRangeSet.create(); if (parameters.lines().isEmpty() && parameters.offsets().isEmpty()) { characterRanges.add(Range.closedOpen(0, input.length())); return characterRanges; }// w w w . j av a 2s. c o m characterRanges.addAll(Formatter.lineRangesToCharRanges(input, parameters.lines())); for (int i = 0; i < parameters.offsets().size(); i++) { Integer length = parameters.lengths().get(i); if (length == 0) { // 0 stands for "format the line under the cursor" length = 1; } characterRanges .add(Range.closedOpen(parameters.offsets().get(i), parameters.offsets().get(i) + length)); } return characterRanges; }
From source file:io.druid.sql.calcite.filtration.RangeSets.java
public static RangeSet<Long> fromIntervals(final Iterable<Interval> intervals) { final RangeSet<Long> retVal = TreeRangeSet.create(); for (Interval interval : intervals) { retVal.add(Range.closedOpen(interval.getStartMillis(), interval.getEndMillis())); }//from www. j av a2 s. c o m return retVal; }
From source file:org.mskcc.shenkers.view.GenericStackedIntervalView.java
public void setData(List<Pair<Integer, Integer>> intervals, List<T> content) { rows.clear();// w ww.ja va 2 s . c o m rowNodes.clear(); rows.add(TreeRangeSet.create()); rowNodes.add(new ArrayList<>()); List<IntervalNode<T>> nodes = Stream.iterate(0, i -> i + 1).limit(intervals.size()) .map(i -> new IntervalNode<T>(intervals.get(i), content.get(i))).collect(Collectors.toList()); Collections.sort(nodes, new Comparator<IntervalNode<T>>() { @Override public int compare(IntervalNode<T> o1, IntervalNode<T> o2) { return o1.interval.getKey() - o2.interval.getKey(); } }); for (IntervalNode inode : nodes) { Pair<Integer, Integer> interval = inode.interval; Range<Integer> range = Range.closed(interval.getKey(), interval.getValue()); logger.info("stacking {}", interval); int i = 0; added: { // add the interval to the first row that doesn't intersect with while (i < rows.size()) { TreeRangeSet<Integer> set = rows.get(i); List<IntervalNode<T>> rowContent = rowNodes.get(i); RangeSet<Integer> intersection = set.subRangeSet( Range.closed(interval.getKey() - minSpace, interval.getValue() + minSpace)); if (intersection.isEmpty()) { set.add(range); rowContent.add(inode); logger.info("no intersections in row {}", i); break added; } logger.info("intersects in row {} {}", i, set); i++; } TreeRangeSet<Integer> row = TreeRangeSet.create(); row.add(range); rows.add(row); List<IntervalNode<T>> rowContent = new ArrayList<>(); rowContent.add(inode); rowNodes.add(rowContent); } } // { // Rectangle background = new Rectangle(); // background.setFill(Color.WHITE); // background.widthProperty().bind(widthProperty()); // background.heightProperty().bind(heightProperty()); // getChildren().add(background); // } List<T> children = new ArrayList<>(); for (List<IntervalNode<T>> row : rowNodes) { GenericIntervalView<T> rowView = new GenericIntervalView<>(min, max); List<Pair<Integer, Integer>> rowIntervals = new ArrayList<>(row.size()); List<T> rowContent = new ArrayList<>(row.size()); row.stream().forEach(i -> { rowIntervals.add(i.interval); rowContent.add(i.content); }); rowView.setData(rowIntervals, rowContent); rowView.flipDomainProperty().bind(flipDomain); children.add((T) rowView); } getChildren().addAll(children); }
From source file:org.mskcc.shenkers.view.StackedIntervalView.java
public void setData(List<Pair<Integer, Integer>> intervals) { Collections.sort(intervals, new Comparator<Pair<Integer, Integer>>() { @Override//from ww w. j a v a2s .co m public int compare(Pair<Integer, Integer> o1, Pair<Integer, Integer> o2) { return o1.getKey() - o2.getKey(); } }); // Pair<Integer, Integer> r = intervals.get(0); for (Pair<Integer, Integer> interval : intervals) { Range<Integer> range = Range.closed(interval.getKey(), interval.getValue()); int i = 0; added: { // add the interval to the first row that doesn't intersect with while (i < rows.size()) { TreeRangeSet<Integer> set = rows.get(i); RangeSet<Integer> intersection = set.subRangeSet( Range.closed(interval.getKey() - minSpace, interval.getValue() + minSpace)); if (intersection.isEmpty()) { set.add(range); break added; } i++; } TreeRangeSet<Integer> row = TreeRangeSet.create(); row.add(range); rows.add(row); } } List<Node> content = new ArrayList<>(); for (RangeSet<Integer> row : rows) { RangeSetIntervalView rowView = new RangeSetIntervalView(min, max); rowView.setData(row); content.add(rowView); } getChildren().setAll(content); }
From source file:org.apache.lens.server.api.driver.hooks.QueryCostBasedQueryHook.java
public RangeSet<T> parseAllowedRangeSet(String rangeStr) { RangeSet<T> parsed = parseRangeSet(rangeStr); if (parsed == null) { TreeRangeSet<T> set = TreeRangeSet.create(); set.add(Range.<T>all());/*from ww w .ja va 2s . c om*/ return set; } else { return parsed; } }
From source file:com.github.s4ke.moar.regex.CharacterClassesUtils.java
public static CodePointSet positiveFn(Set<RangeRep> ranges) { RangeSet<Integer> rangeSet = TreeRangeSet.create(); for (RangeRep rangeRep : ranges) { rangeSet.addAll(rangeRep.getRangeSet()); }//from w w w . ja v a 2 s. co m return CodePointSet.range(RangeRep.of(rangeSet)); }
From source file:org.apache.lens.server.api.driver.hooks.QueryCostBasedQueryHook.java
public RangeSet<T> parseDisallowedRangeSet(String rangeStr) { RangeSet<T> parsed = parseRangeSet(rangeStr); if (parsed == null) { return TreeRangeSet.create(); } else {/*from w w w. j av a2 s.c o m*/ return parsed; } }