Example usage for com.google.common.collect Range lowerEndpoint

List of usage examples for com.google.common.collect Range lowerEndpoint

Introduction

In this page you can find the example usage for com.google.common.collect Range lowerEndpoint.

Prototype

public C lowerEndpoint() 

Source Link

Document

Returns the lower endpoint of this range.

Usage

From source file:org.pascani.dsl.dbmapper.databases.Influxdb.java

private Point handle(ChangeEvent e) {
    Point point = null;/*w  w  w.j  a  v  a2  s.c  o  m*/
    TaggedValue<Serializable> taggedValue = TaggedValue.instanceFrom(e.value(), Serializable.class);
    if (taggedValue.value() instanceof Number || taggedValue.value() instanceof Boolean
            || taggedValue.value() instanceof String) {
        point = makeRequestString(e, taggedValue.value(), taggedValue.tags());
    } else if (taggedValue.value() instanceof Range<?>) {
        Range<?> range = (Range<?>) taggedValue.value();
        Class<?> clazz = range.hasLowerBound() ? range.lowerEndpoint().getClass()
                : range.upperEndpoint().getClass();
        if (Number.class.isAssignableFrom(clazz)) {
            point = makeRequestString(e, taggedValue.value(), taggedValue.tags());
        } else {
            System.out.println("Not supported type " + clazz.getCanonicalName());
        }
    } else {
        System.out.println("Not supported type " + taggedValue.value().getClass().getCanonicalName());
    }
    return point;
}

From source file:eu.itesla_project.wca.WCAHistoLimits.java

public void write(DataSource dataSource, StringToIntMapper<AmplSubset> mapper) throws IOException {

    try (TableFormatter formatter = new AmplDatTableFormatter(
            new OutputStreamWriter(dataSource.newOutputStream(HISTO_LOADS_FILE_SUFFIX, TXT_EXT, false),
                    StandardCharsets.UTF_8),
            "loads historical data " + histoInterval, INVALID_FLOAT_VALUE, true, LOCALE, new Column("num"),
            new Column("min p (MW)"), new Column("max p (MW)"), new Column("id"))) {

        for (Map.Entry<String, Range<Float>> e : loadLimits.entrySet()) {
            String id = e.getKey();
            Range<Float> range = e.getValue();
            int num = mapper.getInt(AmplSubset.LOAD, id);
            formatter.writeCell(num).writeCell(range.lowerEndpoint()).writeCell(range.upperEndpoint())
                    .writeCell(id);/* w  w w . j  a va2 s  .  c o m*/
        }
        for (Map.Entry<String, Range<Float>> e : danglingLineLimits.entrySet()) {
            String id = e.getKey();
            Range<Float> range = e.getValue();
            int num = mapper.getInt(AmplSubset.LOAD, id);
            formatter.writeCell(num).writeCell(range.lowerEndpoint()).writeCell(range.upperEndpoint())
                    .writeCell(id + "_load");
        }
    }

    try (TableFormatter formatter = new AmplDatTableFormatter(
            new OutputStreamWriter(dataSource.newOutputStream(HISTO_GENERATORS_FILE_SUFFIX, TXT_EXT, false),
                    StandardCharsets.UTF_8),
            "generators historical data " + histoInterval, INVALID_FLOAT_VALUE, true, LOCALE, new Column("num"),
            new Column("min p (MW)"), new Column("max p (MW)"), new Column("id"))) {

        for (Map.Entry<String, Range<Float>> e : generatorLimits.entrySet()) {
            String id = e.getKey();
            Range<Float> range = e.getValue();
            int num = mapper.getInt(AmplSubset.GENERATOR, id);
            formatter.writeCell(num).writeCell(range.lowerEndpoint()).writeCell(range.upperEndpoint())
                    .writeCell(id);
        }
    }
}

From source file:it.units.malelab.ege.ge.mapper.BitsSGEMapper.java

