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

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

Introduction

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

Prototype

@Override
public final L getKey() 

Source Link

Document

Gets the key from this pair.

This method implements the Map.Entry interface returning the left element as the key.

Usage

From source file:com.htmlhifive.pitalium.core.model.ScreenshotArgumentBuilderTest.java

/**
 * addNewTargetByXxx????????//w  w w . j  av  a2s.co m
 */
@Test
public void addNewTargetByXxx() throws Exception {
    Class<ScreenshotArgumentBuilder> clss = ScreenshotArgumentBuilder.class;
    for (Pair<String, SelectorType> mapping : TYPE_MAPPINGS) {
        Method method = clss.getMethod("addNewTargetBy" + mapping.getKey(), String.class);

        ScreenshotArgumentBuilder builder = new ScreenshotArgumentBuilder("ssid");
        method.invoke(builder, "target");

        ScreenshotArgument arg = builder.build();

        assertThat(arg.getScreenshotId(), is("ssid"));
        assertThat(arg.getTargets().size(), is(1));
        assertThat(arg.getHiddenElementSelectors().isEmpty(), is(true));

        assertThat(arg.getTargets().get(0), is(new CompareTarget(ScreenArea.of(mapping.getValue(), "target"))));
    }
}

From source file:com.nextdoor.bender.operation.substitution.field.FieldSubstitution.java

@Override
protected void doSubstitution(InternalEvent ievent, DeserializedEvent devent) {
    /*/*from   w w w.j  av  a2s.  c om*/
     * Get the field value
     */
    Pair<String, Object> kv;
    try {
        kv = getFieldAndSource(devent, srcFields, false);
    } catch (FieldNotFoundException e) {
        if (this.failSrcNotFound) {
            throw new OperationException(e);
        }
        return;
    }

    try {
        devent.setField(this.key, kv.getValue());
    } catch (FieldNotFoundException e) {
        if (this.failDstNotFound) {
            throw new OperationException(e);
        }
        return;
    }

    /*
     * Only remove if source field does not equal destination.
     */
    if (this.removeSrcField && !kv.getKey().equals(this.key)) {
        devent.deleteField(kv.getKey());
    }
}

From source file:lineage2.gameserver.data.xml.parser.RestartPointParser.java

/**
 * Method readData.//from w ww.  j a  v  a  2 s  . c o  m
 * @param rootElement Element
 * @throws Exception
 */
