Example usage for org.apache.commons.lang3.tuple Pair getValue

List of usage examples for org.apache.commons.lang3.tuple Pair getValue

Introduction

In this page you can find the example usage for org.apache.commons.lang3.tuple Pair getValue.

Prototype

@Override
public R getValue() 

Source Link

Document

Gets the value from this pair.

This method implements the Map.Entry interface returning the right element as the value.

Usage

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();
}