public BitsSGEMapper(int maxDepth, Grammar<T> grammar) {
    super(grammar);
    this.maxDepth = maxDepth;
    nonRecursiveGrammar = Utils.resolveRecursiveGrammar(grammar, maxDepth);
    Map<Pair<T, Integer>, Range<Integer>> codonsRangesMap = new LinkedHashMap<>();
    int startingIndex = 0;
    for (Pair<T, Integer> p : nonRecursiveGrammar.getRules().keySet()) {
        int maximumExpansions = maximumExpansions(p, nonRecursiveGrammar);
        codonsRangesMap.put(p, Range.closedOpen(startingIndex, startingIndex + maximumExpansions));
        startingIndex = startingIndex + maximumExpansions;
    }/*from   w ww.  java2s  . c om*/
    nonTerminals = new ArrayList<>(codonsRangesMap.keySet());
    nonTerminalSizes = new ArrayList<>();
    nonTerminalCodonsNumbers = new ArrayList<>();
    overallSize = 0;
    for (Pair<T, Integer> nonTerminal : nonTerminals) {
        Range<Integer> range = codonsRangesMap.get(nonTerminal);
        int nonTerminalCodonsNumber = range.upperEndpoint() - range.lowerEndpoint();
        int codonSize = (int) Math.max(
                Math.ceil(Math.log10(nonRecursiveGrammar.getRules().get(nonTerminal).size()) / Math.log10(2)),
                1);
        nonTerminalSizes.add(nonTerminalCodonsNumber * codonSize);
        nonTerminalCodonsNumbers.add(nonTerminalCodonsNumber);
        overallSize = overallSize + nonTerminalCodonsNumber * codonSize;
    }
}

From source file:org.mskcc.shenkers.view.RangeMapHistogramView.java

public void setData(Range<Integer> view, RangeMap<Integer, Double> data) {

    int lb = view.lowerEndpoint();
    int ub = view.upperEndpoint();
    int r = ub - lb + 1;
    Map<Range<Integer>, Double> map = data.asMapOfRanges();

    if (listBinding != null) {
        listBinding.removeListener(pointUpdater);
    }//from   w w w  .  j a v  a 2  s . com
    listBinding = Bindings.createObjectBinding(() -> {

        double width = graphic.widthProperty().get();
        double height = graphic.heightProperty().get();
        double min = minProperty.get();
        double max = maxProperty.get();
        boolean flipDomain = flipDomainProperty.get();
        boolean flipRange = flipRangeProperty.get();

        List<Double> points = map.entrySet().stream().flatMap(entry -> {

            Double value = scaleValue(entry.getValue(), min, max, height, flipRange);
            double[] d = scaleDomain(entry.getKey(), lb, r, width, flipDomain);
            return Stream.of(d[0], value, d[1], value);
        }).collect(Collectors.toList());
        points.addAll(0,
                Arrays.asList(points.get(0), scaleValue(zero.doubleValue(), min, max, height, flipRange)));
        points.addAll(Arrays.asList(points.get(points.size() - 2),
                scaleValue(zero.doubleValue(), min, max, height, flipRange)));

        return points;
    }, graphic.widthProperty(), graphic.heightProperty(), minProperty, maxProperty, flipRangeProperty,
            flipDomainProperty, zero);

    listBinding.addListener(pointUpdater);

    graphic.getChildren().add(p);
}

From source file:com.wealdtech.utils.RangeComparator.java

@Override
public int compare(Range<C> range1, Range<C> range2) {
    int result = ((Boolean) range1.hasLowerBound()).compareTo(range2.hasLowerBound());
    if (result == 0) {
        if (range1.hasLowerBound()) {
            result = range1.lowerEndpoint().compareTo(range2.lowerEndpoint());
            if (result == 0) {
                result = range1.lowerBoundType().compareTo(range2.lowerBoundType());
            }//  w ww  .j  a va 2  s  .  co  m
        }
    }

    if (result == 0) {
        result = ((Boolean) range1.hasUpperBound()).compareTo(range2.hasUpperBound());
        if (result == 0) {
            if (range1.hasUpperBound()) {
                result = range1.upperEndpoint().compareTo(range2.upperEndpoint());
                if (result == 0) {
                    result = range1.upperBoundType().compareTo(range2.upperBoundType());
                }
            }
        }
    }

    return result;
}

