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

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

Introduction

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

Prototype

public abstract R getRight();

Source Link

Document

Gets the right element from this pair.

When treated as a key-value pair, this is the value.

Usage

From source file:edu.uci.ics.hyracks.api.job.JobSpecification.java

public int getConsumerInputIndex(IConnectorDescriptor conn) {
    Pair<Pair<IOperatorDescriptor, Integer>, Pair<IOperatorDescriptor, Integer>> connInfo = connectorOpMap
            .get(conn.getConnectorId());
    return connInfo.getRight().getRight();
}

From source file:at.gridtec.lambda4j.function.bi.to.ToLongBiFunction2.java

/**
 * Applies this function to the given tuple.
 *
 * @param tuple The tuple to be applied to the function
 * @return The return value from the function, which is its result.
 * @throws NullPointerException If given argument is {@code null}
 * @see org.apache.commons.lang3.tuple.Pair
 *//*  ww  w  .  j a v  a2s .co  m*/
default long applyAsLong(@Nonnull Pair<T, U> tuple) {
    Objects.requireNonNull(tuple);
    return applyAsLong(tuple.getLeft(), tuple.getRight());
}

From source file:com.pinterest.terrapin.server.TerrapinServerInternalImplTest.java

private void checkLookup(List<ByteBuffer> keyList, Map<ByteBuffer, TerrapinSingleResponse> responseMap) {
    for (ByteBuffer key : keyList) {
        TerrapinSingleResponse response = responseMap.get(key);
        Pair<ByteBuffer, Throwable> expectedValuePair = KEY_VALUES_MAP.get(key);
        if (expectedValuePair == null) {
            // Ensure that the value is not present in the response either if it was not
            // returned by the Reader.
            assertNull(response);//from  w w w . j  av a2  s .  com
            continue;
        }
        if (expectedValuePair.getRight() != null) {
            assertFalse(response.isSetValue());
            assertEquals(TerrapinGetErrorCode.READ_ERROR, response.getErrorCode());
        } else {
            assertFalse(response.isSetErrorCode());
            assertEquals(new String(expectedValuePair.getLeft().array()), new String(response.getValue()));
        }
    }
}

From source file:mase.spec.StochasticHybridExchanger.java

/*****************
 * MERGE PROCESS/*from w  w  w.  ja  va  2 s .  c  o  m*/
 *****************/

/* Similar to bottom-up (agglomerative) hierarchical clustering */
@Override
protected int mergeProcess(EvolutionState state) {
    distanceMatrix = computeMetapopDistances(state);

    Pair<MetaPopulation, MetaPopulation> nextMerge = findNextMerge(distanceMatrix, state);

    // Merge if they are similar
    if (nextMerge != null) {
        state.output.message("*** Merging " + nextMerge.getLeft() + " with " + nextMerge.getRight() + " ***");
        MetaPopulation mpNew = mergePopulations(nextMerge.getLeft(), nextMerge.getRight(), state);
        mpNew.lockDown = calculateLockDown(mpNew, state);
        metaPops.remove(nextMerge.getLeft());
        metaPops.remove(nextMerge.getRight());
        metaPops.add(mpNew);
        return 1;
    }
    return 0;
}

From source file:com.codeveo.lago.bot.stomp.client.AbstractHttpLagoBot.java