@Override
protected void readData(Element rootElement) throws Exception {
    List<Pair<Territory, Map<Race, String>>> restartArea = new ArrayList<>();
    Map<String, RestartPoint> restartPoint = new HashMap<>();
    for (Iterator<Element> iterator = rootElement.elementIterator(); iterator.hasNext();) {
        Element listElement = iterator.next();
        if ("restart_area".equals(listElement.getName())) {
            Territory territory = null;
            Map<Race, String> restarts = new HashMap<>();
            for (Iterator<Element> i = listElement.elementIterator(); i.hasNext();) {
                Element n = i.next();
                if ("region".equalsIgnoreCase(n.getName())) {
                    Rectangle shape;
                    Attribute map = n.attribute("map");
                    String s = map.getValue();
                    String val[] = s.split("_");
                    int rx = Integer.parseInt(val[0]);
                    int ry = Integer.parseInt(val[1]);
                    int x1 = World.MAP_MIN_X + ((rx - Config.GEO_X_FIRST) << 15);
                    int y1 = World.MAP_MIN_Y + ((ry - Config.GEO_Y_FIRST) << 15);
                    int x2 = (x1 + (1 << 15)) - 1;
                    int y2 = (y1 + (1 << 15)) - 1;
                    shape = new Rectangle(x1, y1, x2, y2);
                    shape.setZmin(World.MAP_MIN_Z);
                    shape.setZmax(World.MAP_MAX_Z);
                    if (territory == null) {
                        territory = new Territory();
                    }
                    territory.add(shape);
                } else if ("polygon".equalsIgnoreCase(n.getName())) {
                    Polygon shape = ZoneParser.parsePolygon(n);
                    if (!shape.validate()) {
                        error("RestartPointParser: invalid territory data : " + shape + "!");
                    }
                    if (territory == null) {
                        territory = new Territory();
                    }
                    territory.add(shape);
                } else if ("restart".equalsIgnoreCase(n.getName())) {
                    Race race = Race.valueOf(n.attributeValue("race"));
                    String locName = n.attributeValue("loc");
                    restarts.put(race, locName);
                }
            }
            if (territory == null) {
                throw new RuntimeException("RestartPointParser: empty territory!");
            }
            if (restarts.isEmpty()) {
                throw new RuntimeException("RestartPointParser: restarts not defined!");
            }
            restartArea.add(new ImmutablePair<>(territory, restarts));
        } else if ("restart_loc".equals(listElement.getName())) {
            String name = listElement.attributeValue("name");
            int bbs = Integer.parseInt(listElement.attributeValue("bbs", "0"));
            int msgId = Integer.parseInt(listElement.attributeValue("msg_id", "0"));
            List<Location> restartPoints = new ArrayList<>();
            List<Location> PKrestartPoints = new ArrayList<>();
            for (Iterator<Element> i = listElement.elementIterator(); i.hasNext();) {
                Element n = i.next();
                if ("restart_point".equals(n.getName())) {
                    for (Iterator<Element> ii = n.elementIterator(); ii.hasNext();) {
                        Element d = ii.next();
                        if ("coords".equalsIgnoreCase(d.getName())) {
                            Location loc = Location.parseLoc(d.attribute("loc").getValue());
                            restartPoints.add(loc);
                        }
                    }
                } else if ("PKrestart_point".equals(n.getName())) {
                    for (Iterator<Element> ii = n.elementIterator(); ii.hasNext();) {
                        Element d = ii.next();
                        if ("coords".equalsIgnoreCase(d.getName())) {
                            Location loc = Location.parseLoc(d.attribute("loc").getValue());
                            PKrestartPoints.add(loc);
                        }
                    }
                }
            }
            if (restartPoints.isEmpty()) {
                throw new RuntimeException(
                        "RestartPointParser: restart_points not defined for restart_loc : " + name + "!");
            }
            if (PKrestartPoints.isEmpty()) {
                PKrestartPoints = restartPoints;
            }
            RestartPoint rp = new RestartPoint(name, bbs, msgId, restartPoints, PKrestartPoints);
            restartPoint.put(name, rp);
        }
    }
    for (Pair<Territory, Map<Race, String>> ra : restartArea) {
        Map<Race, RestartPoint> restarts = new HashMap<>();
        for (Map.Entry<Race, String> e : ra.getValue().entrySet()) {
            RestartPoint rp = restartPoint.get(e.getValue());
            if (rp == null) {
                throw new RuntimeException("RestartPointParser: restart_loc not found : " + e.getValue() + "!");
            }
            restarts.put(e.getKey(), rp);
            getHolder().addRegionData(new RestartArea(ra.getKey(), restarts));
        }
    }
}

From source file:com.nttec.everychan.api.AbstractVichanModule.java

