List of usage examples for com.google.common.collect HashBasedTable create
public static <R, C, V> HashBasedTable<R, C, V> create(int expectedRows, int expectedCellsPerRow)
From source file:org.broad.igv.tools.AbstractConsensusCalculator.java
protected static Table<Character, Character, Character> getDegeneracyTable() { if (degeneracyTable == null) { degeneracyTable = HashBasedTable.create(5, 5); Map<String, String> iupacMap = ParsingUtils.loadIUPACMap(); for (String s : iupacMap.values()) { s = s.replace("[", "").replace("]", "").toLowerCase(); //System.out.println(s); String[] tokens = s.split(","); if (tokens.length != 3) continue; char a = tokens[1].trim().charAt(0); char b = tokens[2].trim().charAt(0); char c = tokens[0].trim().charAt(0); degeneracyTable.put(a, b, c); degeneracyTable.put(b, a, c); }//from ww w . j a v a 2s . c om } return degeneracyTable; }
From source file:net.librec.recommender.ext.AssociationRuleRecommender.java
/** * setup/* w ww . j ava 2s . c o m*/ * * @throws LibrecException if error occurs */ @Override protected void setup() throws LibrecException { super.setup(); cacheSpec = conf.get("guava.cache.spec", "maximumSize=200,expireAfterAccess=2m"); associationTable = HashBasedTable.create(numItems, numItems); userCache = trainMatrix.rowCache(cacheSpec); }
From source file:org.trnltk.morphology.morphotactics.PrecachingSuffixFormSequenceApplier.java
private void initialize() { final Collection<Suffix> allSuffixes = suffixGraph.getAllSuffixes(); final Set<Set<PhoneticAttribute>> modifierAttributesPowerSet = Sets.powerSet(MODIFIER_ATTRIBUTES); int expectedRowCount = allSuffixes.size(); int expectedColumnCount = modifierAttributesPowerSet.size(); this.suffixFormSequenceTable = HashBasedTable.create(expectedRowCount, expectedColumnCount); for (Suffix suffix : allSuffixes) { final Set<SuffixForm> suffixForms = suffix.getSuffixForms(); for (SuffixForm suffixForm : suffixForms) { final SuffixFormSequence suffixFormSequence = suffixForm.getForm(); for (Set<PhoneticAttribute> phoneticAttributes : modifierAttributesPowerSet) { final ImmutableSet<PhoneticAttribute> phoneticAttributeImmutableSet = Sets .immutableEnumSet(phoneticAttributes); final String appliedSuffixFormStr = this.delegate.apply(suffixFormSequence, phoneticAttributeImmutableSet); this.suffixFormSequenceTable.put(suffixFormSequence, phoneticAttributeImmutableSet, appliedSuffixFormStr); }/*from w ww . j a v a 2 s.c o m*/ } } }
From source file:com.torodb.core.transaction.metainf.ImmutableMetaDocPart.java
public ImmutableMetaDocPart(TableRef tableRef, String dbName, @DoNotChange Map<String, ImmutableMetaField> columns, @DoNotChange EnumMap<FieldType, ImmutableMetaScalar> scalars, @DoNotChange Map<String, ImmutableMetaIdentifiedDocPartIndex> indexes) { this.tableRef = tableRef; this.identifier = dbName; this.fieldsByIdentifier = columns; this.fieldsByNameAndType = HashBasedTable.create(columns.size(), 10); columns.values().forEach((column) -> fieldsByNameAndType.put(column.getName(), column.getType(), column)); this.scalars = scalars; this.indexesByIdentifier = indexes; }
From source file:org.sonar.server.measure.ws.SearchHistoryResponseFactory.java
private UnaryOperator<SearchHistoryResponse.Builder> addMeasures() { Map<Integer, MetricDto> metricsById = result.getMetrics().stream() .collect(MoreCollectors.uniqueIndex(MetricDto::getId)); Map<String, SnapshotDto> analysesByUuid = result.getAnalyses().stream() .collect(MoreCollectors.uniqueIndex(SnapshotDto::getUuid)); Table<MetricDto, SnapshotDto, MeasureDto> measuresByMetricByAnalysis = HashBasedTable .create(result.getMetrics().size(), result.getAnalyses().size()); result.getMeasures().forEach(m -> measuresByMetricByAnalysis.put(metricsById.get(m.getMetricId()), analysesByUuid.get(m.getAnalysisUuid()), m)); return response -> { result.getMetrics().stream().peek(metric -> measure.clear()).map(addMetric()) .map(metric -> addValues(measuresByMetricByAnalysis.row(metric)).apply(metric)) .forEach(metric -> response.addMeasures(measure)); return response; };/*from w w w. ja va 2 s . c o m*/ }
From source file:com.lyndir.omicron.cli.view.MapView.java
@Override protected void drawForeground(final Screen screen) { super.drawForeground(screen); Optional<IGameController> gameController = OmicronCLI.get().getGameController(); if (!gameController.isPresent()) return;//from ww w. ja va2 s . co m Optional<IPlayer> localPlayerOptional = OmicronCLI.get().getLocalPlayer(); if (!localPlayerOptional.isPresent()) return; IPlayer localPlayer = localPlayerOptional.get(); // Create an empty grid. Size levelSize = gameController.get().getGame().getLevel(getLevelType()).getSize(); Table<Integer, Integer, ITile> grid = HashBasedTable.create(levelSize.getHeight(), levelSize.getWidth()); // Iterate observable tiles and populate the grid. localPlayer.observableTiles().forEach(tile -> { Vec2 coordinate = positionToMapCoordinate(tile.getPosition()); grid.put(coordinate.getY(), coordinate.getX(), tile); }); // Draw grid in view. Box contentBox = getContentBoxOnScreen(); for (int screenX = contentBox.getLeft(); screenX <= contentBox.getRight(); ++screenX) for (int screenY = contentBox.getTop(); screenY <= contentBox.getBottom(); ++screenY) { int tileY = screenY - contentBox.getTop() + getOffset().getY(); int tileX = screenX - contentBox.getLeft() + getOffset().getX(); if (!levelSize.isInBounds(Vec2.create(tileX, tileY))) continue; ITile tile = grid.get(tileY, tileX); Maybe<? extends IGameObject> contents; Terminal.Color bgColor = getBackgroundColor(); if (tile == null) contents = Maybe.empty(); else { contents = tile.getContents(); bgColor = levelTypeColors.get(tile.getLevel().getType()); for (final ResourceType resourceType : ResourceType.values()) { Maybe<Integer> resourceQuantity = tile.getResourceQuantity(resourceType); if (resourceQuantity.presence() == Maybe.Presence.PRESENT) bgColor = resourceTypeColors.get(resourceType); } } screen.putString(screenX + (screenY % 2 == 0 ? 0 : 1), screenY, contents.presence() == Maybe.Presence.PRESENT ? contents.get().getType().getTypeName().substring(0, 1) : " ", getMapColor(), bgColor, ScreenCharacterStyle.Bold); // Draw off-screen warning labels. } Inset offScreen = new Inset(Math.max(0, getOffset().getY()), Math.max(0, levelSize.getWidth() - contentBox.getSize().getWidth() - getOffset().getX() + 1), Math.max(0, levelSize.getHeight() - contentBox.getSize().getHeight() - getOffset().getY() - 1), Math.max(0, getOffset().getX())); int centerX = contentBox.getLeft() + (levelSize.getWidth() - offScreen.getHorizontal()) / 2 - getOffset().getX() + offScreen.getLeft(); int centerY = contentBox.getTop() + (levelSize.getHeight() - offScreen.getVertical()) / 2 - getOffset().getY() + offScreen.getTop(); centerX = Math.min(contentBox.getRight() - 3, Math.max(contentBox.getLeft(), centerX)); centerY = Math.min(contentBox.getBottom() - 1, Math.max(contentBox.getTop() + 1, centerY)); if (offScreen.getTop() > 0) screen.putString(centerX, contentBox.getTop(), // String.format("%+d", offScreen.getTop()), getInfoTextColor(), getInfoBackgroundColor()); if (offScreen.getRight() > 0) { String label = String.format("%+d", offScreen.getRight()); screen.putString(contentBox.getRight() - label.length(), centerY, // label, getInfoTextColor(), getInfoBackgroundColor()); } if (offScreen.getBottom() > 0) screen.putString(centerX, contentBox.getBottom(), // String.format("%+d", offScreen.getBottom()), getInfoTextColor(), getInfoBackgroundColor()); if (offScreen.getLeft() > 0) screen.putString(contentBox.getLeft(), centerY, // String.format("%+d", offScreen.getLeft()), getInfoTextColor(), getInfoBackgroundColor()); }
From source file:org.sonar.server.measure.ws.SearchHistoryResult.java
/** * Conditions for best value measure://from www. ja va 2s .c o m * <ul> * <li>component is a production file or test file</li> * <li>metric is optimized for best value</li> * </ul> */ private List<MeasureDto> computeBestValues(List<MeasureDto> measures) { if (!isEligibleForBestValue().test(component)) { return emptyList(); } requireNonNull(metrics); requireNonNull(analyses); Table<Integer, String, MeasureDto> measuresByMetricIdAndAnalysisUuid = HashBasedTable.create(metrics.size(), analyses.size()); measures.forEach(measure -> measuresByMetricIdAndAnalysisUuid.put(measure.getMetricId(), measure.getAnalysisUuid(), measure)); List<MeasureDto> bestValues = new ArrayList<>(); metrics.stream().filter(isOptimizedForBestValue()).forEach(metric -> analyses.stream() .filter(analysis -> !measuresByMetricIdAndAnalysisUuid.contains(metric.getId(), analysis.getUuid())) .map(analysis -> toBestValue(metric, analysis)).forEach(bestValues::add)); return bestValues; }
From source file:au.com.permeance.liferay.portlet.controller.SamplePortletController.java
@RenderMapping public String handleViewPage(final RenderRequest request, final ModelMap model, @RequestParam(defaultValue = "-1") final String recordSetIdParam, @RequestParam(required = false) final String columnName) throws Exception { log.info("In View"); long recordSetId = Long.parseLong(recordSetIdParam); DDLRecordSet recordSet = lookupTable(request); if (recordSetId == -1) { if (recordSet != null) { recordSetId = recordSet.getRecordSetId(); }/*from w w w .jav a 2 s . c o m*/ } if (recordSetId > 0) { List<DDLRecord> records = getRecords(request, recordSet, columnName); Table<Long, String, String> recordTable = HashBasedTable.create(records.size(), 7); long rowIdCounter = 0; for (DDLRecord record : records) { Fields fields = record.getFields(); long rowId = rowIdCounter++; for (com.liferay.portlet.dynamicdatamapping.storage.Field field : fields) { String name = field.getName(); String value = field.getValue(Locale.US).toString(); recordTable.put(rowId, name, value); } } model.addAttribute("recordTable", recordTable); } model.addAttribute("recordSetId", recordSetId); // Limit the number of rows to display. model.addAttribute("displayRows", Arrays.asList(0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L)); return "view"; }
From source file:mtsar.processors.answer.KOSAggregator.java
private Map<Integer, Double> converge(Table<Integer, Integer, Short> graph, int kMax) { final RealDistribution distribution = new NormalDistribution(1, 1); Table<Integer, Integer, Double> ys = HashBasedTable.create(graph.rowKeySet().size(), graph.columnKeySet().size()); for (final Table.Cell<Integer, Integer, Short> cell : graph.cellSet()) { ys.put(cell.getRowKey(), cell.getColumnKey(), distribution.sample()); }/*from ww w .j a v a 2 s . c o m*/ for (int k = 1; k <= kMax; k++) { final Table<Integer, Integer, Double> xs = tasksUpdate(graph, ys); if (k < kMax) ys = workersUpdate(graph, xs); } final Map<Integer, Double> estimations = new HashMap<>(); for (final Integer taskId : graph.rowKeySet()) { double sumProduct = 0.0; final Map<Integer, Double> workers = ys.row(taskId); for (final Map.Entry<Integer, Double> worker : workers.entrySet()) { sumProduct += graph.get(taskId, worker.getKey()) * worker.getValue(); } estimations.put(taskId, sumProduct); } return estimations; }
From source file:de.csenk.gwt.statemachine.shared.impl.StateMachineBuilderImpl.java
/** * @param states/* www.ja v a 2 s .c o m*/ * @param events */ public StateMachineBuilderImpl(S[] states, E[] events) { this.states = states; this.events = events; this.transitions = HashBasedTable.create(this.states.length, this.events.length); }