List of usage examples for org.apache.commons.lang3.tuple MutablePair setLeft
public void setLeft(final L left)
From source file:be.shad.tsqb.test.OrderingTest.java
@Test @SuppressWarnings("unchecked") public void testOrderByAlias() { Building building = query.from(Building.class); MutablePair<Long, Date> select = query.select(MutablePair.class); select.setLeft(building.getId()); select.setRight(building.getConstructionDate()); query.orderBy().by(new OrderByProjection(query, "right", true)); validate(//from ww w . j av a 2 s . co m "select hobj1.id as left, hobj1.constructionDate as right from Building hobj1 order by hobj1.constructionDate desc"); }
From source file:be.shad.tsqb.test.OrderingTest.java
@Test @SuppressWarnings("unchecked") public void testOrderByAliasWithSubQuery() { Building building = query.from(Building.class); TypeSafeSubQuery<Long> maxId = query.subquery(Long.class); Building buildingMaxId = maxId.from(Building.class); maxId.select(maxId.hqlFunction().max(buildingMaxId.getId())); MutablePair<Long, Date> select = query.select(MutablePair.class); select.setLeft(maxId.select()); select.setRight(building.getConstructionDate()); query.orderBy().by(new OrderByProjection(query, "left", true)); validate(/* w ww. ja va2 s.com*/ "select (select max(hobj2.id) from Building hobj2) as left, hobj1.constructionDate as right from Building hobj1 order by 1 desc"); }
From source file:io.cloudslang.lang.compiler.caching.CachedPrecompileServiceImplTest.java
@Test public void testCacheValueSuccess() { String myPath = "aaa"; ExecutableModellingResult executableModellingResult = mock(ExecutableModellingResult.class); SlangSource slangSource = mock(SlangSource.class); final MutablePair<CacheValue, Boolean> pair = new MutablePair<>(); doAnswer(new Answer() { @Override//www .ja v a2 s. c om public Object answer(InvocationOnMock invocation) throws Throwable { pair.setLeft((CacheValue) invocation.getArguments()[1]); return null; } }).when(cache).put(anyString(), any(CacheValue.class)); // Tested call cachedPrecompileServiceImpl.cacheValue(myPath, executableModellingResult, slangSource); verify(cache).put(eq(myPath), same(pair.getLeft())); }
From source file:io.cloudslang.lang.compiler.caching.CachedPrecompileServiceImplTest.java
@Test public void testCacheValueDoesNothingForNull() { String myPath = null;// w w w. ja v a2 s.c o m ExecutableModellingResult executableModellingResult = mock(ExecutableModellingResult.class); SlangSource slangSource = mock(SlangSource.class); final MutablePair<CacheValue, Boolean> pair = new MutablePair<>(); doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { pair.setLeft((CacheValue) invocation.getArguments()[1]); return null; } }).when(cache).put(anyString(), any(CacheValue.class)); // Tested call cachedPrecompileServiceImpl.cacheValue(myPath, executableModellingResult, slangSource); verify(cache, never()).put(anyString(), any(CacheValue.class)); }
From source file:io.cloudslang.lang.tools.build.tester.parallel.report.SlangTestCaseRunReportGeneratorServiceTest.java
@Test public void generateTestCaseReportTable() throws IOException { HtmlCanvas canvas = mock(HtmlCanvas.class); IRunTestResults runTestResults = mock(IRunTestResults.class); final HtmlCanvas mockTable = mock(HtmlCanvas.class); HtmlCanvas mockTr = mock(HtmlCanvas.class); final MutablePair<Integer, Object> pair = new MutablePair<>(); doAnswer(new Answer() { @Override//w ww. j av a 2s . c o m public Object answer(InvocationOnMock invocationOnMock) throws Throwable { pair.setLeft(0); pair.setRight(invocationOnMock.getArguments()[0]); return mockTable; } }).when(canvas).table(any(HtmlAttributes.class)); doReturn(mockTr).when(mockTable).tr(); doReturn(mockTr).when(mockTr).th(); doReturn(mockTr).when(mockTr).content(anyString()); doReturn(mockTr).when(mockTr).th(any(CharactersWriteable.class)); doReturn(new HtmlCanvas()).when(mockTr)._tr(); doNothing().when(reportGeneratorService).appendTestRuns(any(HtmlCanvas.class), anyMap(), anyString()); Map<String, TestRun> success = mock(Map.class); Map<String, TestRun> failed = mock(Map.class); Map<String, TestRun> skipped = mock(Map.class); doReturn(success).when(runTestResults).getPassedTests(); doReturn(failed).when(runTestResults).getFailedTests(); doReturn(skipped).when(runTestResults).getSkippedTests(); reportGeneratorService.generateTestCaseReportTable(canvas, runTestResults); verify(canvas).table(eq((CharactersWriteable) pair.getRight())); verify(mockTable).tr(); InOrder mockTableInOrder = inOrder(mockTr); mockTableInOrder.verify(mockTr).th(); mockTableInOrder.verify(mockTr).content(eq(TEST_NAME)); mockTableInOrder.verify(mockTr).th(any(HtmlAttributes.class)); mockTableInOrder.verify(mockTr).content(TEST_SUITE); mockTableInOrder.verify(mockTr).th(any(HtmlAttributes.class)); mockTableInOrder.verify(mockTr).content(TEST_STATUS); mockTableInOrder.verify(mockTr).th(); mockTableInOrder.verify(mockTr).content(TEST_FLOW_PATH); mockTableInOrder.verify(mockTr).th(); mockTableInOrder.verify(mockTr).content(TEST_DESCRIPTION); mockTableInOrder.verify(mockTr).th(); mockTableInOrder.verify(mockTr).content(OUTPUTS); mockTableInOrder.verify(mockTr).th(); mockTableInOrder.verify(mockTr).content(EXCEPTION_OR_MESSAGE); mockTableInOrder.verify(mockTr)._tr(); mockTableInOrder.verifyNoMoreInteractions(); verify(reportGeneratorService).appendTestRuns(eq(mockTable), eq(success), eq(PASSED)); verify(reportGeneratorService).appendTestRuns(eq(mockTable), eq(failed), eq(FAILED)); verify(reportGeneratorService).appendTestRuns(eq(mockTable), eq(skipped), eq(SKIPPED)); }
From source file:bwem.ChokePointImpl.java
public ChokePointImpl(final Graph graph, final Index index, final Area area1, final Area area2, final List<WalkPosition> geometry, final Neutral blockingNeutral) { // bwem_assert(!geometry.empty()); if (geometry.isEmpty()) { throw new IllegalArgumentException(); }/*ww w .ja v a 2 s.c o m*/ this.graph = graph; this.index = index; this.areas = new Pair<>(area1, area2); this.geometry = geometry; // Ensures that in the case where several neutrals are stacked, blockingNeutral points to the bottom one: this.blockingNeutral = blockingNeutral != null ? getMap().getData().getTile(blockingNeutral.getTopLeft()).getNeutral() : blockingNeutral; this.isBlocked = blockingNeutral != null; this.isPseudo = this.isBlocked; this.nodes = new WalkPosition[Node.NODE_COUNT.ordinal()]; this.nodes[Node.END1.ordinal()] = geometry.get(0); this.nodes[Node.END2.ordinal()] = geometry.get(geometry.size() - 1); this.nodesInArea = new ArrayList<>(Node.NODE_COUNT.ordinal()); for (int i = 0; i < Node.NODE_COUNT.ordinal(); ++i) { this.nodesInArea.add(new MutablePair<>(new WalkPosition(0, 0), new WalkPosition(0, 0))); } int i = geometry.size() / 2; while ((i > 0) && (getMap().getData().getMiniTile(geometry.get(i - 1)).getAltitude().intValue() > getMap() .getData().getMiniTile(geometry.get(i)).getAltitude().intValue())) { --i; } while ((i < geometry.size() - 1) && (getMap().getData().getMiniTile(geometry.get(i + 1)).getAltitude() .intValue() > getMap().getData().getMiniTile(geometry.get(i)).getAltitude().intValue())) { ++i; } this.nodes[Node.MIDDLE.ordinal()] = geometry.get(i); for (int n = 0; n < Node.NODE_COUNT.ordinal(); ++n) { for (final Area area : new Area[] { area1, area2 }) { final WalkPosition nodeInArea = getGraph().getMap().breadthFirstSearch(this.nodes[n], // findCond args -> { final Object ttile = args[0]; final Object tpos = args[1]; final Object tmap = args[args.length - 1]; if (ttile instanceof MiniTile && tpos instanceof WalkPosition && tmap instanceof Map) { final MiniTile miniTile = (MiniTile) ttile; final WalkPosition w = (WalkPosition) tpos; final Map map = (Map) tmap; return (miniTile.getAreaId().equals(area.getId()) && map.getData() .getTile(w.toTilePosition(), CheckMode.NO_CHECK).getNeutral() == null); } else { throw new IllegalArgumentException(); } }, // visitCond args -> { final Object ttile = args[0]; final Object tpos = args[1]; final Object tmap = args[args.length - 1]; if (ttile instanceof MiniTile && tpos instanceof WalkPosition) { final MiniTile miniTile = (MiniTile) ttile; final WalkPosition w = (WalkPosition) tpos; final Map map = (Map) tmap; return (miniTile.getAreaId().equals(area.getId()) || (isBlocked() && (((MiniTileImpl) miniTile).isBlocked() || map.getData().getTile(w.toTilePosition(), CheckMode.NO_CHECK) .getNeutral() != null))); } else { throw new IllegalArgumentException("Invalid argument list."); } }); /** * Note: In the original C++ code, "nodeInArea" is a reference to a "WalkPosition" in * "nodesInArea" which changes! Change that object here (after the call to "breadthFirstSearch")... */ final WalkPosition left = nodesInArea.get(n).getLeft(); final WalkPosition right = nodesInArea.get(n).getRight(); final MutablePair<WalkPosition, WalkPosition> replacementPair = new MutablePair<>(left, right); if (area.equals(this.areas.getFirst())) { replacementPair.setLeft(nodeInArea); } else { replacementPair.setRight(nodeInArea); } this.nodesInArea.set(n, replacementPair); } } }
From source file:com.ottogroup.bi.streaming.operator.json.aggregate.functions.DoubleContentAggregateFunction.java
/** * @see com.ottogroup.bi.streaming.operator.json.aggregate.functions.JsonContentAggregateFunction#average(org.apache.commons.lang3.tuple.MutablePair, java.io.Serializable) *//* ww w .ja v a 2 s . co m*/ public MutablePair<Double, Integer> average(MutablePair<Double, Integer> sumAndCount, Double value) throws Exception { if (sumAndCount == null && value == null) return new MutablePair<>(Double.valueOf(0), Integer.valueOf(0)); if (sumAndCount == null && value != null) return new MutablePair<>(Double.valueOf(value.doubleValue()), Integer.valueOf(1)); if (sumAndCount != null && value == null) return sumAndCount; sumAndCount.setLeft(sumAndCount.getLeft().doubleValue() + value.doubleValue()); sumAndCount.setRight(sumAndCount.getRight().intValue() + 1); return sumAndCount; }
From source file:com.ottogroup.bi.streaming.operator.json.aggregate.functions.IntegerContentAggregateFunction.java
/** * @see com.ottogroup.bi.streaming.operator.json.aggregate.functions.JsonContentAggregateFunction#average(org.apache.commons.lang3.tuple.Pair, java.io.Serializable) *//*from w ww . j av a2 s . co m*/ public MutablePair<Integer, Integer> average(MutablePair<Integer, Integer> sumAndCount, Integer value) throws Exception { if (sumAndCount == null && value == null) return new MutablePair<>(Integer.valueOf(0), Integer.valueOf(0)); if (sumAndCount == null && value != null) return new MutablePair<>(Integer.valueOf(value.intValue()), Integer.valueOf(1)); if (sumAndCount != null && value == null) return sumAndCount; sumAndCount.setLeft(sumAndCount.getLeft().intValue() + value.intValue()); sumAndCount.setRight(sumAndCount.getRight().intValue() + 1); return sumAndCount; }
From source file:fr.cvlaminck.merging.impl.DefaultValueMergers.java
@Override public ValueMerger getMerger(Class<?> fieldType, String mergingStrategy) { ValueMerger merger = null;//from w w w . ja va 2 s. c o m Iterator<Class<?>> registeredMergerTypeIterator = registeredMergerTypes.iterator(); MutablePair<Class<?>, String> key = new MutablePair<Class<?>, String>(fieldType, mergingStrategy); Class<?> currentType = null; while (merger == null && registeredMergerTypeIterator.hasNext()) { currentType = registeredMergerTypeIterator.next(); //If the field is of or of a subclass the current type if (currentType.isAssignableFrom(fieldType)) { //We try to retrieve the associated merger //If this merger do not exists, we continue in the list. key.setLeft(currentType); merger = mergers.get(key); } } return merger; }
From source file:com.yahoo.pulsar.broker.service.Consumer.java
/** * Dispatch a list of entries to the consumer. * * @return a promise that can be use to track when all the data has been written into the socket */// w w w . j a v a2 s . c o m public Pair<ChannelPromise, Integer> sendMessages(final List<Entry> entries) { final ChannelHandlerContext ctx = cnx.ctx(); final MutablePair<ChannelPromise, Integer> sentMessages = new MutablePair<ChannelPromise, Integer>(); final ChannelPromise writePromise = ctx.newPromise(); sentMessages.setLeft(writePromise); if (entries.isEmpty()) { if (log.isDebugEnabled()) { log.debug("[{}] List of messages is empty, triggering write future immediately for consumerId {}", subscription, consumerId); } writePromise.setSuccess(); sentMessages.setRight(0); return sentMessages; } sentMessages.setRight(updatePermitsAndPendingAcks(entries)); ctx.channel().eventLoop().execute(() -> { for (int i = 0; i < entries.size(); i++) { Entry entry = entries.get(i); PositionImpl pos = (PositionImpl) entry.getPosition(); MessageIdData.Builder messageIdBuilder = MessageIdData.newBuilder(); MessageIdData messageId = messageIdBuilder.setLedgerId(pos.getLedgerId()) .setEntryId(pos.getEntryId()).build(); ByteBuf metadataAndPayload = entry.getDataBuffer(); // skip checksum by incrementing reader-index if consumer-client doesn't support checksum verification if (cnx.getRemoteEndpointProtocolVersion() < ProtocolVersion.v6.getNumber()) { readChecksum(metadataAndPayload); } // stats msgOut.recordEvent(metadataAndPayload.readableBytes()); if (log.isDebugEnabled()) { log.debug("[{}] Sending message to consumerId {}, entry id {}", subscription, consumerId, pos.getEntryId()); } // We only want to pass the "real" promise on the last entry written ChannelPromise promise = ctx.voidPromise(); if (i == (entries.size() - 1)) { promise = writePromise; } ctx.write(Commands.newMessage(consumerId, messageId, metadataAndPayload), promise); messageId.recycle(); messageIdBuilder.recycle(); } ctx.flush(); }); return sentMessages; }