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:org.onosproject.drivers.polatis.openflow.OpenFlowPowerConfig.java

@Override
public Optional<Range<Long>> getTargetPowerRange(PortNumber port, T component) {
    for (OFPortDesc pd : getPortDescs()) {
        if (pd.getPortNo().getPortNumber() == port.toLong()) {
            for (OFPortDescProp prop : pd.getProperties()) {
                if (prop instanceof OFPortDescPropOptical) {
                    OFPortDescPropOptical oprop = (OFPortDescPropOptical) prop;
                    long txMin = oprop.getTxPwrMin();
                    long txMax = oprop.getTxPwrMax();
                    return Optional.of(Range.closed(txMin, txMax));
                }/*from w w  w.ja v  a  2 s .co  m*/
            }
        }
    }
    return Optional.empty();
}

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

private String modify(String data, Set<Integer> indexesToRemove) {
    List<String> lines = Arrays.asList(StringUtils.split(data, NEWLINE));
    Set<Integer> dataIndexes = ContiguousSet.create(Range.closed(1, lines.size()), DiscreteDomain.integers());
    if (!dataIndexes.containsAll(indexesToRemove)) {
        LOGGER.warn("Some of defined ranges exceed source lenght. Source length is: " + lines.size());
    }//from www.j  a  v a  2s. c  om
    Set<Integer> filtereedIndexesToRemove = Sets.intersection(dataIndexes, indexesToRemove);
    List<String> modifiedLines = new ArrayList<String>(lines.size() - filtereedIndexesToRemove.size());
    for (int i = 0; i < lines.size(); i++) {
        if (!filtereedIndexesToRemove.contains(i + 1)) {
            modifiedLines.add(lines.get(i));
        }
    }
    return StringUtils.join(modifiedLines, NEWLINE);
}

From source file:org.amelia.dsl.lib.util.PairMatcher.java

private void calculateRegions() {
    final List<Range<Integer>> regions = new ArrayList<Range<Integer>>();
    final char[] characters = this.text.toCharArray();
    final Stack<Character> lefties = new Stack<Character>();
    final Stack<Integer> starts = new Stack<Integer>();
    for (int i = 0; i < characters.length; i++) {
        if (!lefties.isEmpty() && characters[i] == this.rightDelimiter) {
            lefties.pop();/*from  w w w .ja v a2 s.  c  o  m*/
            regions.add(Range.closed(starts.pop(), i));
        } else if (characters[i] == this.leftDelimiter) {
            lefties.add(characters[i]);
            starts.add(i);
        }
    }
    this.regions = regions;
}

From source file:latex.LatexTableQuality.java

private static Range<Double> getMinMax(Collection<Double> quals) {
    double min = Double.MAX_VALUE;
    double max = Double.MIN_VALUE;

    for (Double quality : quals) {
        if (quality > max)
            max = quality;/*from w w  w  . j ava 2 s .  c  om*/

        if (quality < min)
            min = quality;
    }

    return Range.closed(min, max);
}

From source file:com.wandrell.tabletop.interval.util.IntervalArithmeticsUtils.java

/**
 * Indicates if an interval contains a value.
 * /*from ww w . ja v  a2  s . com*/
 * @param interval
 *            the interval for the check
 * @param value
 *            the value to check
 * @return {@code true} if the value is contained, {@code false} otherwise
 */
public static final Boolean isContaining(final Interval interval, final Integer value) {
    final Range<Integer> rangeA;
    final Range<Integer> rangeB;

    checkNotNull(interval, "Received a null pointer as interval");
    checkNotNull(value, "Received a null pointer as value");

    checkArgument(isValid(interval), "Received an invalid interval");

    rangeA = Range.closed(interval.getLowerLimit(), interval.getUpperLimit());
    rangeB = Range.singleton(value);

    return rangeA.encloses(rangeB);
}

From source file:org.robotframework.ide.eclipse.main.plugin.project.build.fix.DocumentToDocumentationWordFixer.java

private Range<Integer> getRange(final IMarker marker) {
    try {/*from  w w w. jav  a 2s .c  o  m*/
        return Range.closed((Integer) marker.getAttribute(IMarker.CHAR_START),
                (Integer) marker.getAttribute(IMarker.CHAR_END));
    } catch (final CoreException e) {
        throw new IllegalStateException("Given marker should have offsets defined", e);
    }
}

From source file:org.eclipse.fx.ui.controls.styledtext.internal.Scroller.java

private void recomputeVisibleLines(Observable x) {
    int lower = (int) Math.floor(this.offset.get() / this.lineHeight.get());
    int upper = lower + this.visibleLineCount.get();
    Range<Integer> visibleLines = Range.closed(Integer.valueOf(lower), Integer.valueOf(upper));
    this.visibleLines.set(visibleLines);
}

From source file:org.robotframework.ide.eclipse.main.plugin.launch.AbstractRobotLaunchConfiguration.java

@Override
public int getAgentConnectionPort() throws CoreException {
    if (isUsingRemoteAgent()) {
        final String port = getAgentConnectionPortValue();
        final Integer portAsInt = Ints.tryParse(port);
        if (portAsInt == null || !Range
                .closed(AgentConnectionServer.MIN_CONNECTION_PORT, AgentConnectionServer.MAX_CONNECTION_PORT)
                .contains(portAsInt)) {//from w  ww  .  j  a  v a 2 s  .  co m
            throw newCoreException(String.format("Server port '%s' must be an Integer between %,d and %,d",
                    port, AgentConnectionServer.MIN_CONNECTION_PORT,
                    AgentConnectionServer.MAX_CONNECTION_PORT));
        }
        if (portAsInt < 0) {
            throw newCoreException("Unable to find free port");
        }
        return portAsInt;
    }
    return AgentConnectionServer.findFreePort();
}

