List of usage examples for org.apache.commons.lang3.tuple Pair getValue
@Override
public R getValue()
Gets the value from this pair.
This method implements the Map.Entry interface returning the right element as the value.
From source file:org.spout.api.util.StringMap.java
public void handleUpdate(StringMapEvent message) { switch (message.getAction()) { case SET:// ww w.j a va 2s . c o m clear(); case ADD: for (Pair<Integer, String> pair : message.getModifiedElements()) { store.set(pair.getValue(), pair.getKey()); } break; case REMOVE: for (Pair<Integer, String> pair : message.getModifiedElements()) { store.remove(pair.getValue()); } break; } }
From source file:org.spout.api.util.SyncedStringMap.java
public void handleUpdate(SyncedMapEvent message) { switch (message.getAction()) { case SET:/* w w w .j ava 2 s.co m*/ super.clear(); case ADD: for (Pair<Integer, String> pair : message.getModifiedElements()) { store.set(pair.getValue(), pair.getKey()); } break; case REMOVE: for (Pair<Integer, String> pair : message.getModifiedElements()) { store.remove(pair.getValue()); } break; } callEvent(new SyncedMapEvent(this, message.getAction(), message.getModifiedElements())); }
From source file:org.spout.engine.protocol.builtin.codec.StringMapCodec.java
@Override public ChannelBuffer encode(StringMapMessage message) { ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeInt(message.getMap());// www . j a va2 s .c o m buffer.writeByte(message.getAction().ordinal()); buffer.writeInt(message.getElements().size()); for (Pair<Integer, String> el : message.getElements()) { buffer.writeInt(el.getKey()); ChannelBufferUtils.writeString(buffer, el.getValue()); } return buffer; }
From source file:org.spout.engine.protocol.builtin.codec.SyncedMapCodec.java
@Override public ChannelBuffer encode(SyncedMapMessage message) { ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeInt(message.getMap());/*from ww w. j a va 2 s .c o m*/ buffer.writeByte(message.getAction().ordinal()); buffer.writeInt(message.getElements().size()); for (Pair<Integer, String> el : message.getElements()) { buffer.writeInt(el.getKey()); ChannelBufferUtils.writeString(buffer, el.getValue()); } return buffer; }
From source file:org.springframework.jdbc.repo.impl.jdbc.RawPropertiesRepoImpl.java
/** * @param id The entity ID/* w w w . j a v a 2 s.c o m*/ * @return A {@link Pair} whose left hand holds the internal identifier * and left hand the properties {@link Map} - <code>null</code> if cannot * locate internal identifier value */ Pair<Object, Map<String, Serializable>> resolveProperties(String id) { Object internalId = findInternalId(id); if (internalId == null) { return null; } List<Pair<String, Serializable>> propVals = jdbcAccessor.query( "SELECT * FROM " + ENTITY_PROPERTIES_TABLE + " WHERE " + PROP_OWNER_COL + " = :" + INTERNAL_ID_COL, Collections.singletonMap(INTERNAL_ID_COL, internalId), valueMapper); if (ExtendedCollectionUtils.isEmpty(propVals)) { return Pair.of(internalId, Collections.<String, Serializable>emptyMap()); } Map<String, Serializable> propsMap = new TreeMap<String, Serializable>(String.CASE_INSENSITIVE_ORDER); for (Pair<String, Serializable> p : propVals) { String propName = p.getKey(); Serializable propValue = p.getValue(); if (propValue == null) { continue; // ignore null(s) } Serializable prevValue = propsMap.put(propName, propValue); if (prevValue != null) { throw new IllegalStateException("getProperties(" + getEntityClass().getSimpleName() + ")[" + id + "]" + " multiple values for property=" + propName + ": " + propValue + ", " + prevValue); } } return Pair.of(internalId, propsMap); }
From source file:org.uma.jmetal.util.experiment.component.GenerateFriedmanTestTables.java
private double[] computeAverageRanking(Vector<Vector<Double>> data) { /*Compute the average performance per algorithm for each data set*/ double[][] mean = new double[numberOfProblems][numberOfAlgorithms]; for (int j = 0; j < numberOfAlgorithms; j++) { for (int i = 0; i < numberOfProblems; i++) { mean[i][j] = data.elementAt(j).elementAt(i); }/*from w w w.j a v a 2 s . c om*/ } /*We use the Pair class to compute and order rankings*/ List<List<Pair<Integer, Double>>> order = new ArrayList<List<Pair<Integer, Double>>>(numberOfProblems); for (int i = 0; i < numberOfProblems; i++) { order.add(new ArrayList<Pair<Integer, Double>>(numberOfAlgorithms)); for (int j = 0; j < numberOfAlgorithms; j++) { order.get(i).add(new ImmutablePair<Integer, Double>(j, mean[i][j])); } Collections.sort(order.get(i), new Comparator<Pair<Integer, Double>>() { @Override public int compare(Pair<Integer, Double> pair1, Pair<Integer, Double> pair2) { if (Math.abs(pair1.getValue()) > Math.abs(pair2.getValue())) { return 1; } else if (Math.abs(pair1.getValue()) < Math.abs(pair2.getValue())) { return -1; } else { return 0; } } }); } /*building of the rankings table per algorithms and data sets*/ // Pair[][] rank = new Pair[numberOfProblems][numberOfAlgorithms]; List<List<MutablePair<Double, Double>>> rank = new ArrayList<List<MutablePair<Double, Double>>>( numberOfProblems); int position = 0; for (int i = 0; i < numberOfProblems; i++) { rank.add(new ArrayList<MutablePair<Double, Double>>(numberOfAlgorithms)); for (int j = 0; j < numberOfAlgorithms; j++) { boolean found = false; for (int k = 0; k < numberOfAlgorithms && !found; k++) { if (order.get(i).get(k).getKey() == j) { found = true; position = k + 1; } } //rank[i][j] = new Pair(position,order[i][position-1].value); rank.get(i).add(new MutablePair<Double, Double>((double) position, order.get(i).get(position - 1).getValue())); } } /*In the case of having the same performance, the rankings are equal*/ for (int i = 0; i < numberOfProblems; i++) { boolean[] hasBeenVisited = new boolean[numberOfAlgorithms]; Vector<Integer> pendingToVisit = new Vector<Integer>(); Arrays.fill(hasBeenVisited, false); for (int j = 0; j < numberOfAlgorithms; j++) { pendingToVisit.removeAllElements(); double sum = rank.get(i).get(j).getKey(); hasBeenVisited[j] = true; int ig = 1; for (int k = j + 1; k < numberOfAlgorithms; k++) { if (rank.get(i).get(j).getValue() == rank.get(i).get(k).getValue() && !hasBeenVisited[k]) { sum += rank.get(i).get(k).getKey(); ig++; pendingToVisit.add(k); hasBeenVisited[k] = true; } } sum /= (double) ig; rank.get(i).get(j).setLeft(sum); for (int k = 0; k < pendingToVisit.size(); k++) { rank.get(i).get(pendingToVisit.elementAt(k)).setLeft(sum); } } } /*compute the average ranking for each algorithm*/ double[] averageRanking = new double[numberOfAlgorithms]; for (int i = 0; i < numberOfAlgorithms; i++) { averageRanking[i] = 0; for (int j = 0; j < numberOfProblems; j++) { averageRanking[i] += rank.get(j).get(i).getKey() / ((double) numberOfProblems); } } return averageRanking; }
From source file:org.verdictdb.core.querying.ExecutableNodeBase.java
public List<Pair<ExecutableNodeBase, Integer>> getSourcesAndChannels() { List<Pair<ExecutableNodeBase, Integer>> sourceAndChannel = new ArrayList<>(); for (Pair<ExecutableNodeBase, Integer> s : sources) { sourceAndChannel.add(Pair.of(s.getKey(), s.getValue())); }/*ww w . j a va2 s . c om*/ return sourceAndChannel; }
From source file:org.verdictdb.core.querying.ola.AsyncAggExecutionNode.java
@Override public SqlConvertible createQuery(List<ExecutionInfoToken> tokens) throws VerdictDBException { // super.createQuery(tokens); // System.out.println("Starts the processing of AsyncAggNode."); // System.out.println(selectQuery); ExecutionInfoToken token = tokens.get(0); AggMeta sourceAggMeta = (AggMeta) token.getValue("aggMeta"); // First, calculate the scale factor and use it to replace the scale factor placeholder List<Pair<UnnamedColumn, Double>> conditionToScaleFactor = composeScaleFactorForTierCombinations( sourceAggMeta, INNER_RAW_AGG_TABLE_ALIAS); // update the agg column scaling factor List<UnnamedColumn> scalingOperands = new ArrayList<>(); for (Pair<UnnamedColumn, Double> condToScale : conditionToScaleFactor) { UnnamedColumn cond = condToScale.getKey(); double scale = condToScale.getValue(); scalingOperands.add(cond);/*from w w w. ja v a2 s. co m*/ scalingOperands.add(ConstantColumn.valueOf(scale)); } scalingOperands.add(ConstantColumn.valueOf(1.0)); // default scaling factor is always 1.0 ColumnOp scalingColumn = ColumnOp.casewhen(scalingOperands); for (ColumnOp aggcol : aggColumns) { aggcol.setOperand(0, scalingColumn); } selectQuery = replaceWithOriginalSelectList(selectQuery, sourceAggMeta); return super.createQuery(tokens); }
From source file:org.verdictdb.core.scrambling.ScrambleMetaSet.java
private ScrambleMeta getMetaFor(Pair<String, String> metakey) { for (Pair<Pair<String, String>, ScrambleMeta> item : metaSet) { Pair<String, String> key = item.getKey(); ScrambleMeta m = item.getValue(); if (key.equals(metakey)) { return m; }// w w w.j a v a2 s . com } return null; }
From source file:org.verdictdb.core.scrambling.ScrambleMetaSet.java
@Override public Iterator<ScrambleMeta> iterator() { List<ScrambleMeta> metas = new ArrayList<>(); for (Pair<Pair<String, String>, ScrambleMeta> item : metaSet) { metas.add(item.getValue()); }/*from ww w .ja v a2s .c om*/ return metas.iterator(); }