List of usage examples for com.google.common.collect Range lowerEndpoint
public C lowerEndpoint()
From source file:utils.CreateFromSelection.java
@Override public void actionPerformed(ActionEvent e) { CoolMapObject obj = CoolMapMaster.getActiveCoolMapObject(); if (obj == null) { CMConsole.logWarning("No active coolmap in view. Create new view aborted"); return;/* www . jav a 2 s. c om*/ } CoolMapView view = obj.getCoolMapView(); ArrayList<Range<Integer>> selectedRows = view.getSelectedRows(); ArrayList<Range<Integer>> selectedColumns = view.getSelectedColumns(); if (selectedRows.isEmpty() || selectedColumns.isEmpty()) { CMConsole.logWarning("No region(s) were selected in view. Create new view aborted"); return; } ArrayList<VNode> newRowNodes = new ArrayList<VNode>(); ArrayList<VNode> newColumnNodes = new ArrayList<VNode>(); for (Range<Integer> range : selectedRows) { for (int i = range.lowerEndpoint(); i < range.upperEndpoint(); i++) { newRowNodes.add(obj.getViewNodeRow(i).duplicate()); } } for (Range<Integer> range : selectedColumns) { for (int i = range.lowerEndpoint(); i < range.upperEndpoint(); i++) { newColumnNodes.add(obj.getViewNodeColumn(i).duplicate()); } } CoolMapObject newObject = new CoolMapObject(); List<CMatrix> baseCMatrices = obj.getBaseCMatrices(); for (CMatrix mx : baseCMatrices) { newObject.addBaseCMatrix(mx); } newObject.insertRowNodes(newRowNodes); newObject.insertColumnNodes(newColumnNodes); if (obj.getAggregator() != null) { try { CAggregator aggr = (CAggregator) (obj.getAggregator().getClass().newInstance()); aggr.restoreState(obj.getAggregator().getCurrentState()); newObject.setAggregator(aggr); } catch (Exception ex) { CMConsole.logWarning( "Could not initialize aggregator " + obj.getAggregator() + ", using default instead."); newObject.setAggregator(new PassThrough()); } } else { newObject.setAggregator(new PassThrough()); } if (obj.getViewRenderer() != null) { try { ViewRenderer renderer = (ViewRenderer) (obj.getViewRenderer().getClass().newInstance()); newObject.setViewRenderer(renderer, true); // System.out.println("Current state:" + obj.getViewRenderer().getCurrentState()); renderer.restoreState(obj.getViewRenderer().getCurrentState()); } catch (Exception ex) { CMConsole.logWarning( "Could not initialize aggregator " + obj.getAggregator() + ", using default instead."); newObject.setViewRenderer(new TextRenderer(), true); } } else { newObject.setViewRenderer(new TextRenderer(), true); } if (obj.getSnippetConverter() != null) { try { SnippetConverter convert = obj.getSnippetConverter().getClass().newInstance(); convert.restoreState(obj.getSnippetConverter().getCurrentState()); newObject.setSnippetConverter(convert); } catch (Exception ex) { //do nothing } } //newObject newObject.getCoolMapView().addColumnMap(new ColumnLabels(newObject)); newObject.getCoolMapView().addColumnMap(new ColumnTree(newObject)); newObject.getCoolMapView().addRowMap(new RowLabels(newObject)); newObject.getCoolMapView().addRowMap(new RowTree(newObject)); newObject.setName(obj.getName() + " subregion"); CoolMapMaster.addNewCoolMapObject(newObject); }
From source file:com.yahoo.gondola.container.BucketManager.java
private void validateBucketMap() { List<Range<Integer>> sortedRange = bucketMap.asMapOfRanges().keySet().stream() .sorted((o1, o2) -> o1.lowerEndpoint() > o2.lowerEndpoint() ? 1 : -1).collect(Collectors.toList()); Range<Integer> prev = null; for (Range<Integer> range : sortedRange) { if (prev != null && (range.lowerEndpoint() - 1) != prev.upperEndpoint()) { throw new IllegalStateException(String.format("Range must be contiguous. %s -> %s", prev, range)); } else if (prev == null && range.lowerEndpoint() != 0) { throw new IllegalStateException("Range must start from 0"); }//from w w w . java 2s .c o m prev = range; } if (numberOfBuckets == 0) { throw new IllegalStateException("Number of bucket must not be 0"); } }
From source file:coolmapplugin.actions.MapSelectedToCytoscapeWithAggregatedValue.java
private HashMap<String, Double> getSelectedColumnAndRowNamesAndAggregatedValues( AggregationType aggregationType) { try {// w w w . j ava 2 s.c o m CoolMapObject obj = CoolMapMaster.getActiveCoolMapObject(); CoolMapView coolMapView = obj.getCoolMapView(); List<Range<Integer>> columnList = coolMapView.getSelectedColumns(); List<Range<Integer>> rowList = coolMapView.getSelectedRows(); HashMap<String, Double> nameValueHashMap = new HashMap<>(); for (Range<Integer> rangeColumn : columnList) { for (int i = rangeColumn.lowerEndpoint(); i < rangeColumn.upperEndpoint(); ++i) { String columnName = obj.getViewNodeColumn(i).getName(); LinkedList<Double> values = new LinkedList<>(); for (Range<Integer> rangeRow : rowList) { for (int j = rangeRow.lowerEndpoint(); j < rangeRow.upperEndpoint(); ++j) { Double value = (Double) obj.getViewValue(j, i); if (value == null) { continue; } values.add(value); } } Double aggregatedValue = getAggregatedValue(values, aggregationType); nameValueHashMap.put(columnName, aggregatedValue); } } for (Range<Integer> rangeRow : rowList) { for (int i = rangeRow.lowerEndpoint(); i < rangeRow.upperEndpoint(); ++i) { String rowName = obj.getViewNodeRow(i).getName(); LinkedList<Double> values = new LinkedList<>(); for (Range<Integer> rangeColumn : columnList) { for (int j = rangeColumn.lowerEndpoint(); j < rangeColumn.upperEndpoint(); ++j) { Double value = (Double) obj.getViewValue(i, j); if (value == null) { continue; } values.add(value); } } Double aggregatedValue = getAggregatedValue(values, aggregationType); nameValueHashMap.put(rowName, aggregatedValue); } } return nameValueHashMap; } catch (Exception e) { CMConsole.logError("Failed to get selected columns and rows. Internal Error : " + e.getMessage()); } return null; }
From source file:net.sf.mzmine.modules.peaklistmethods.identification.onlinedbsearch.databases.YMDBGateway.java
public String[] findCompounds(double mass, MZTolerance mzTolerance, int numOfResults, ParameterSet parameters) throws IOException { Range<Double> toleranceRange = mzTolerance.getToleranceRange(mass); String queryAddress = ymdbSeachAddress + "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("/compounds/(YMDB[0-9]{5})"); Matcher matcher = pat.matcher(queryResult); while (matcher.find()) { String ymdbID = matcher.group(1); results.add(ymdbID);//from w ww . j av a2 s .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 YDMB 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.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java
@Override public String extractLine(final int lineNumber) { Preconditions.checkArgument(lineNumber > 0, "line number is negative"); final LineCounter counter = Futures.getUnchecked(lineCounter); final Range<Integer> range = counter.getLineRange(lineNumber); final int start = range.lowerEndpoint(); int end = range.upperEndpoint(); if (charAt(end - 1) == '\n') end--;/*from w w w .ja va 2 s . c om*/ if (charAt(end - 1) == '\r') end--; return extract(start, end); }
From source file:org.amelia.dsl.lib.util.PairMatcher.java
public List<Range<Integer>> redundantRegions() { if (this.regions == null) calculateRegions();/*from w ww . j av a 2s. c o m*/ Collections.sort(this.regions, ascendent); List<Range<Integer>> redundantRegions = new ArrayList<Range<Integer>>(); for (int i = 0; i < this.regions.size(); i++) { Range<Integer> r1 = this.regions.get(i); for (Range<Integer> r2 : this.regions.subList(i + 1, this.regions.size())) { if (r1.lowerEndpoint() <= r2.lowerEndpoint() && r1.upperEndpoint() >= r2.upperEndpoint()) { redundantRegions.add(r2); } } } Collections.sort(this.regions, descendent); return redundantRegions; }
From source file:li.klass.fhem.activities.graph.YAxis.java
public YAxis(Context context, GPlotAxis axis, String label) { this.context = context; this.label = label; Range<Double> range = axis.getRange().or(Range.range(-1d, BoundType.OPEN, 1d, BoundType.OPEN)); if (range.hasLowerBound()) { minimumY = range.lowerEndpoint(); }//from w ww. j a v a 2 s. co m if (range.hasUpperBound()) { maximumY = range.upperEndpoint(); } }
From source file:org.mskcc.shenkers.view.RangeMapHistogramView.java
private double[] scaleDomain(Range<Integer> i, int lb, double r, double width, boolean flip) { double s = (i.lowerEndpoint().doubleValue() - lb) / r; double e = (i.upperEndpoint().doubleValue() - lb + 1) / r; double flippedS = flip ? (1 - s) : s; double flippedE = flip ? (1 - e) : e; double scaledS = flippedS * width; double scaledE = flippedE * width; return new double[] { scaledS, scaledE }; }
From source file:com.techshroom.wood.ModuleDependency.java
@Override public String toString() { StringBuilder builder = new StringBuilder(getId()).append(':'); Range<SemVer> r = getVersionRange(); if (r.hasLowerBound()) { builder.append(r.lowerBoundType() == BoundType.OPEN ? '(' : '[').append(r.lowerEndpoint()); } else {/*from www. j a v a 2 s .co m*/ builder.append('('); } builder.append(','); if (r.hasUpperBound()) { builder.append(r.upperEndpoint()).append(r.upperBoundType() == BoundType.OPEN ? ')' : ']'); } else { builder.append(')'); } return builder.toString(); }
From source file:org.pascani.dsl.dbmapper.databases.ElasticSearch.java
private Map<String, String> toData(ChangeEvent e, Serializable value, Map<String, String> tags) { Map<String, String> data = new HashMap<String, String>(); renameTags(tags, "value", "start", "end", "timestamp"); data.putAll(tags);//from ww w.j a v a 2s.com if (value instanceof Range<?>) { Range<?> range = (Range<?>) value; Number start = (Number) range.lowerEndpoint(); Number end = (Number) range.upperEndpoint(); data.put("start", start + ""); data.put("end", end + ""); data.put("value", (end.doubleValue() - start.doubleValue()) + ""); } else if (value instanceof Number) { data.put("value", (Number) value + ""); } else if (value instanceof Boolean) { data.put("value", (Boolean) value + ""); } else if (value instanceof String) { data.put("value", (String) value); } data.put("timestamp", e.timestamp() + ""); return data; }