From source file:edu.cmu.sphinx.api.SpeechAligner.java

/**
 * TOOD: fill/*from  www .ja v  a2 s. co m*/
 *
 * @param audioFile
 * @param transcript
 * @return
 * @throws IOException
 */
public List<WordResult> align(URL audioUrl, List<String> transcript) throws IOException {
    LongTextAligner aligner = new LongTextAligner(transcript, TUPLE_SIZE);
    Map<Integer, WordResult> alignedWords = newTreeMap();
    Queue<Range<Integer>> ranges = newArrayDeque();
    Queue<List<String>> texts = newArrayDeque();
    Queue<TimeFrame> timeFrames = newArrayDeque();

    ranges.offer(Range.closed(0, transcript.size()));
    texts.offer(transcript);
    TimeFrame totalTimeFrame = TimeFrame.INFINITE;
    timeFrames.offer(totalTimeFrame);
    long lastFrame = TimeFrame.INFINITE.getEnd();

    for (int i = 0; i < 4; ++i) {
        if (i == 3) {
            context.setLocalProperty("decoder->searchManager", "alignerSearchManager");
            context.processBatch();
        }

        while (!texts.isEmpty()) {
            checkState(texts.size() == ranges.size());
            checkState(texts.size() == timeFrames.size());

            List<String> text = texts.poll();
            TimeFrame frame = timeFrames.poll();
            Range<Integer> range = ranges.poll();

            logger.info("Aligning frame " + frame + " to text " + text + " range " + range);

            if (i < 3) {
                languageModel.setText(text);
            }

            recognizer.allocate();

            if (i == 3) {
                grammar.setWords(text);
            }

            context.setSpeechSource(audioUrl.openStream(), frame);

            List<WordResult> hypothesis = newArrayList();
            Result result;
            while (null != (result = recognizer.recognize())) {
                addAll(hypothesis, result.getTimedBestResult(false));
            }

            if (i == 0) {
                if (hypothesis.size() > 0) {
                    lastFrame = hypothesis.get(hypothesis.size() - 1).getTimeFrame().getEnd();
                }
            }

            List<String> words = transform(hypothesis, toSpelling());
            int[] alignment = aligner.align(words, range);

            List<WordResult> results = hypothesis;

            logger.info("Decoding result is " + results);

            dumpAlignment(transcript, alignment, results);

            for (int j = 0; j < alignment.length; j++) {
                if (alignment[j] != -1) {
                    alignedWords.put(alignment[j], hypothesis.get(j));
                }
            }

            recognizer.deallocate();
        }

        scheduleNextAlignment(transcript, alignedWords, ranges, texts, timeFrames, lastFrame);
    }

    return newArrayList(alignedWords.values());
}

From source file:org.pentaho.di.trans.steps.samplerows.SampleRows.java

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
    meta = (SampleRowsMeta) smi;//  w w w .  ja  v  a 2s .c  o  m
    data = (SampleRowsData) sdi;

    Object[] r = getRow(); // get row, set busy!
    if (r == null) { // no more input to be expected...

        setOutputDone();
        return false;
    }
    if (first) {
        first = false;

        String realRange = environmentSubstitute(meta.getLinesRange());
        data.addlineField = (!Utils.isEmpty(environmentSubstitute(meta.getLineNumberField())));

        // get the RowMeta
        data.previousRowMeta = getInputRowMeta().clone();
        data.NrPrevFields = data.previousRowMeta.size();
        data.outputRowMeta = data.previousRowMeta;
        if (data.addlineField) {
            meta.getFields(data.outputRowMeta, getStepname(), null, null, this, repository, metaStore);
        }

        String[] rangePart = realRange.split(",");
        ImmutableRangeSet.Builder<Integer> setBuilder = ImmutableRangeSet.builder();

        for (String part : rangePart) {
            if (part.matches("\\d+")) {
                if (log.isDebug()) {
                    logDebug(BaseMessages.getString(PKG, "SampleRows.Log.RangeValue", part));
                }
                int vpart = Integer.valueOf(part);
                setBuilder.add(Range.singleton(vpart));

            } else if (part.matches("\\d+\\.\\.\\d+")) {
                String[] rangeMultiPart = part.split("\\.\\.");
                Integer start = Integer.valueOf(rangeMultiPart[0]);
                Integer end = Integer.valueOf(rangeMultiPart[1]);
                Range<Integer> range = Range.closed(start, end);
                if (log.isDebug()) {
                    logDebug(BaseMessages.getString(PKG, "SampleRows.Log.RangeValue", range));
                }
                setBuilder.add(range);
            }
        }
        data.rangeSet = setBuilder.build();
    } // end if first

    if (data.addlineField) {
        data.outputRow = RowDataUtil.allocateRowData(data.outputRowMeta.size());
        for (int i = 0; i < data.NrPrevFields; i++) {
            data.outputRow[i] = r[i];
        }
    } else {
        data.outputRow = r;
    }

    int linesRead = (int) getLinesRead();
    if (data.rangeSet.contains(linesRead)) {
        if (data.addlineField) {
            data.outputRow[data.NrPrevFields] = getLinesRead();
        }

        // copy row to possible alternate rowset(s).
        //
        putRow(data.outputRowMeta, data.outputRow);

        if (log.isRowLevel()) {
            logRowlevel(BaseMessages.getString(PKG, "SampleRows.Log.LineNumber",
                    linesRead + " : " + getInputRowMeta().getString(r)));
        }
    }

    // Check if maximum value has been exceeded
    if (data.rangeSet.isEmpty() || linesRead >= data.rangeSet.span().upperEndpoint()) {
        setOutputDone();
    }

    // Allowed to continue to read in data
    return true;
}