List of usage examples for org.apache.commons.lang3.tuple Pair getRight
public abstract R getRight();
Gets the right element from this pair.
When treated as a key-value pair, this is the value.
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); }