From source file:com.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java

@SuppressWarnings("AutoUnboxing")
@Override/* ww w.j  a v  a 2 s.  c o m*/
public IndexRange getLineRange(final int lineNumber) {
    final Range<Integer> range = Futures.getUnchecked(lineCounter).getLineRange(lineNumber);
    return new IndexRange(range.lowerEndpoint(), range.upperEndpoint());
}

From source file:net.sf.mzmine.modules.peaklistmethods.identification.onlinedbsearch.databases.HMDBGateway.java

public String[] findCompounds(double mass, MZTolerance mzTolerance, int numOfResults, ParameterSet parameters)
        throws IOException {

    Range<Double> toleranceRange = mzTolerance.getToleranceRange(mass);

    String queryAddress = hmdbSeachAddress + "&query_from=" + toleranceRange.lowerEndpoint() + "&query_to="
            + toleranceRange.upperEndpoint();

    URL queryURL = new URL(queryAddress);

    // Submit the query
    String queryResult = InetUtils.retrieveData(queryURL);

    // Organize the IDs as a TreeSet to keep them sorted
    TreeSet<String> results = new TreeSet<String>();

    // Find IDs in the HTML data
    Pattern pat = Pattern.compile("metabolites/(HMDB[0-9]{5})");
    Matcher matcher = pat.matcher(queryResult);
    while (matcher.find()) {
        String hmdbID = matcher.group(1);
        results.add(hmdbID);//w ww.  j a  va 2s .  c  o m
    }

    // Remove all except first numOfResults IDs. The reason why we first
    // retrieve all results and then remove those above numOfResults is to
    // keep the lowest HDMB IDs - these may be the most interesting ones.
    while (results.size() > numOfResults) {
        String lastItem = results.last();
        results.remove(lastItem);
    }

    return results.toArray(new String[0]);

}

From source file:com.axemblr.provisionr.api.network.RuleBuilder.java

public RuleBuilder ports(Range<Integer> ports) {
    checkArgument(ports.hasUpperBound(), "ports should have a closed upper bound");
    checkArgument(ports.hasLowerBound(), "ports should have a closed lower bound ");

    checkArgument(ports.lowerEndpoint() > 0, "ports should be a positive range");
    checkArgument(ports.upperEndpoint() < 65535, "ports upper bound should less than 65535");

    this.ports = checkNotNull(ports, "ports is null");
    return this;
}

From source file:org.apache.provisionr.api.network.RuleBuilder.java

public RuleBuilder ports(Range<Integer> ports) {
    checkArgument(ports.hasUpperBound(), "ports should have a closed upper bound");
    checkArgument(ports.hasLowerBound(), "ports should have a closed lower bound ");

    checkArgument(ports.lowerEndpoint() > 0, "ports should be a positive range");
    checkArgument(ports.upperEndpoint() < Machine.MAX_PORT_NUMBER, "ports upper bound should less than 65535");

    this.ports = checkNotNull(ports, "ports is null");
    return this;
}

From source file:com.github.fge.largetext.sequence.MultiRangeCharSequence.java

@Nonnull
@Override/*  w w  w  . j a va  2  s . c  om*/
public String toString() {
    final Map<Range<Integer>, CharBuffer> map = rangeMap.asMapOfRanges();
    final List<Map.Entry<Range<Integer>, CharBuffer>> list = new ArrayList<>(map.entrySet());
    final Range<Integer> first = list.get(0).getKey();
    final Range<Integer> last = list.get(list.size() - 1).getKey();
    final StringBuilder sb = new StringBuilder(last.upperEndpoint() - first.lowerEndpoint());

    for (final CharBuffer buffer : map.values())
        sb.append(buffer);

    final int start = lowerBound - first.lowerEndpoint();
    final int end = range.getUpperBound() - first.lowerEndpoint();
    return sb.subSequence(start, end).toString();
}