@Override
public String sendPost(SendPostModel model, ProgressListener listener, CancellableTask task) throws Exception {
    UrlPageModel urlModel = new UrlPageModel();
    urlModel.chanName = getChanName();/*from www  .  j  a  va2 s  .c  om*/
    urlModel.boardName = model.boardName;
    if (model.threadNumber == null) {
        urlModel.type = UrlPageModel.TYPE_BOARDPAGE;
        urlModel.boardPage = UrlPageModel.DEFAULT_FIRST_PAGE;
    } else {
        urlModel.type = UrlPageModel.TYPE_THREADPAGE;
        urlModel.threadNumber = model.threadNumber;
    }
    String referer = buildUrl(urlModel);
    List<Pair<String, String>> fields = VichanAntiBot.getFormValues(referer, task, httpClient);

    if (task != null && task.isCancelled())
        throw new Exception("interrupted");

    ExtendedMultipartBuilder postEntityBuilder = ExtendedMultipartBuilder.create()
            .setCharset(Charset.forName("UTF-8")).setDelegates(listener, task);
    for (Pair<String, String> pair : fields) {
        if (pair.getKey().equals("spoiler") && !model.custommark)
            continue;
        String val;
        switch (pair.getKey()) {
        case "name":
            val = model.name;
            break;
        case "email":
            val = getSendPostEmail(model);
            break;
        case "subject":
            val = model.subject;
            break;
        case "body":
            val = model.comment;
            break;
        case "password":
            val = model.password;
            break;
        case "spoiler":
            val = "on";
            break;
        default:
            val = pair.getValue();
        }
        if (pair.getKey().equals("file")) {
            if (model.attachments != null && model.attachments.length > 0) {
                postEntityBuilder.addFile(pair.getKey(), model.attachments[0], model.randomHash);
            } else {
                postEntityBuilder.addPart(pair.getKey(), new ByteArrayBody(new byte[0], ""));
            }
        } else {
            postEntityBuilder.addString(pair.getKey(), val);
        }
    }

    String url = getUsingUrl() + "post.php";
    Header[] customHeaders = new Header[] { new BasicHeader(HttpHeaders.REFERER, referer) };
    HttpRequestModel request = HttpRequestModel.builder().setPOST(postEntityBuilder.build())
            .setCustomHeaders(customHeaders).setNoRedirect(true).build();
    HttpResponseModel response = null;
    try {
        response = HttpStreamer.getInstance().getFromUrl(url, request, httpClient, listener, task);
        if (response.statusCode == 200 || response.statusCode == 400) {
            ByteArrayOutputStream output = new ByteArrayOutputStream(1024);
            IOUtils.copyStream(response.stream, output);
            String htmlResponse = output.toString("UTF-8");
            Matcher errorMatcher = ERROR_PATTERN.matcher(htmlResponse);
            if (errorMatcher.find())
                throw new Exception(errorMatcher.group(1));
        } else if (response.statusCode == 303) {
            for (Header header : response.headers) {
                if (header != null && HttpHeaders.LOCATION.equalsIgnoreCase(header.getName())) {
                    return fixRelativeUrl(header.getValue());
                }
            }
        }
        throw new Exception(response.statusCode + " - " + response.statusReason);
    } finally {
        if (response != null)
            response.release();
    }
}

From source file:com.htmlhifive.pitalium.core.model.ScreenshotArgumentBuilderTest.java

/**
 * AddHiddenElementsByXxx...//from w w w. j a v  a 2 s  .com
 */
@Test
public void addHiddenElementsByXxx() throws Exception {
    for (Pair<String, SelectorType> mapping : TYPE_MAPPINGS) {
        ScreenshotArgumentBuilder builder = new ScreenshotArgumentBuilder("ssid");

        ScreenshotArgumentBuilder.class.getMethod("addHiddenElementsBy" + mapping.getKey(), String.class)
                .invoke(builder, "value");
        ScreenshotArgument arg = builder.build();

        assertThat(arg.getScreenshotId(), is("ssid"));
        assertThat(arg.getTargets().isEmpty(), is(true));
        assertThat(arg.getHiddenElementSelectors().size(), is(1));

        assertThat(arg.getHiddenElementSelectors().get(0), is(new DomSelector(mapping.getValue(), "value")));
    }
}

From source file:forge.screens.match.CMatchUI.java

public void updateZones(List<Pair<PlayerView, ZoneType>> zonesToUpdate) {
    //System.out.println("updateZones " + zonesToUpdate);
    for (Pair<PlayerView, ZoneType> kv : zonesToUpdate) {
        PlayerView owner = kv.getKey();
        ZoneType zt = kv.getValue();//from   w  ww  . j  a v  a 2  s.  c om

        switch (zt) {
        case Battlefield:
            getFieldViewFor(owner).getTabletop().setupPlayZone();
            break;
        case Hand:
            VHand vHand = getHandFor(owner);
            if (vHand != null) {
                vHand.getLayoutControl().updateHand();
            }
            getFieldViewFor(owner).getDetailsPanel().updateZones();
            FloatingCardArea.refresh(owner, zt);
            break;
        case Command:
            getCommandFor(owner).getTabletop().setupPlayZone();
            break;
        case Ante:
            CAntes.SINGLETON_INSTANCE.update();
            break;
        default:
            final VField vf = getFieldViewFor(owner);
            if (vf != null) {
                vf.getDetailsPanel().updateZones();
            }
            FloatingCardArea.refresh(owner, zt);
            break;
        }
    }
}

From source file:com.uber.hoodie.TestAsyncCompaction.java

/**
 * HELPER METHODS FOR TESTING//from w  ww .  j  a v a 2s.co m
 **/

