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

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

Introduction

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

Prototype

public static <C extends Comparable<?>> Range<C> closed(C lower, C upper) 

Source Link

Document

Returns a range that contains all values greater than or equal to lower and less than or equal to upper .

Usage

From source file:com.yahoo.gondola.container.BucketManager.java

private void loadBucketTable() {
    Range<Integer> range;//from   w  ww. j a  va  2  s  .  c  o m
    int numBuckets = 0;
    for (String shardId : config.getShardIds()) {
        Map<String, String> attributesForShard = config.getAttributesForShard(shardId);
        String bucketMapString = attributesForShard.get("bucketMap");
        bucketMapString = validateBucketString(shardId, bucketMapString);
        if (bucketMapString == null) {
            continue;
        }

        for (String str : bucketMapString.split(",")) {
            String[] rangePair = str.split("-");
            switch (rangePair.length) {
            case 1:
                range = Range.closed(Integer.parseInt(rangePair[0]), Integer.parseInt(rangePair[0]));
                break;
            case 2:
                range = Range.closed(Integer.valueOf(rangePair[0]), Integer.valueOf(rangePair[1]));
                break;
            default:
                throw new IllegalStateException("Range format: x - y or  x, but get " + str);

            }
            if (range.lowerEndpoint() < 0) {
                throw new IllegalStateException("Bucket id must > 0");
            }
            bucketMap.put(range, new ShardState(shardId, null));
        }
    }
    for (Map.Entry<Range<Integer>, ShardState> e : bucketMap.asMapOfRanges().entrySet()) {
        Range<Integer> r = e.getKey();
        numBuckets += (r.upperEndpoint() - r.lowerEndpoint() + 1);
    }
    numberOfBuckets = numBuckets;
    validateBucketMap();
}

From source file:org.rf.ide.core.testdata.model.table.exec.CommentedVariablesFilter.java

public boolean isInCommentedPart(final RobotFileOutput rfo, final RobotToken token) {
    boolean result = false;

    Optional<Integer> startCommentRange = Optional.empty();
    final RobotFile fileModel = rfo.getFileModel();
    final int tokenOffset = token.getStartOffset();
    final Optional<Integer> robotLineIndex = fileModel.getRobotLineIndexBy(tokenOffset);
    if (robotLineIndex.isPresent()) {
        final RobotLine robotLine = fileModel.getFileContent().get(robotLineIndex.get());
        final List<IRobotLineElement> lineElements = robotLine.getLineElements();
        for (final IRobotLineElement lineElem : lineElements) {
            final List<IRobotTokenType> types = lineElem.getTypes();
            if (types.contains(RobotTokenType.START_HASH_COMMENT)
                    || types.contains(RobotTokenType.COMMENT_CONTINUE)) {
                startCommentRange = Optional.of(lineElem.getStartOffset());
                break;
            }/*from  w ww. j  av  a  2 s  . c o  m*/
        }

        if (startCommentRange.isPresent()) {
            final Range<Integer> range = Range.closed(startCommentRange.get(),
                    robotLine.getEndOfLine().getStartOffset());
            result = range.contains(tokenOffset);
        }
    }

    return result;
}

From source file:io.github.mzmine.parameters.parametertypes.selectors.ScanSelectionParameter.java

