List of usage examples for com.google.common.collect Range closed
public static <C extends Comparable<?>> Range<C> closed(C lower, C upper)
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; }