protected void setupAndSignInClient(String lagoUrl, String botUsername, String botPassword,
        LagoRequestHelper requestHelper) throws Exception {
    try {//from w  w w  . j  a v a 2 s  . c om
        if (requestHelper == null) {
            throw new Exception("Request helper must not be null");
        }

        if (!(requestHelper instanceof HttpLagoRequestHelper)) {
            throw new Exception("Requires instance of '" + HttpLagoRequestHelper.class.getSimpleName()
                    + "' not '" + requestHelper.getClass().getSimpleName() + "'");
        }

        HttpLagoRequestHelper httpRequestHelper = (HttpLagoRequestHelper) requestHelper;

        lagoBot = new RLagoBot(null, null, botUsername, botPassword);

        Builder builder = new AsyncHttpClientConfig.Builder();
        Realm realm = new Realm.RealmBuilder().setPrincipal(botUsername).setPassword(botPassword)
                .setUsePreemptiveAuth(true).setScheme(AuthScheme.BASIC).build();
        builder.setRealm(realm).build();

        asyncHttpClient = new AsyncHttpClient(builder.build());

        Pair<Integer, String> statusWithCookieOrFaultJSON = HttpLagoRequestHelper.signIn(lagoUrl, botUsername,
                botPassword);

        int statusCode = statusWithCookieOrFaultJSON.getLeft();

        if (statusCode == HttpStatus.CREATED.value()) {
            cookie = statusWithCookieOrFaultJSON.getRight();

            /* websocket headers */
            wsHeaders.add("Cookie", cookie);
        } else {
            String faultJSON = statusWithCookieOrFaultJSON.getRight();

            if (faultJSON != null) {
                RFault fault = objectMapper.readValue(faultJSON, RFault.class);

                if (fault != null) {
                    throw new Exception("Error occured during authentication (HTTP status code: " + statusCode
                            + ", Error code: " + fault.getErrorCode() + ", Message: '" + fault.getMessage()
                            + "')");
                }
            }

            throw new Exception("Error occured during authentication (HTTP status code: " + statusCode);
        }

        if (cookie == null) {
            throw new Exception("Bot '" + botUsername + "' could not sign in");
        }

        /* setup request helper */
        httpRequestHelper.setAsyncHttpClient(asyncHttpClient).setCookie(cookie).setObjectMapper(objectMapper)
                .setServerUrl(lagoUrl);
        this.httpLagoRequestHelper = httpRequestHelper;

        String wsLagoUrl = toWsUrl(lagoUrl);
        URI uri = new URI(wsLagoUrl + WebServiceUserDesc.WS_PATH);

        LagoStompMessageHandler messageListener = new LagoStompMessageHandler(lagoBot, queue);

        List<Transport> transports = new ArrayList<>();
        transports.add(new WebSocketTransport(new StandardWebSocketClient()));
        RestTemplateXhrTransport xhrTransport = new RestTemplateXhrTransport(new RestTemplate());
        xhrTransport.setRequestHeaders(wsHeaders);
        transports.add(xhrTransport);

        sockJsClient = new SockJsClient(transports);
        stompClient = new WebSocketStompClient(uri, wsHeaders, sockJsClient);
        stompClient.setMessageConverter(converter);
        stompClient.connect(messageListener);

        taskExecutor.submit(new StompMessageListener());
    } catch (Exception e) {
        if (cookie != null) {
            httpLagoRequestHelper.signOut();
        }

        throw new Exception("Error occured while initializing lago bot", e);
    }
}

From source file:at.gridtec.lambda4j.function.bi.to.ToDoubleBiFunction2.java

/**
 * Applies this function to the given tuple.
 *
 * @param tuple The tuple to be applied to the function
 * @return The return value from the function, which is its result.
 * @throws NullPointerException If given argument is {@code null}
 * @see org.apache.commons.lang3.tuple.Pair
 *//*w w  w .j  ava  2 s .  co m*/
default double applyAsDouble(@Nonnull Pair<T, U> tuple) {
    Objects.requireNonNull(tuple);
    return applyAsDouble(tuple.getLeft(), tuple.getRight());
}

From source file:com.act.lcms.db.model.InductionWell.java

public List<InductionWell> insertFromPlateComposition(DB db, PlateCompositionParser parser, Plate p)
        throws SQLException, IOException {
    Map<String, String> plateAttributes = parser.getPlateProperties();
    Map<Pair<String, String>, String> msids = parser.getCompositionTables().get("msid");
    List<Pair<String, String>> sortedCoordinates = new ArrayList<>(msids.keySet());
    Collections.sort(sortedCoordinates, new Comparator<Pair<String, String>>() {
        // TODO: parse the values of these pairs as we read them so we don't need this silly comparator.
        @Override/*w w  w . j  ava 2  s.  c  om*/
        public int compare(Pair<String, String> o1, Pair<String, String> o2) {
            if (o1.getKey().equals(o2.getKey())) {
                return Integer.valueOf(Integer.parseInt(o1.getValue()))
                        .compareTo(Integer.parseInt(o2.getValue()));
            }
            return o1.getKey().compareTo(o2.getKey());
        }
    });

    List<InductionWell> results = new ArrayList<>();
    for (Pair<String, String> coords : sortedCoordinates) {
        String msid = msids.get(coords);
        if (msid == null || msid.isEmpty()) {
            continue;
        }
        String chemicalSource = parser.getCompositionTables().get("chemical_source").get(coords);
        String composition = parser.getCompositionTables().get("composition").get(coords);
        String chemical = parser.getCompositionTables().get("chemical").get(coords);
        String strainSource = parser.getCompositionTables().get("strain_source").get(coords);
        String note = null;
        if (parser.getCompositionTables().get("note") != null) {
            note = parser.getCompositionTables().get("note").get(coords);
        }

        // TODO: ditch this when we start using floating point numbers for growth values.
        Integer growth = null;
        Map<Pair<String, String>, String> growthTable = parser.getCompositionTables().get("growth");
        if (growthTable == null || growthTable.get(coords) == null) {
            String plateGrowth = plateAttributes.get("growth");
            if (plateGrowth != null) {
                growth = Integer.parseInt(trimAndComplain(plateGrowth));
            }
        } else {
            String growthStr = growthTable.get(coords);
            if (PLUS_MINUS_GROWTH_TO_INT.containsKey(growthStr)) {
                growth = PLUS_MINUS_GROWTH_TO_INT.get(growthStr);
            } else {
                growth = Integer.parseInt(growthStr); // If it's not using +/- format, it should be an integer from 1-5.
            }
        }

        Pair<Integer, Integer> index = parser.getCoordinatesToIndices().get(coords);
        InductionWell s = INSTANCE.insert(db, p.getId(), index.getLeft(), index.getRight(), msid,
                chemicalSource, composition, chemical, strainSource, note, growth);

        results.add(s);
    }

    return results;
}