@Override
public void loadValueFromXML(Element xmlElement) {

    Range<Integer> scanNumberRange = null;
    Range<Double> scanRTRange = null;
    PolarityType polarity = null;//  ww w .j a v  a2 s.  com
    MsSpectrumType spectrumType = null;
    Integer msLevel = null;
    String scanDefinition = null;

    NodeList items = xmlElement.getElementsByTagName("scan_numbers");
    for (int i = 0; i < items.getLength(); i++) {
        if (items.item(i).getChildNodes().getLength() != 2)
            continue;
        String minText = items.item(i).getChildNodes().item(0).getTextContent();
        String maxText = items.item(i).getChildNodes().item(1).getTextContent();
        scanNumberRange = Range.closed(Integer.valueOf(minText), Integer.valueOf(maxText));
    }

    items = xmlElement.getElementsByTagName("retention_time");
    for (int i = 0; i < items.getLength(); i++) {
        if (items.item(i).getChildNodes().getLength() != 2)
            continue;
        String minText = items.item(i).getChildNodes().item(0).getTextContent();
        String maxText = items.item(i).getChildNodes().item(1).getTextContent();
        scanRTRange = Range.closed(Double.valueOf(minText), Double.valueOf(maxText));
    }

    items = xmlElement.getElementsByTagName("ms_level");
    for (int i = 0; i < items.getLength(); i++) {
        msLevel = Integer.valueOf(items.item(i).getTextContent());
    }

    items = xmlElement.getElementsByTagName("polarity");
    for (int i = 0; i < items.getLength(); i++) {
        try {
            polarity = PolarityType.valueOf(items.item(i).getTextContent());
        } catch (Exception e) {
            polarity = null;
        }
    }

    items = xmlElement.getElementsByTagName("spectrum_type");
    for (int i = 0; i < items.getLength(); i++) {
        spectrumType = MsSpectrumType.valueOf(items.item(i).getTextContent());
    }

    items = xmlElement.getElementsByTagName("scan_definition");
    for (int i = 0; i < items.getLength(); i++) {
        scanDefinition = items.item(i).getTextContent();
    }

    ScanSelection newValue = new ScanSelection(scanNumberRange, scanRTRange, polarity, spectrumType, msLevel,
            scanDefinition);
    setValue(newValue);
}

From source file:com.cognifide.aet.job.common.datafilters.removelines.RemoveLinesDataModifier.java

private Set<Integer> extractIndexes(String dataRanges) throws ParametersException {
    Set<Integer> indexesToRemove = new HashSet<Integer>();
    if (dataRanges != null) {
        for (String range : dataRanges.split(";")) {
            try {
                String[] split = range.split(",");
                indexesToRemove.addAll(/*from  w ww  .ja v  a2 s . c  om*/
                        ContiguousSet.create(Range.closed(Integer.valueOf(split[0]), Integer.valueOf(split[1])),
                                DiscreteDomain.integers()));
            } catch (IllegalArgumentException e) {
                throw new ParametersException("Bad range: " + range, e);
            }
        }
    }
    return indexesToRemove;
}

From source file:tile80.world80.World80HOF.java

@Override
public Iterable<Tile80> getTileByRect(Pair<Integer, Integer> topLeft, Pair<Integer, Integer> bottomRight) {
    return FluentIterable.from(world).filter(Predicates.compose(Range.closed(topLeft, bottomRight), onlyCoord));
}

From source file:org.graylog2.commands.journal.JournalDecode.java

@Override
protected void runCommand() {

    Range<Long> range;/*w w  w.  j a  v a  2 s.  c  om*/
    try {
        final List<String> offsets = Splitter.on("..").limit(2).splitToList(rangeArg);
        if (offsets.size() == 1) {
            range = Range.singleton(Long.valueOf(offsets.get(0)));
        } else if (offsets.size() == 2) {
            final String first = offsets.get(0);
            final String second = offsets.get(1);
            if (first.isEmpty()) {
                range = Range.atMost(Long.valueOf(second));
            } else if (second.isEmpty()) {
                range = Range.atLeast(Long.valueOf(first));
            } else {
                range = Range.closed(Long.valueOf(first), Long.valueOf(second));
            }
        } else {
            throw new RuntimeException();
        }
    } catch (Exception e) {
        System.err.println("Malformed offset range: " + rangeArg);
        return;
    }

    final Map<String, Codec.Factory<? extends Codec>> codecFactory = injector
            .getInstance(Key.get(new TypeLiteral<Map<String, Codec.Factory<? extends Codec>>>() {
            }));

    final Long readOffset = range.lowerEndpoint();
    final long count = range.upperEndpoint() - range.lowerEndpoint() + 1;
    final List<Journal.JournalReadEntry> entries = journal.read(readOffset, count);
    for (final Journal.JournalReadEntry entry : entries) {
        final RawMessage raw = RawMessage.decode(entry.getPayload(), entry.getOffset());
        if (raw == null) {
            System.err.println(
                    MessageFormatter.format("Journal entry at offset {} failed to decode", entry.getOffset()));
            continue;
        }

        final Codec codec = codecFactory.get(raw.getCodecName()).create(raw.getCodecConfig());
        final Message message = codec.decode(raw);
        if (message == null) {
            System.err.println(
                    MessageFormatter.format("Could not use codec {} to decode raw message id {} at offset {}",
                            new Object[] { raw.getCodecName(), raw.getId(), entry.getOffset() }));
        } else {
            message.setJournalOffset(raw.getJournalOffset());
        }

        final ResolvableInetSocketAddress remoteAddress = raw.getRemoteAddress();
        final String remote = remoteAddress == null ? "unknown address"
                : remoteAddress.getInetSocketAddress().toString();

        final StringBuffer sb = new StringBuffer();
        sb.append("Message ").append(raw.getId()).append('\n').append(" at ").append(raw.getTimestamp())
                .append('\n').append(" in format ").append(raw.getCodecName()).append('\n')
                .append(" at offset ").append(raw.getJournalOffset()).append('\n')
                .append(" received from remote address ").append(remote).append('\n').append(" (source field: ")
                .append(message == null ? "unparsed" : message.getSource()).append(')').append('\n');
        if (message != null) {
            sb.append(" contains ").append(message.getFieldNames().size()).append(" fields.");
        } else {
            sb.append("The message could not be parse by the given codec.");
        }
        System.out.println(sb);
    }

}

