Example usage for org.apache.commons.lang3 StringUtils trimToNull

List of usage examples for org.apache.commons.lang3 StringUtils trimToNull

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils trimToNull.

Prototype

public static String trimToNull(final String str) 

Source Link

Document

Removes control characters (char <= 32) from both ends of this String returning null if the String is empty ("") after the trim or if it is null .

Usage

From source file:io.sinistral.proteus.server.tools.swagger.Reader.java

private static Set<Scheme> parseSchemes(String schemes) {
    final Set<Scheme> result = EnumSet.noneOf(Scheme.class);
    for (String item : StringUtils.trimToEmpty(schemes).split(",")) {
        final Scheme scheme = Scheme.forValue(StringUtils.trimToNull(item));
        if (scheme != null) {
            result.add(scheme);/*from   ww w.ja  v  a  2  s .c  om*/
        }
    }
    return result;
}

From source file:hoot.services.controllers.osm.ChangesetResourceCloseTest.java

@Test
@Category(UnitTest.class)
public void testChangesetAutoCloseWhenMaxElementsUploadedToExistingChangeset() throws Exception {
    Properties hootProps = HootProperties.getInstance();
    //lower the max allowed elements per changeset from the default to the sum of number of
    //elements existing currently in changeset + what we're adding
    final int maximumChangesetElements = 18;
    hootProps.setProperty("maximumChangesetElements", String.valueOf(maximumChangesetElements));
    HootProperties.setProperties(hootProps);
    Assert.assertEquals(maximumChangesetElements,
            Integer.parseInt(HootProperties.getInstance().getProperty("maximumChangesetElements")));

    try {//  w  ww  .  j av a2  s  .c o  m
        final BoundingBox originalBounds = OsmTestUtils.createStartingTestBounds();
        final long changesetId = OsmTestUtils.createTestChangeset(originalBounds);
        final Set<Long> nodeIds = OsmTestUtils.createTestNodes(changesetId, originalBounds);
        final Long[] nodeIdsArr = nodeIds.toArray(new Long[] {});
        final Set<Long> wayIds = OsmTestUtils.createTestWays(changesetId, nodeIds);
        final Long[] wayIdsArr = wayIds.toArray(new Long[] {});
        final Set<Long> relationIds = OsmTestUtils.createTestRelations(changesetId, nodeIds, wayIds);
        final Long[] relationIdsArr = relationIds.toArray(new Long[] {});

        final BoundingBox updatedBounds = OsmTestUtils.createAfterModifiedTestChangesetBounds();
        //Now update an existing changeset with a number of elements that, when combined with the
        //existing elements, are equal to the max allowed.  The elements should be written and the
        //changeset closed.
        Document responseData = null;
        try {
            responseData = resource().path("api/0.6/changeset/" + changesetId + "/upload")
                    .queryParam("mapId", "" + mapId).type(MediaType.TEXT_XML).accept(MediaType.TEXT_XML)
                    .post(Document.class, "<osmChange version=\"0.3\" generator=\"iD\">" + "<create/>"
                            + "<modify>" + "<node id=\"" + nodeIdsArr[0] + "\" lon=\""
                            + updatedBounds.getMinLon() + "\" " + "lat=\"" + updatedBounds.getMinLat()
                            + "\" version=\"1\" changeset=\"" + changesetId + "\">"
                            + "<tag k=\"key 1b\" v=\"val 1b\"></tag>" + "<tag k=\"key 2b\" v=\"val 2b\"></tag>"
                            + "</node>" + "<node id=\"" + nodeIdsArr[1] + "\" lon=\""
                            + originalBounds.getMaxLon() + "\" " + "lat=\"" + updatedBounds.getMinLat()
                            + "\" version=\"1\" changeset=\"" + changesetId + "\">"
                            + "<tag k=\"key 3b\" v=\"val 3b\"></tag>" + "</node>" + "<way id=\"" + wayIdsArr[0]
                            + "\" version=\"1\" changeset=\"" + changesetId + "\" >" + "<nd ref=\""
                            + nodeIdsArr[0] + "\"></nd>" + "<nd ref=\"" + nodeIdsArr[4] + "\"></nd>"
                            + "<tag k=\"key 2\" v=\"val 2\"></tag>" + "</way>" + "<way id=\"" + wayIdsArr[1]
                            + "\" version=\"1\" changeset=\"" + changesetId + "\" >" + "<nd ref=\""
                            + nodeIdsArr[4] + "\"></nd>" + "<nd ref=\"" + nodeIdsArr[2] + "\"></nd>" + "</way>"
                            + "<relation id=\"" + relationIdsArr[0] + "\" version=\"1\" changeset=\""
                            + changesetId + "\" >" + "<member type=\"way\" role=\"role4\" ref=\"" + wayIdsArr[1]
                            + "\"></member>" + "<member type=\"way\" role=\"role2\" ref=\"" + wayIdsArr[0]
                            + "\"></member>" + "<member type=\"node\" ref=\"" + nodeIdsArr[2] + "\"></member>"
                            + "</relation>" + "<relation id=\"" + relationIdsArr[1]
                            + "\" version=\"1\" changeset=\"" + changesetId + "\" >"
                            + "<member type=\"relation\" role=\"role1\" ref=\"" + relationIdsArr[0]
                            + "\"></member>" + "<member type=\"node\" ref=\"" + nodeIdsArr[4] + "\"></member>"
                            + "<tag k=\"key 2\" v=\"val 2\"></tag>" + "<tag k=\"key 3\" v=\"val 3\"></tag>"
                            + "</relation>" + "</modify>" + "<delete if-unused=\"true\"/>" + "</osmChange>");
        } catch (UniformInterfaceException e) {
            ClientResponse r = e.getResponse();
            Assert.fail("Unexpected response " + r.getStatus() + " " + r.getEntity(String.class));
        }
        Assert.assertNotNull(responseData);

        XPath xpath = XmlDocumentBuilder.createXPath();
        try {
            NodeList returnedNodes = XPathAPI.selectNodeList(responseData, "//osm/diffResult/node");
            Assert.assertEquals(2, returnedNodes.getLength());

            Assert.assertEquals((long) nodeIdsArr[0],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[1]/@old_id", responseData)));
            Assert.assertEquals(
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[1]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[1]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[1]/@new_version", responseData)));

            Assert.assertEquals((long) nodeIdsArr[1],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[2]/@old_id", responseData)));
            Assert.assertEquals(
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[2]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[2]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/node[2]/@new_version", responseData)));

            NodeList returnedWays = XPathAPI.selectNodeList(responseData, "//osm/diffResult/way");
            Assert.assertEquals(2, returnedWays.getLength());

            Assert.assertEquals((long) wayIdsArr[0],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[1]/@old_id", responseData)));
            Assert.assertEquals(Long.parseLong(xpath.evaluate("//osm/diffResult/way[1]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[1]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[1]/@new_version", responseData)));

            Assert.assertEquals((long) wayIdsArr[1],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[2]/@old_id", responseData)));
            Assert.assertEquals(Long.parseLong(xpath.evaluate("//osm/diffResult/way[2]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[2]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/way[2]/@new_version", responseData)));

            NodeList returnedRelations = XPathAPI.selectNodeList(responseData, "//osm/diffResult/relation");
            Assert.assertEquals(2, returnedRelations.getLength());

            //check the modified relations
            Assert.assertEquals((long) relationIdsArr[0],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[1]/@old_id", responseData)));
            Assert.assertEquals(
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[1]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[1]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[1]/@new_version", responseData)));

            Assert.assertEquals((long) relationIdsArr[1],
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[2]/@old_id", responseData)));
            Assert.assertEquals(
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[2]/@old_id", responseData)),
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[2]/@new_id", responseData)));
            Assert.assertEquals(2,
                    Long.parseLong(xpath.evaluate("//osm/diffResult/relation[2]/@new_version", responseData)));
        } catch (XPathExpressionException e) {
            Assert.fail("Error parsing response document: " + e.getMessage());
        }

        final Timestamp now = new Timestamp(Calendar.getInstance().getTimeInMillis());

        QChangesets changesets = QChangesets.changesets;
        hoot.services.db2.Changesets changeset = new SQLQuery(conn, DbUtils.getConfiguration(mapId))
                .from(changesets).where(changesets.id.eq(changesetId)).singleResult(changesets);

        try {
            final Map<Long, CurrentNodes> nodes =

                    new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentNodesTbl)
                            .map(currentNodesTbl.id, currentNodesTbl);
            Assert.assertEquals(5, nodes.size());

            CurrentNodes nodeRecord = (CurrentNodes) nodes.get(nodeIdsArr[0]);
            Assert.assertEquals(new Long(changesetId), nodeRecord.getChangesetId());
            Assert.assertEquals(new Integer(
                    (int) (DbUtils.toDbCoordPrecision(updatedBounds.getMinLat()) * GeoUtils.GEO_RECORD_SCALE)),
                    nodeRecord.getLatitude());
            Assert.assertEquals(new Integer(
                    (int) (DbUtils.toDbCoordPrecision(updatedBounds.getMinLon()) * GeoUtils.GEO_RECORD_SCALE)),
                    nodeRecord.getLongitude());
            Assert.assertEquals(nodeIdsArr[0], nodeRecord.getId());
            Assert.assertEquals(
                    new Long(QuadTileCalculator.tileForPoint(DbUtils.fromDbCoordValue(nodeRecord.getLatitude()),
                            DbUtils.fromDbCoordValue(nodeRecord.getLongitude()))),
                    nodeRecord.getTile());
            Thread.sleep(1000);
            Assert.assertTrue(nodeRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), nodeRecord.getVersion());
            Assert.assertEquals(new Boolean(true), nodeRecord.getVisible());
            Map<String, String> tags = PostgresUtils.postgresObjToHStore((PGobject) nodeRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(2, tags.size());
            Assert.assertEquals("val 1b", tags.get("key 1b"));
            Assert.assertEquals("val 2b", tags.get("key 2b"));

            nodeRecord = (CurrentNodes) nodes.get(nodeIdsArr[1]);
            Assert.assertEquals(new Long(changesetId), nodeRecord.getChangesetId());
            Assert.assertEquals(new Integer(
                    (int) (DbUtils.toDbCoordPrecision(updatedBounds.getMinLat()) * GeoUtils.GEO_RECORD_SCALE)),
                    nodeRecord.getLatitude());
            Assert.assertEquals(new Integer(
                    (int) (DbUtils.toDbCoordPrecision(originalBounds.getMaxLon()) * GeoUtils.GEO_RECORD_SCALE)),
                    nodeRecord.getLongitude());
            Assert.assertEquals(nodeIdsArr[1], nodeRecord.getId());
            Assert.assertEquals(
                    new Long(QuadTileCalculator.tileForPoint(DbUtils.fromDbCoordValue(nodeRecord.getLatitude()),
                            DbUtils.fromDbCoordValue(nodeRecord.getLongitude()))),
                    nodeRecord.getTile());
            Assert.assertTrue(nodeRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), nodeRecord.getVersion());
            Assert.assertEquals(new Boolean(true), nodeRecord.getVisible());
            tags = PostgresUtils.postgresObjToHStore((PGobject) nodeRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 3b", tags.get("key 3b"));

            nodeRecord = (CurrentNodes) nodes.get(nodeIdsArr[3]);
            tags = PostgresUtils.postgresObjToHStore((PGobject) nodeRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 3", tags.get("key 3"));

            nodeRecord = (CurrentNodes) nodes.get(nodeIdsArr[4]);
            tags = PostgresUtils.postgresObjToHStore((PGobject) nodeRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 4", tags.get("key 4"));
        } catch (Exception e) {
            Assert.fail("Error checking nodes: " + e.getMessage());
        }

        try {
            final Map<Long, CurrentWays> ways =

                    new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentWaysTbl)
                            .map(currentWaysTbl.id, currentWaysTbl);
            Assert.assertEquals(3, ways.size());

            CurrentWays wayRecord = (CurrentWays) ways.get(wayIdsArr[0]);
            Assert.assertEquals(new Long(changesetId), wayRecord.getChangesetId());
            Assert.assertEquals(wayIdsArr[0], wayRecord.getId());
            Assert.assertTrue(wayRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), wayRecord.getVersion());
            Assert.assertEquals(new Boolean(true), wayRecord.getVisible());
            List<CurrentWayNodes> wayNodes = new SQLQuery(conn, DbUtils.getConfiguration(mapId))
                    .from(currentWayNodesTbl).where(currentWayNodesTbl.wayId.eq(wayIdsArr[0]))
                    .orderBy(currentWayNodesTbl.sequenceId.asc()).list(currentWayNodesTbl);
            Assert.assertEquals(2, wayNodes.size());
            CurrentWayNodes wayNode = wayNodes.get(0);
            Assert.assertEquals(nodeIdsArr[0], wayNode.getNodeId());
            Assert.assertEquals(new Long(1), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            wayNode = wayNodes.get(1);
            Assert.assertEquals(nodeIdsArr[4], wayNode.getNodeId());
            Assert.assertEquals(new Long(2), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            //verify the previously existing tags
            Map<String, String> tags = PostgresUtils.postgresObjToHStore((PGobject) wayRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 2", tags.get("key 2"));

            wayRecord = (CurrentWays) ways.get(wayIdsArr[1]);
            Assert.assertEquals(new Long(changesetId), wayRecord.getChangesetId());
            Assert.assertEquals(wayIdsArr[1], wayRecord.getId());
            Assert.assertTrue(wayRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), wayRecord.getVersion());
            Assert.assertEquals(new Boolean(true), wayRecord.getVisible());
            wayNodes = new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentWayNodesTbl)
                    .where(currentWayNodesTbl.wayId.eq(wayIdsArr[1]))
                    .orderBy(currentWayNodesTbl.sequenceId.asc()).list(currentWayNodesTbl);
            Assert.assertEquals(2, wayNodes.size());
            wayNode = wayNodes.get(0);
            Assert.assertEquals(nodeIdsArr[4], wayNode.getNodeId());
            Assert.assertEquals(new Long(1), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            wayNode = wayNodes.get(1);
            Assert.assertEquals(nodeIdsArr[2], wayNode.getNodeId());
            Assert.assertEquals(new Long(2), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            //verify the way with no tags
            Assert.assertTrue(wayRecord.getTags() == null
                    || StringUtils.isEmpty(((PGobject) wayRecord.getTags()).getValue()));

            //verify the created ways
            wayRecord = (CurrentWays) ways.get(wayIdsArr[2]);
            Assert.assertEquals(new Long(changesetId), wayRecord.getChangesetId());
            Assert.assertEquals(wayIdsArr[2], wayRecord.getId());
            Assert.assertTrue(wayRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(1), wayRecord.getVersion());
            Assert.assertEquals(new Boolean(true), wayRecord.getVisible());
            wayNodes = new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentWayNodesTbl)
                    .where(currentWayNodesTbl.wayId.eq(wayIdsArr[2]))
                    .orderBy(currentWayNodesTbl.sequenceId.asc()).list(currentWayNodesTbl);
            Assert.assertEquals(2, wayNodes.size());
            wayNode = wayNodes.get(0);
            Assert.assertEquals(nodeIdsArr[0], wayNode.getNodeId());
            Assert.assertEquals(new Long(1), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            wayNode = wayNodes.get(1);
            Assert.assertEquals(nodeIdsArr[1], wayNode.getNodeId());
            Assert.assertEquals(new Long(2), wayNode.getSequenceId());
            Assert.assertEquals(wayRecord.getId(), wayNode.getWayId());
            //verify the created tags
            tags = PostgresUtils.postgresObjToHStore((PGobject) wayRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 3", tags.get("key 3"));
        } catch (Exception e) {
            Assert.fail("Error checking ways: " + e.getMessage());
        }

        try {
            final Map<Long, CurrentRelations> relations =

                    new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentRelationsTbl)
                            .map(currentRelationsTbl.id, currentRelationsTbl);
            Assert.assertEquals(4, relations.size());

            CurrentRelations relationRecord = (CurrentRelations) relations.get(relationIdsArr[0]);
            Assert.assertEquals(new Long(changesetId), relationRecord.getChangesetId());
            Assert.assertEquals(relationIdsArr[0], relationRecord.getId());
            Assert.assertTrue(relationRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), relationRecord.getVersion());
            Assert.assertEquals(new Boolean(true), relationRecord.getVisible());
            List<CurrentRelationMembers> members = new SQLQuery(conn, DbUtils.getConfiguration(mapId))
                    .from(currentRelationMembersTbl)
                    .where(currentRelationMembersTbl.relationId.eq(relationIdsArr[0]))
                    .orderBy(currentRelationMembersTbl.sequenceId.asc()).list(currentRelationMembersTbl);
            Assert.assertEquals(3, members.size());
            CurrentRelationMembers member = members.get(0);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.way, member.getMemberType());
            Assert.assertEquals("role4", member.getMemberRole());
            Assert.assertEquals(new Integer(1), member.getSequenceId());

            Assert.assertEquals(wayIdsArr[1], member.getMemberId());
            member = members.get(1);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.way, member.getMemberType());
            Assert.assertEquals("role2", member.getMemberRole());
            Assert.assertEquals(new Integer(2), member.getSequenceId());

            Assert.assertEquals(wayIdsArr[0], member.getMemberId());
            member = members.get(2);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.node, member.getMemberType());
            Assert.assertEquals("", member.getMemberRole());
            Assert.assertEquals(new Integer(3), member.getSequenceId());

            Assert.assertEquals(nodeIdsArr[2], member.getMemberId());
            Map<String, String> tags = PostgresUtils.postgresObjToHStore((PGobject) relationRecord.getTags());
            Assert.assertTrue(relationRecord.getTags() == null
                    || StringUtils.trimToNull(((PGobject) relationRecord.getTags()).getValue()) == null);

            relationRecord = (CurrentRelations) relations.get(relationIdsArr[1]);
            Assert.assertEquals(new Long(changesetId), relationRecord.getChangesetId());
            Assert.assertEquals(relationIdsArr[1], relationRecord.getId());
            Assert.assertTrue(relationRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(2), relationRecord.getVersion());
            Assert.assertEquals(new Boolean(true), relationRecord.getVisible());
            members = new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentRelationMembersTbl)
                    .where(currentRelationMembersTbl.relationId.eq(relationIdsArr[1]))
                    .orderBy(currentRelationMembersTbl.sequenceId.asc()).list(currentRelationMembersTbl);
            Assert.assertEquals(2, members.size());
            member = members.get(0);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.relation, member.getMemberType());
            Assert.assertEquals("role1", member.getMemberRole());
            Assert.assertEquals(new Integer(1), member.getSequenceId());

            Assert.assertEquals(relationIdsArr[0], member.getMemberId());
            member = members.get(1);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.node, member.getMemberType());
            Assert.assertEquals("", member.getMemberRole());
            Assert.assertEquals(new Integer(2), member.getSequenceId());

            Assert.assertEquals(nodeIdsArr[4], member.getMemberId());
            tags = PostgresUtils.postgresObjToHStore((PGobject) relationRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(2, tags.size());
            Assert.assertEquals("val 2", tags.get("key 2"));
            Assert.assertEquals("val 3", tags.get("key 3"));

            relationRecord = (CurrentRelations) relations.get(relationIdsArr[2]);
            Assert.assertEquals(new Long(changesetId), relationRecord.getChangesetId());
            Assert.assertEquals(relationIdsArr[2], relationRecord.getId());
            Assert.assertTrue(relationRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(1), relationRecord.getVersion());
            Assert.assertEquals(new Boolean(true), relationRecord.getVisible());
            members = new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentRelationMembersTbl)
                    .where(currentRelationMembersTbl.relationId.eq(relationIdsArr[2]))
                    .orderBy(currentRelationMembersTbl.sequenceId.asc()).list(currentRelationMembersTbl);
            Assert.assertEquals(1, members.size());
            member = members.get(0);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.way, member.getMemberType());
            Assert.assertEquals("", member.getMemberRole());
            Assert.assertEquals(new Integer(1), member.getSequenceId());

            Assert.assertEquals(wayIdsArr[1], member.getMemberId());
            tags = PostgresUtils.postgresObjToHStore((PGobject) relationRecord.getTags());
            Assert.assertNotNull(tags);
            Assert.assertEquals(1, tags.size());
            Assert.assertEquals("val 4", tags.get("key 4"));

            relationRecord = (CurrentRelations) relations.get(relationIdsArr[3]);
            Assert.assertEquals(new Long(changesetId), relationRecord.getChangesetId());
            Assert.assertEquals(relationIdsArr[3], relationRecord.getId());
            Assert.assertTrue(relationRecord.getTimestamp().before(now));
            Assert.assertEquals(new Long(1), relationRecord.getVersion());
            Assert.assertEquals(new Boolean(true), relationRecord.getVisible());
            members =

                    new SQLQuery(conn, DbUtils.getConfiguration(mapId)).from(currentRelationMembersTbl)
                            .where(currentRelationMembersTbl.relationId.eq(relationIdsArr[3]))
                            .orderBy(currentRelationMembersTbl.sequenceId.asc())
                            .list(currentRelationMembersTbl);
            Assert.assertEquals(1, members.size());
            member = members.get(0);
            Assert.assertEquals(relationRecord.getId(), member.getRelationId());
            Assert.assertEquals(DbUtils.nwr_enum.node, member.getMemberType());
            Assert.assertEquals("role1", member.getMemberRole());
            Assert.assertEquals(new Integer(1), member.getSequenceId());

            Assert.assertEquals(nodeIdsArr[2], member.getMemberId());
            Assert.assertTrue(relationRecord.getTags() == null
                    || StringUtils.isEmpty(((PGobject) relationRecord.getTags()).getValue()));
        } catch (Exception e) {
            Assert.fail("Error checking relations: " + e.getMessage());
        }

        try {
            Assert.assertNotNull(changeset);
            Assert.assertTrue(changeset.getCreatedAt().before(now));
            Assert.assertTrue(changeset.getClosedAt().after(changeset.getCreatedAt()));
            Assert.assertTrue(changeset.getClosedAt().before(now));
            Assert.assertEquals(new Integer(18), changeset.getNumChanges());
            Assert.assertEquals(new Long(userId), changeset.getUserId());

            BoundingBox expandedBounds = new BoundingBox(originalBounds);
            expandedBounds.expand(updatedBounds,
                    Double.parseDouble(HootProperties.getDefault("changesetBoundsExpansionFactorDeegrees")));
            hoot.services.models.osm.Changeset hootChangeset = new hoot.services.models.osm.Changeset(mapId,
                    changesetId, conn);
            BoundingBox changesetBounds = hootChangeset.getBounds();
            Assert.assertTrue(changesetBounds.equals(expandedBounds));
        } catch (Exception e) {
            Assert.fail("Error checking changeset: " + e.getMessage());
        }
    } catch (Exception e) {
        log.error(e.getMessage());
        throw e;
    } finally {
        //set this back to default now that this test is over
        HootProperties.getInstance().setProperty("maximumChangesetElements",
                HootProperties.getDefault("maximumChangesetElements"));
        Assert.assertEquals(Integer.parseInt(HootProperties.getDefault("maximumChangesetElements")),
                Integer.parseInt(HootProperties.getInstance().getProperty("maximumChangesetElements")));
    }
}

From source file:com.hubrick.vertx.s3.client.S3Client.java

private MultiMap populateDeleteObjectHeaders(DeleteObjectRequest deleteObjectRequest) {
    final MultiMap headers = MultiMap.caseInsensitiveMultiMap();

    if (StringUtils.trimToNull(deleteObjectRequest.getAmzMfa()) != null) {
        headers.add(Headers.X_AMZ_MFA, StringUtils.trim(deleteObjectRequest.getAmzMfa()));
    }//from  ww w.j a  v  a  2s  .c  om

    return headers;
}

From source file:alfio.manager.TicketReservationManager.java

public void updateTicketOwner(Ticket ticket, Locale locale, Event event,
        UpdateTicketOwnerForm updateTicketOwner, PartialTicketTextGenerator confirmationTextBuilder,
        PartialTicketTextGenerator ownerChangeTextBuilder, Optional<UserDetails> userDetails) {

    Ticket preUpdateTicket = ticketRepository.findByUUID(ticket.getUuid());
    Map<String, String> preUpdateTicketFields = ticketFieldRepository.findAllByTicketId(ticket.getId()).stream()
            .collect(Collectors.toMap(TicketFieldValue::getName, TicketFieldValue::getValue));

    String newEmail = updateTicketOwner.getEmail().trim();
    CustomerName customerName = new CustomerName(updateTicketOwner.getFullName(),
            updateTicketOwner.getFirstName(), updateTicketOwner.getLastName(), event);
    ticketRepository.updateTicketOwner(ticket.getUuid(), newEmail, customerName.getFullName(),
            customerName.getFirstName(), customerName.getLastName());

    ////from   w w w.j av  a2 s. com
    Locale userLocale = Optional.ofNullable(StringUtils.trimToNull(updateTicketOwner.getUserLanguage()))
            .map(Locale::forLanguageTag).orElse(locale);

    ticketRepository.updateOptionalTicketInfo(ticket.getUuid(), userLocale.getLanguage());
    ticketFieldRepository.updateOrInsert(updateTicketOwner.getAdditional(), ticket.getId(), event.getId());

    Ticket newTicket = ticketRepository.findByUUID(ticket.getUuid());
    if (newTicket.getStatus() == TicketStatus.ACQUIRED
            && (!StringUtils.equalsIgnoreCase(newEmail, ticket.getEmail())
                    || !StringUtils.equalsIgnoreCase(customerName.getFullName(), ticket.getFullName()))) {
        sendTicketByEmail(newTicket, userLocale, event, confirmationTextBuilder);
    }

    boolean admin = isAdmin(userDetails);

    if (!admin && StringUtils.isNotBlank(ticket.getEmail())
            && !StringUtils.equalsIgnoreCase(newEmail, ticket.getEmail())
            && ticket.getStatus() == TicketStatus.ACQUIRED) {
        Locale oldUserLocale = Locale.forLanguageTag(ticket.getUserLanguage());
        String subject = messageSource.getMessage("ticket-has-changed-owner-subject",
                new Object[] { event.getDisplayName() }, oldUserLocale);
        notificationManager.sendSimpleEmail(event, ticket.getEmail(), subject,
                () -> ownerChangeTextBuilder.generate(newTicket));
        if (event.getBegin().isBefore(ZonedDateTime.now(event.getZoneId()))) {
            Organization organization = organizationRepository.getById(event.getOrganizationId());
            notificationManager.sendSimpleEmail(event, organization.getEmail(),
                    "WARNING: Ticket has been reassigned after event start",
                    () -> ownerChangeTextBuilder.generate(newTicket));
        }
    }

    if (admin) {
        TicketReservation reservation = findById(ticket.getTicketsReservationId())
                .orElseThrow(IllegalStateException::new);
        //if the current user is admin, then it would be good to update also the name of the Reservation Owner
        String username = userDetails.get().getUsername();
        log.warn("Reservation {}: forced assignee replacement old: {} new: {}", reservation.getId(),
                reservation.getFullName(), username);
        ticketReservationRepository.updateAssignee(reservation.getId(), username);
    }
    pluginManager.handleTicketAssignment(newTicket);

    Ticket postUpdateTicket = ticketRepository.findByUUID(ticket.getUuid());
    Map<String, String> postUpdateTicketFields = ticketFieldRepository.findAllByTicketId(ticket.getId())
            .stream().collect(Collectors.toMap(TicketFieldValue::getName, TicketFieldValue::getValue));

    auditUpdateTicket(preUpdateTicket, preUpdateTicketFields, postUpdateTicket, postUpdateTicketFields,
            event.getId());
}

From source file:hudson.model.AbstractProject.java

@Override
protected void submit(StaplerRequest req, StaplerResponse rsp)
        throws IOException, ServletException, FormException {
    super.submit(req, rsp);

    makeDisabled(null != req.getParameter("disable"));
    setCascadingProjectName(StringUtils.trimToNull(req.getParameter("cascadingProjectName")));
    setJDK(req.getParameter("jdk"));
    setQuietPeriod(//from  w  w  w .j av a 2s.c  o  m
            null != req.getParameter(HAS_QUIET_PERIOD_PROPERTY_NAME) ? req.getParameter("quiet_period") : null);
    setScmCheckoutRetryCount(null != req.getParameter(HAS_SCM_CHECKOUT_RETRY_COUNT_PROPERTY_NAME)
            ? req.getParameter("scmCheckoutRetryCount")
            : null);
    setBlockBuildWhenDownstreamBuilding(null != req.getParameter("blockBuildWhenDownstreamBuilding"));
    setBlockBuildWhenUpstreamBuilding(null != req.getParameter("blockBuildWhenUpstreamBuilding"));

    if (req.getParameter(APPOINTED_NODE_PROPERTY_NAME) != null) {
        // New logic for handling whether this choice came from the dropdown or textfield.
        if (BASIC_KEY.equals(req.getParameter(AFFINITY_CHO0SER_KEY))) {
            setAppointedNode(new AppointedNode(Util.fixEmptyAndTrim(req.getParameter(SLAVE_KEY)), false));
        } else {
            setAppointedNode(
                    new AppointedNode(Util.fixEmptyAndTrim(req.getParameter(ASSIGNED_LABEL_KEY)), true));
        }

    } else {
        setAppointedNode(null);
    }

    setCleanWorkspaceRequired(null != req.getParameter("cleanWorkspaceRequired"));

    setConcurrentBuild(req.getSubmittedForm().has("concurrentBuild"));

    authToken = BuildAuthorizationToken.create(req);

    setScm(SCMS.parseSCM(req, this));

    buildTriggers(req, req.getSubmittedForm(), Trigger.for_(this));
}

From source file:net.sourceforge.pmd.lang.LanguageRegistry.java

public static LanguageVersion findLanguageVersionByTerseName(String terseNameAndVersion) {
    String version;//w w  w .  j  a v a 2s . c om
    String terseName;
    if (terseNameAndVersion.contains(" ")) {
        version = StringUtils
                .trimToNull(terseNameAndVersion.substring(terseNameAndVersion.lastIndexOf(' ') + 1));
        terseName = terseNameAndVersion.substring(0, terseNameAndVersion.lastIndexOf(' '));
    } else {
        version = null;
        terseName = terseNameAndVersion;
    }
    Language language = findLanguageByTerseName(terseName);
    if (language != null) {
        if (version == null) {
            return language.getDefaultVersion();
        } else {
            return language.getVersion(version);
        }
    }
    return null;
}

From source file:net.thirdy.blackmarket.service.Ladder.java

public void addPlayerLadderData(ExileToolsHit exileToolsHit) {
    if (!Main.DISABLE_LADDER_FEATURE) {
        String account = exileToolsHit.getShop().getSellerAccount();
        String league = exileToolsHit.getAttributes().getLeague();
        Map<String, LadderHit> leagueMap = ladderMapAllLeagues.get(league);
        Optional<LadderHit> ladderHit = leagueMap.entrySet().stream().map(es -> es.getValue())
                .filter(lh -> lh.accountName().equalsIgnoreCase(account)).findFirst();
        if (ladderHit.isPresent()) {
            String sellerIGN = StringUtils.trimToNull(exileToolsHit.getShop().getSellerIGN());
            if (sellerIGN == null) {
                exileToolsHit.getShop().setSellerIGN(ladderHit.get().charName());
            }//w  w w  .ja  v  a  2  s  .  co  m
            exileToolsHit.setLadderHit(ladderHit);
        }
    }
}

From source file:nl.strohalm.cyclos.utils.database.DatabaseCustomFieldHandler.java

/**
 * Appends the custom field values on a query. Should be invoked when
 * building the where part of the query/*from ww w.ja v a  2 s. c  om*/
 *
 * @param hql The current HQL buffer
 * @param values The custom field values used to filter
 */
public void appendConditions(final StringBuilder hql, final Map<String, Object> namedParameters,
        final Collection<? extends CustomFieldValue> values) {
    if (values == null || values.isEmpty()) {
        return;
    }
    for (final CustomFieldValue fieldValue : values) {
        CustomField field = fieldValue.getField();
        if (field == null) {
            continue;
        }
        field = fetchDao.fetch(field);
        String value = fieldValue.getValue();
        // Remove any manually entered '%'
        value = StringUtils.trimToNull(StringUtils.replace(value, "%", ""));
        if (value == null) {
            continue;
        }
        final String alias = alias(field);
        final String fieldParam = "field_" + alias;
        final String valueParam = "value_" + alias;

        hql.append(" and ").append(alias).append(".field = :").append(fieldParam);
        namedParameters.put(fieldParam, field);

        if (LoggedUser.hasUser() && !LoggedUser.isAdministrator()) {
            if (field.getNature() == CustomField.Nature.MEMBER) {
                // Exclude hidden fields
                hql.append(" and ").append(alias).append(".hidden <> true");
            }
        }
        // Check the field type
        switch (field.getType()) {
        case STRING:
            if (StringUtils.isNotEmpty(field.getPattern())) {
                // Remove the mask and consider the value as matching exactly
                value = StringHelper.removeMask(field.getPattern(), value, false);
                hql.append(" and ").append(alias).append(".stringValue like :").append(valueParam);
                namedParameters.put(valueParam, value);
            } else {
                // Use a like expression
                hql.append(" and ").append(alias).append(".stringValue like :").append(valueParam);
                namedParameters.put(valueParam, StringUtils.trimToEmpty(value) + "%");
            }
            break;
        case BOOLEAN:
            if (Boolean.parseBoolean(value)) {
                hql.append(" and ").append(alias).append(".stringValue = :" + valueParam);
            } else {
                hql.append(" and ").append(alias).append(".stringValue <> :" + valueParam);
            }
            namedParameters.put(valueParam, "true");
            break;
        case ENUMERATED:
            boolean byName = true;
            if (StringUtils.containsOnly(value, "0123456789,")) {
                // Try by id
                try {
                    final Collection<CustomFieldPossibleValue> possibleValues = new ArrayList<CustomFieldPossibleValue>();
                    final String[] possibleValueIds = StringUtils.split(value, ',');
                    for (final String idAsString : possibleValueIds) {
                        final CustomFieldPossibleValue possibleValue = customFieldPossibleValueDao
                                .load(Long.valueOf(idAsString));
                        if (!possibleValue.getField().equals(field)) {
                            throw new Exception();
                        }
                        possibleValues.add(possibleValue);
                    }
                    byName = false;
                    hql.append(" and ").append(alias).append(".possibleValue in (:").append(valueParam)
                            .append(')');
                    namedParameters.put(valueParam, possibleValues);
                } catch (final Exception e) {
                    // Possible value not found by id - next try by name
                }
            }
            if (byName) {
                hql.append(" and ").append(alias).append(".possibleValue.value = :").append(valueParam);
                namedParameters.put(valueParam, value);
            }
            break;
        case MEMBER:
            Long memberId = null;
            if (fieldValue.getMemberValue() != null) {
                memberId = fieldValue.getMemberValue().getId();
            } else {
                memberId = IdConverter.instance().valueOf(value);
            }
            if (memberId != null) {
                hql.append(" and ").append(alias).append(".memberValue.id = :").append(valueParam);
                namedParameters.put(valueParam, memberId);
            }
            break;
        default:
            hql.append(" and ").append(alias).append(".stringValue = :").append(valueParam);
            namedParameters.put(valueParam, value);
            break;
        }
    }
}

From source file:nl.strohalm.cyclos.utils.database.DatabaseCustomFieldHandler.java

/**
 * Appends the inner joins for each custom field. Should be invoked when
 * building the from part of the query.//ww w.  j  a  va 2 s  .co  m
 *
 * @param hql The current HQL buffer
 * @param fieldValuesPath The path on the query for the custom fields value
 * collection
 * @param values The custom field values used to filter
 */
public void appendJoins(final StringBuilder hql, final String fieldValuesPath,
        final Collection<? extends CustomFieldValue> values) {
    if (values == null || values.isEmpty()) {
        return;
    }
    for (final CustomFieldValue fieldValue : values) {
        CustomField field = fieldValue.getField();
        if (field == null) {
            continue;
        }
        String value = fieldValue.getValue();
        // Remove any manually entered '%'
        value = StringUtils.trimToNull(StringUtils.replace(value, "%", ""));
        if (value == null) {
            continue;
        }
        field = fetchDao.fetch(field);
        hql.append(" inner join ").append(fieldValuesPath).append(' ').append(alias(field));
    }
}

From source file:nl.strohalm.cyclos.utils.database.DatabaseHelper.java

private static void doAddLike(final StringBuilder hql, final Map<String, Object> namedParameters,
        final String path, String value, final boolean rightOnly) {
    value = StringUtils.trimToNull(value);
    if (value == null) {
        return;//w ww .  ja  v a2s. c  o  m
    }
    // Remove any manually entered '%'
    value = StringUtils.trimToNull(StringUtils.replace(value, "%", ""));
    if (value == null) {
        return;
    }
    // Assuming the default database collation is case insensitive, we don't need to perform case transformations
    if (rightOnly) {
        value += "%";
    } else {
        value = "%" + value + "%";
    }
    addParameterToQueryOperator(hql, namedParameters, path, "like", value);
}