From source file:com.netflix.spinnaker.clouddriver.kubernetes.v2.caching.view.provider.KubernetesV2ClusterProvider.java

@Override
public KubernetesV2ServerGroup getServerGroup(String account, String namespace, String name) {
    Pair<KubernetesKind, String> parsedName;
    try {//from w  w w .  ja  v  a2  s. c  om
        parsedName = KubernetesManifest.fromFullResourceName(name);
    } catch (IllegalArgumentException e) {
        return null;
    }

    KubernetesKind kind = parsedName.getLeft();
    String shortName = parsedName.getRight();
    String key = Keys.infrastructure(kind, account, namespace, shortName);
    List<String> relatedTypes = kindMap.translateSpinnakerKind(INSTANCES).stream().map(KubernetesKind::toString)
            .collect(Collectors.toList());

    relatedTypes.addAll(kindMap.translateSpinnakerKind(LOAD_BALANCERS).stream().map(KubernetesKind::toString)
            .collect(Collectors.toList()));

    Optional<CacheData> serverGroupData = cacheUtils.getSingleEntryWithRelationships(kind.toString(), key,
            relatedTypes.toArray(new String[relatedTypes.size()]));

    return serverGroupData.map(cd -> {
        List<CacheData> instanceData = kindMap.translateSpinnakerKind(INSTANCES).stream()
                .map(k -> cacheUtils.loadRelationshipsFromCache(Collections.singletonList(cd), k.toString()))
                .flatMap(Collection::stream).collect(Collectors.toList());

        List<CacheData> loadBalancerData = kindMap.translateSpinnakerKind(LOAD_BALANCERS).stream()
                .map(k -> cacheUtils.loadRelationshipsFromCache(Collections.singletonList(cd), k.toString()))
                .flatMap(Collection::stream).collect(Collectors.toList());

        return cacheUtils.<KubernetesV2ServerGroup>resourceModelFromCacheData(
                KubernetesV2ServerGroupCacheData.builder().serverGroupData(cd).instanceData(instanceData)
                        .loadBalancerData(loadBalancerData).build());
    }).orElse(null);
}

From source file:com.hortonworks.streamline.streams.runtime.rule.sql.SqlBasicExprScriptTest.java

