Example usage for com.google.common.collect TreeRangeSet create

List of usage examples for com.google.common.collect TreeRangeSet create

Introduction

In this page you can find the example usage for com.google.common.collect TreeRangeSet create.

Prototype

public static <C extends Comparable<?>> TreeRangeSet<C> create() 

Source Link

Document

Creates an empty TreeRangeSet instance.

Usage

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;
    }
}