Example usage for org.apache.commons.lang3.tuple MutablePair setLeft

List of usage examples for org.apache.commons.lang3.tuple MutablePair setLeft

Introduction

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

Prototype

public void setLeft(final L left) 

Source Link

Document

Sets the left element of the pair.

Usage

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