@Test
public void testBasicAggregation() throws Exception {
    // SELECT STREAM DEPTID, EMPID, MIN(SALARY) FROM FOO where ID > 0 GROUP BY DEPTID, EMPID

    Expression min_salary = new AggregateFunctionExpression("MIN",
            ImmutableList.of(new FieldExpression(Schema.Field.of("salary", Schema.Type.INTEGER))));

    Expression deptid = new FieldExpression(Schema.Field.of("deptid", Schema.Type.INTEGER));
    Expression empid = new FieldExpression(Schema.Field.of("empid", Schema.Type.INTEGER));
    GroupBy groupBy = new GroupBy(ImmutableList.of(deptid, empid));
    Expression id = new FieldExpression(Schema.Field.of("id", Schema.Type.INTEGER));
    Expression id_gt_0 = new BinaryExpression(Operator.GREATER_THAN, id, new Literal("0"));
    Condition condition = new Condition();
    condition.setExpression(id_gt_0);/*from  www.  j a  v  a 2  s. co  m*/

    Projection projection = new Projection();
    projection.setExpressions(ImmutableList.<Expression>of(deptid, empid, min_salary));

    sqlScript = new SqlScript(new StormSqlExpression(condition, projection, groupBy, null), new SqlEngine(),
            new SqlScript.CorrelatedValuesToStreamlineEventConverter(
                    Lists.newArrayList("deptid", "empid", "MIN")));

    // (100, 100), 10
    Map<String, Object> kv1 = new HashMap<>();
    kv1.put("id", 1);
    kv1.put("deptid", 100);
    kv1.put("empid", 100);
    kv1.put("salary", 10);

    // (100, 100), 5
    Map<String, Object> kv2 = new HashMap<>();
    kv2.put("id", 2);
    kv2.put("deptid", 100);
    kv2.put("empid", 100);
    kv2.put("salary", 5);

    // (101, 101), 10
    Map<String, Object> kv3 = new HashMap<>();
    kv3.put("id", 3);
    kv3.put("deptid", 101);
    kv3.put("empid", 101);
    kv3.put("salary", 10);

    // (102, 102), 5
    Map<String, Object> kv4 = new HashMap<>();
    kv4.put("id", 4);
    kv4.put("deptid", 102);
    kv4.put("empid", 102);
    kv4.put("salary", 5);

    StreamlineEvent group1Event1 = StreamlineEventImpl.builder().fieldsAndValues(kv1).dataSourceId("1").build();
    StreamlineEvent group1Event2 = StreamlineEventImpl.builder().fieldsAndValues(kv2).dataSourceId("1").build();
    StreamlineEvent group2Event1 = StreamlineEventImpl.builder().fieldsAndValues(kv3).dataSourceId("1").build();
    StreamlineEvent group3Event1 = StreamlineEventImpl.builder().fieldsAndValues(kv4).dataSourceId("1").build();

    sqlScript.evaluate(group1Event1);
    sqlScript.evaluate(group1Event2);
    sqlScript.evaluate(group2Event1);
    sqlScript.evaluate(group3Event1);
    Collection<StreamlineEvent> result = sqlScript.evaluate(StreamlineEventImpl.GROUP_BY_TRIGGER_EVENT);

    Assert.assertEquals(3, result.size());

    Map<List<Integer>, Pair<Integer, Set<String>>> expectedGroupValueToMinAndParentIds;
    expectedGroupValueToMinAndParentIds = new HashMap<>();
    expectedGroupValueToMinAndParentIds.put(Lists.newArrayList(100, 100),
            new ImmutablePair<>(5, Sets.newHashSet(group1Event1.getId(), group1Event2.getId())));
    expectedGroupValueToMinAndParentIds.put(Lists.newArrayList(101, 101),
            new ImmutablePair<>(10, Sets.newHashSet(group2Event1.getId())));
    expectedGroupValueToMinAndParentIds.put(Lists.newArrayList(102, 102),
            new ImmutablePair<>(5, Sets.newHashSet(group3Event1.getId())));

    result.iterator().forEachRemaining(res -> {
        List<Integer> groupValue = Lists.newArrayList((Integer) res.get("deptid"), (Integer) res.get("empid"));
        Assert.assertTrue(expectedGroupValueToMinAndParentIds.containsKey(groupValue));
        Pair<Integer, Set<String>> minAndPairIds = expectedGroupValueToMinAndParentIds.get(groupValue);
        Integer minValue = (Integer) res.get("MIN");
        Assert.assertEquals(minValue, minAndPairIds.getLeft());

        Assert.assertTrue(EventCorrelationInjector.containsParentIds(res));
        Assert.assertEquals(minAndPairIds.getRight(), EventCorrelationInjector.getParentIds(res));

        // avoid matching multiple times
        expectedGroupValueToMinAndParentIds.remove(groupValue);
    });
}

From source file:net.malisis.doors.gui.VanishingDiamondGui.java

@Subscribe
public void onConfigChanged(ComponentEvent.ValueChange event) {
    Pair<ForgeDirection, DataType> data = (Pair<ForgeDirection, DataType>) event.getComponent().getData();
    int time = event.getComponent() instanceof UITextField ? NumberUtils.toInt((String) event.getNewValue())
            : 0;//  www  . j  ava 2s .  c om
    boolean checked = event.getComponent() instanceof UICheckBox ? (boolean) event.getNewValue() : false;
    VanishingDiamondFrameMessage.sendConfiguration(tileEntity, data.getLeft(), data.getRight(), time, checked);
}