private void validateDeltaCommit(String latestDeltaCommit,
        final Map<String, Pair<String, HoodieCompactionOperation>> fileIdToCompactionOperation,
        HoodieWriteConfig cfg) throws IOException {
    HoodieTableMetaClient metaClient = new HoodieTableMetaClient(jsc.hadoopConfiguration(), cfg.getBasePath());
    HoodieTable table = HoodieTable.getHoodieTable(metaClient, cfg, jsc);
    List<FileSlice> fileSliceList = getCurrentLatestFileSlices(table, cfg);
    fileSliceList.forEach(fileSlice -> {
        Pair<String, HoodieCompactionOperation> opPair = fileIdToCompactionOperation.get(fileSlice.getFileId());
        if (opPair != null) {
            System.out.println("FileSlice :" + fileSlice);
            assertTrue("Expect baseInstant to match compaction Instant",
                    fileSlice.getBaseInstantTime().equals(opPair.getKey()));
            assertTrue("Expect atleast one log file to be present where the latest delta commit was written",
                    fileSlice.getLogFiles().count() > 0);
            assertFalse("Expect no data-file to be present", fileSlice.getDataFile().isPresent());
        } else {
            assertTrue("Expect baseInstant to be less than or equal to latestDeltaCommit",
                    fileSlice.getBaseInstantTime().compareTo(latestDeltaCommit) <= 0);
        }
    });
}

From source file:com.htmlhifive.pitalium.core.model.ScreenshotArgumentBuilderTest.java

/**
 * addExcludeByXxx?//from w  ww.j a va 2s.  c  om
 */
@Test
public void addExcludeByXxx() throws Exception {
    for (Pair<String, SelectorType> mapping : TYPE_MAPPINGS) {
        ScreenshotArgumentBuilder builder = new ScreenshotArgumentBuilder("ssid").addNewTargetByXPath("xpath");

        Method method = ScreenshotArgumentBuilder.class.getMethod("addExcludeBy" + mapping.getKey(),
                String.class);
        method.invoke(builder, "value");

        ScreenshotArgument arg = builder.build();

        assertThat(arg.getScreenshotId(), is("ssid"));
        assertThat(arg.getTargets().size(), is(1));
        assertThat(arg.getHiddenElementSelectors().isEmpty(), is(true));

        assertThat(arg.getTargets().get(0), is(new CompareTarget(ScreenArea.of(SelectorType.XPATH, "xpath"),
                new ScreenArea[] { ScreenArea.of(mapping.getValue(), "value") }, true)));
    }
}

From source file:alfio.manager.EventManagerIntegrationTest.java

/**
 * When adding an unbounded category, we won't update the tickets status, because:
 * 1) if the unbounded category is using existing seats, the event cannot be already sold-out
 * 2) if the unbounded category has been added after an event edit (add seats), then the tickets are already "RELEASED"
 * 3) if there is another unbounded category, then it is safe not to update the tickets' status, in order to not
 *    interfere with the existing category
 *
 *//*from   ww  w  .  j  a  va 2s. c  o m*/
@Test
public void testAddUnboundedCategory() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            true, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);
    Event event = pair.getKey();
    TicketCategoryModification tcm = new TicketCategoryModification(null, "default", -1,
            new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            false, null, null, null, null, null);
    eventManager.insertCategory(event.getId(), tcm, pair.getValue());
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(AVAILABLE_SEATS, tickets.size());
    assertEquals(10, tickets.stream().filter(t -> t.getCategoryId() == null).count());
}

From source file:alfio.manager.EventManagerIntegrationTest.java

@Test
public void testDecreaseEventSeatsWithAnUnboundedCategory() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            false, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);//  www .ja v a 2s. c o  m
    Event event = pair.getKey();
    EventModification update = new EventModification(event.getId(), Event.EventType.INTERNAL, null, null, null,
            null, null, null, null, event.getOrganizationId(), null, "0.0", "0.0",
            ZoneId.systemDefault().getId(), null, DateTimeModification.fromZonedDateTime(event.getBegin()),
            DateTimeModification.fromZonedDateTime(event.getEnd()), event.getRegularPrice(),
            event.getCurrency(), 10, event.getVat(), event.isVatIncluded(), event.getAllowedPaymentProxies(),
            null, event.isFreeOfCharge(), null, 7, null, null);
    eventManager.updateEventPrices(event, update, pair.getValue());
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(10, tickets.size());
    assertEquals(10, tickets.stream().filter(t -> t.getCategoryId() == null).count());
}