From source file:net.opentsdb.contrib.tsquare.web.view.DataQueryView.java

private void executeSingleSeries(final SingleSeriesWriter singleSeriesWriter, final DataQueryModel modelObj,
        final ResponseContext context) throws IOException {
    Exception ex = null;// w  w  w .  j  a  v  a  2  s . c  o  m

    try {
        singleSeriesWriter.beginResponse(context);

        for (final AnnotatedDataQuery dataQuery : modelObj.getQueries()) {
            final DataPoints[] result = dataQuery.getQuery().run();
            for (final DataPoints series : result) {
                AnnotatedDataPoints annPoints = new AnnotatedDataPoints(dataQuery.getMetric(),
                        Range.closed(dataQuery.getQuery().getStartTime(), dataQuery.getQuery().getEndTime()),
                        series);

                singleSeriesWriter.write(annPoints, context);
            }
        }

        singleSeriesWriter.endResponse(context);
    } catch (IOException e) {
        ex = e;
        throw e;
    } catch (RuntimeException e) {
        ex = e;
        throw e;
    } finally {
        if (ex != null) {
            singleSeriesWriter.onError(context, ex);
        }
    }
}

From source file:org.pascani.dsl.lib.Event.java

/**
 * Checks whether this {@link Event} was raised within a given time window,
 * i.e., {@code this.timestamp} is contained in [ {@code start} ,
 * {@code end}].//ww w.  j ava  2s.c o m
 * 
 * @param start
 *            The initial timestamp of the time window
 * @param end
 *            The final timestamp of the time window
 * @return Whether the range [{@code start}, {@code end}] contains the final
 *         timestamp this object
 */
public boolean isInTimeWindow(long start, long end) {
    return Range.closed(start, end).contains(this.timestamp);
}

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

public void setData(List<Pair<Integer, Integer>> intervals) {

    for (Pair<Integer, Integer> interval : intervals) {
        ranges.add(Range.closed((interval.getKey() - min + 0.) / length,
                (interval.getValue() - min + 1.) / length));
    }/*from w w  w.j  av a2s .co  m*/

    List<Node> content = new ArrayList<>();
    for (Range<Double> interval : ranges.subRangeSet(Range.closed(0., 1.)).asRanges()) {
        Rectangle rectangle = new Rectangle();

        rectangle.widthProperty()
                .bind(widthProperty().multiply(interval.upperEndpoint() - interval.lowerEndpoint()));
        rectangle.heightProperty().bind(heightProperty());
        rectangle.xProperty().bind(widthProperty().multiply(interval.lowerEndpoint()));

        content.add(rectangle);
    }

    getChildren().setAll(content);
}

From source file:io.github.mzmine.parameters.parametertypes.ranges.IntegerRangeParameter.java

@Override
public void loadValueFromXML(@Nonnull Element xmlElement) {
    NodeList minNodes = xmlElement.getElementsByTagName("min");
    if (minNodes.getLength() != 1)
        return;//from   ww w . j a  v  a2  s . c  om
    NodeList maxNodes = xmlElement.getElementsByTagName("max");
    if (maxNodes.getLength() != 1)
        return;
    String minText = minNodes.item(0).getTextContent();
    String maxText = maxNodes.item(0).getTextContent();
    Integer min = Integer.valueOf(minText);
    Integer max = Integer.valueOf(maxText);
    setValue(Range.closed(min, max));

}