List of usage examples for com.google.common.collect Range lowerEndpoint
public C lowerEndpoint()
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(); }