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

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

Introduction

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

Prototype

public static String abbreviate(final String str, final int maxWidth) 

Source Link

Document

Abbreviates a String using ellipses.

Usage

From source file:io.bitsquare.gui.components.paymentmethods.BlockChainForm.java

@Override
protected void autoFillNameTextField() {
    if (useCustomAccountNameCheckBox != null && !useCustomAccountNameCheckBox.isSelected()) {
        String method = BSResources.get(paymentAccount.getPaymentMethod().getId());
        String address = addressInputTextField.getText();
        address = StringUtils.abbreviate(address, 9);
        String currency = paymentAccount.getSingleTradeCurrency() != null
                ? paymentAccount.getSingleTradeCurrency().getCode()
                : "?";
        accountNameTextField.setText(method.concat(", ").concat(currency).concat(", ").concat(address));
    }/*  www  .  j  ava2 s. co m*/
}

From source file:net.gtaun.wl.race.dialog.TrackListDialog.java

private void update() {
    final LocalizedStringSet stringSet = raceService.getLocalizedStringSet();

    filteredTracks = TrackUtils.filterTracks(tracks, statusFilter);
    Collections.sort(filteredTracks, trackComparator);

    items.clear();/*  w ww .j  av  a  2s.c om*/
    items.add(new ListDialogItemRadio(stringSet.get(player, "Dialog.TrackListDialog.StatusFilter")) {
        {
            addItem(new RadioItem(stringSet.get(player, "Track.Status.Completed"), Color.LIGHTGREEN));
            addItem(new RadioItem(stringSet.get(player, "Track.Status.Ranking"), Color.LIGHTBLUE));
            addItem(new RadioItem(stringSet.get(player, "Track.Status.Editing"), Color.LIGHTPINK));
        }

        @Override
        public int getSelected() {
            return statusFilters.indexOf(statusFilter);
        }

        @Override
        public void onItemSelect(RadioItem item, int index) {
            player.playSound(1083);
            statusFilter = statusFilters.get(index);
            update();
            show();
        }
    });

    items.add(new ListDialogItemRadio(stringSet.get(player, "Dialog.TrackListDialog.SortMode")) {
        {
            addItem(new RadioItem(stringSet.get(player, "Track.SortMode.Nearest"), Color.RED));
            addItem(new RadioItem(stringSet.get(player, "Track.SortMode.LongToShort"), Color.BLUE));
            addItem(new RadioItem(stringSet.get(player, "Track.SortMode.ShortToLong"), Color.GREEN));
        }

        @Override
        public int getSelected() {
            return trackComparators.indexOf(trackComparator);
        }

        @Override
        public void onItemSelect(RadioItem item, int index) {
            player.playSound(1083);
            trackComparator = trackComparators.get(index);
            update();
            show();
        }
    });

    for (final Track track : filteredTracks) {
        String trackName = track.getName();
        String author = track.getAuthorUniqueId();

        String item = stringSet.format(player, "Dialog.TrackListDialog.Item",
                DialogUtils.rightPad(StringUtils.abbreviate(trackName, 20), 16, 8), author,
                track.getLength() / 1000.0f, track.getCheckpoints().size());

        items.add(new ListDialogItem(item) {
            @Override
            public void onItemSelect() {
                player.playSound(1083);
                TrackDialog
                        .create(player, eventManagerNode.getParent(), TrackListDialog.this, raceService, track)
                        .show();
            }
        });
    }
}

From source file:gov.nih.nci.caintegrator.application.study.LogEntry.java

/**
 * @param trimSystemLogMessage the systemLogMessage to trim and set
 *//*  w w w.  ja  v a 2s .c o  m*/
public void setTrimSystemLogMessage(String trimSystemLogMessage) {
    this.systemLogMessage = StringUtils.abbreviate(trimSystemLogMessage, MAX_LENGTH);
}

From source file:net.mindengine.blogix.db.readers.ObjectReader.java

private Object convertStringValueToType(String fieldValue, Class<?> type) {
    if (type.equals(String.class)) {
        return fieldValue;
    } else if (type.equals(Integer.class) || type.equals(int.class)) {
        return Integer.parseInt(fieldValue.trim());
    } else if (type.equals(Long.class) || type.equals(long.class)) {
        return Long.parseLong(fieldValue.trim());
    } else if (type.equals(Float.class) || type.equals(float.class)) {
        return Float.parseFloat(fieldValue.trim());
    } else if (type.equals(Double.class) || type.equals(double.class)) {
        return Double.parseDouble(fieldValue.trim());
    } else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
        return Boolean.parseBoolean(fieldValue.trim());
    } else if (type.equals(Date.class)) {
        return parseDate(fieldValue);
    } else if (type.equals(String[].class)) {
        if (fieldValue.trim().isEmpty()) {
            return new String[] {};
        }//w  w  w  .j  a  va2 s.  com

        String[] items = fieldValue.split(",");
        String[] array = new String[items.length];
        for (int i = 0; i < array.length; i++) {
            array[i] = (String) convertStringValueToType(items[i].trim(), String.class);
        }
        return array;
    }

    throw new IllegalArgumentException(
            "Cannot convert value '" + StringUtils.abbreviate(fieldValue, 20) + "' to type " + type);
}

From source file:gov.nih.nci.caintegrator.application.study.LogEntry.java

/**
 * @param trimDescription the description to trim and set
 *//*ww w.  j  a va  2s  .  c  om*/
public void setTrimDescription(String trimDescription) {
    this.description = StringUtils.abbreviate(trimDescription, MAX_LENGTH);
}

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

/**
 * <NAME>User Service </NAME>
 * <DESCRIPTION>/*from w  w w. ja v a  2s . co m*/
 *    This is currently implemented as a dummy method to appease iD.
 *  It always retrieves information for the first user record in the services database.
 *  It cannot properly be implemented until user authentication is first implemented.
 * </DESCRIPTION>
 * <PARAMETERS>
 * </PARAMETERS>
 * <OUTPUT>
 *    information about the currently logged in user in XML format
 * </OUTPUT>
 * <EXAMPLE>
 *    <URL>http://localhost:8080/hoot-services/osm/api/0.6/user/details</URL>
 *    <REQUEST_TYPE>GET</REQUEST_TYPE>
 *    <INPUT>
 *   </INPUT>
 * <OUTPUT>
 * information about the currently logged in user in XML format
 * see https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmUserService#User
 * </OUTPUT>
 * </EXAMPLE>
 *
* Service method endpoint for retrieving OSM user information
*
* @param userId ID of the user to retrieve information for
* @return Response with the requested user's information
* @throws Exception
* @see https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmUserService#User
*/
@GET
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_XML)
public Response get(@PathParam("userId") final String userId) throws Exception {
    log.debug("Retrieving user with ID: " + userId.trim() + " ...");

    Connection conn = DbUtils.createConnection();
    Document responseDoc = null;
    try {
        log.debug("Initializing database connection...");

        long userIdNum = -1;
        try {
            QUsers users = QUsers.users;
            //input mapId may be a map ID or a map name
            userIdNum = ModelDaoUtils.getRecordIdForInputString(userId, conn, users, users.id,
                    users.displayName);
        } catch (Exception e) {
            if (e.getMessage().startsWith("Multiple records exist")) {
                ResourceErrorHandler.handleError(
                        e.getMessage().replaceAll("records", "users").replaceAll("record", "user"),
                        Status.NOT_FOUND, log);
            } else if (e.getMessage().startsWith("No record exists")) {
                ResourceErrorHandler.handleError(
                        e.getMessage().replaceAll("records", "users").replaceAll("record", "user"),
                        Status.NOT_FOUND, log);
            }
            ResourceErrorHandler.handleError(
                    "Error requesting user with ID: " + userId + " (" + e.getMessage() + ")",
                    Status.BAD_REQUEST, log);
        }

        assert (userIdNum != -1);
        QUsers usersTbl = QUsers.users;

        SQLQuery query = new SQLQuery(conn, DbUtils.getConfiguration());

        // there is only ever one test user
        Users user = query.from(usersTbl).where(usersTbl.id.eq(userIdNum)).singleResult(usersTbl);

        if (user == null) {
            ResourceErrorHandler.handleError(
                    "No user exists with ID: " + userId + ".  Please request a valid user.", Status.NOT_FOUND,
                    log);
        }

        responseDoc = (new UserResponseWriter()).writeResponse(new User(user, conn), conn);
    } finally {
        DbUtils.closeConnection(conn);
    }

    log.debug("Returning response: " + StringUtils.abbreviate(XmlDocumentBuilder.toString(responseDoc), 100)
            + " ...");
    return Response.ok(new DOMSource(responseDoc), MediaType.APPLICATION_XML)
            .header("Content-type", MediaType.APPLICATION_XML).build();
}

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

/**
  * <NAME>Element Service - Get Element By ID </NAME>
  * <DESCRIPTION>//from w ww  . ja  v a2  s . c  o  m
  *    Allows for retrieving a node, way, or relation by numeric OSM element ID. Child element of ways
  * and relations are not added to the output (use the "full" method for that functionality).
  * The ID of the map owning the element must be specified in the query string.
  * </DESCRIPTION>
  * <PARAMETERS>
  *  <mapId>
  *  string; ID or name of the map the requested element belongs to
  *  </mapId>
  *  <elementId>
  *   long; OSM ID of the requested element
  *  </elementId>
  *  <elementType>
  *  string; OSM type of the requested element; valid values are "node", "way", or "relation"
  *  </elementType>
  * </PARAMETERS>
  * <OUTPUT>
  *    XML representation of the requested element
  * </OUTPUT>
  * <EXAMPLE>
  *    <URL>http://localhost:8080/hoot-services/osm/api/0.6/node/1?mapId=1</URL>
  *    <REQUEST_TYPE>GET</REQUEST_TYPE>
  *    <INPUT>
  *   </INPUT>
  * <OUTPUT>
  *  OSM XML
  *  see https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmElementService#Get-Element-By-ID
  * </OUTPUT>
  * </EXAMPLE>
 *
 * Returns a single element item's XML for a given map without its element children
 * 
 * @param mapId ID of the map the element belongs to
 * @param elementId OSM element ID of the element to retrieve
 * @param elementType OSM element type of the element to retrieve; valid values are: node, way, 
 * or relation
 * @return element XML document
 * @throws Exception
 * @see https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmElementService#Get-Element-By-ID
 */
@GET
@Path("{elementType: node|way|relation}/{elementId}")
@Consumes({ MediaType.TEXT_PLAIN })
@Produces({ MediaType.TEXT_XML })
public Response getElement(@QueryParam("mapId") String mapId, @PathParam("elementId") final long elementId,
        @PathParam("elementType") final String elementType) throws Exception {
    final ElementType elementTypeVal = Element.elementTypeFromString(elementType);
    if (elementTypeVal == null) {
        ResourceErrorHandler.handleError("Invalid element type: " + elementType, Status.BAD_REQUEST, log);
    }

    Connection conn = DbUtils.createConnection();
    Document elementDoc = null;
    try {
        log.debug("Initializing database connection...");

        elementDoc = getElementXml(mapId, elementId, elementTypeVal, false, false, conn);
    } finally {
        DbUtils.closeConnection(conn);
    }

    log.debug("Returning response: " + StringUtils.abbreviate(XmlDocumentBuilder.toString(elementDoc), 100)
            + " ...");
    return Response.ok(new DOMSource(elementDoc), MediaType.APPLICATION_XML)
            .header("Content-type", MediaType.APPLICATION_XML).build();
}

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

/**
  * <NAME>Changeset Create</NAME>
  * <DESCRIPTION>//from   www  . ja  va2s .co  m
  * The Hootenanny Changeset Service implements a subset of the OSM
  * Changeset Service v0.6. It supports the OSM changeset upload process only.
  * It does not support the browsing of changeset contents.
  * </DESCRIPTION>
  * <PARAMETERS>
  *  <mapId>
  *  string; ID or name of the map to which the created changeset will belong
  *  </mapId>
  *  <changesetData>
  *  XML; payload data; an empty OSM xml changeset
  *  </changesetData>
  * </PARAMETERS>
  * <OUTPUT>
  *    ID of the created changeset
  * </OUTPUT>
  * <EXAMPLE>
  *    <URL>http://localhost:8080/hoot-services/osm/api/0.6/changeset/create?mapId=dc-admin</URL>
  *    <REQUEST_TYPE>PUT</REQUEST_TYPE>
  *    <INPUT>
  * Changeset OSM XML
  * See https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmChangesetService#Changeset-Create
  *   </INPUT>
  * <OUTPUT>
  * 1
  * </OUTPUT>
  * </EXAMPLE>
 *
 * Service method endpoint for creating a new OSM changeset
 * 
 * @param changeset changeset create data
 * @param mapId ID of the map the changeset belongs to
 * @return Response containing the ID assigned to the new changeset
 * @throws Exception 
 * @todo why can't I get changesetData in as an XML doc?
 * @todo update for parsing multiple changesets in one request (#2894): duplicated changeset tag 
   keys are allowed but later changeset tag keys overwrite earlier ones; isn't that contradictory
   with the rest of the logic in this method?
 * @see https://insightcloud.digitalglobe.com/redmine/projects/hootenany/wiki/User_-_OsmChangesetService#Changeset-Create
 */
@PUT
@Path("/create")
@Consumes(MediaType.TEXT_XML)
@Produces(MediaType.TEXT_PLAIN)
public Response create(final String changesetData, @QueryParam("mapId") final String mapId) throws Exception {
    log.debug("Creating changeset for map with ID: " + mapId + " ...");

    Document changesetDoc = null;
    try {
        log.debug("Parsing changeset XML...");
        changesetDoc = XmlDocumentBuilder.parse(changesetData);
    } catch (Exception e) {
        ResourceErrorHandler.handleError("Error parsing changeset XML: "
                + StringUtils.abbreviate(changesetData, 100) + " (" + e.getMessage() + ")", Status.BAD_REQUEST,
                log);
    }

    Connection conn = DbUtils.createConnection();
    long changesetId = -1;
    try {
        log.debug("Initializing database connection...");

        long mapIdNum = -1;
        try {
            QMaps maps = QMaps.maps;
            //input mapId may be a map ID or a map name
            mapIdNum = ModelDaoUtils.getRecordIdForInputString(mapId, conn, maps, maps.id, maps.displayName);
        } catch (Exception e) {
            if (e.getMessage().startsWith("Multiple records exist")) {
                ResourceErrorHandler.handleError(
                        e.getMessage().replaceAll("records", "maps").replaceAll("record", "map"),
                        Status.NOT_FOUND, log);
            } else if (e.getMessage().startsWith("No record exists")) {
                ResourceErrorHandler.handleError(
                        e.getMessage().replaceAll("records", "maps").replaceAll("record", "map"),
                        Status.NOT_FOUND, log);
            }
            ResourceErrorHandler.handleError(
                    "Error requesting map with ID: " + mapId + " (" + e.getMessage() + ")", Status.BAD_REQUEST,
                    log);
        }

        long userId = -1;
        try {
            assert (mapIdNum != -1);
            log.debug("Retrieving user ID associated with map having ID: " + String.valueOf(mapIdNum) + " ...");

            QMaps maps = QMaps.maps;

            SQLQuery query = new SQLQuery(conn, DbUtils.getConfiguration());

            userId = query.from(maps).where(maps.id.eq(mapIdNum)).singleResult(maps.userId);

            log.debug("Retrieved user ID: " + userId);
        } catch (Exception e) {
            ResourceErrorHandler.handleError(
                    "Error locating user associated with map for changeset data: "
                            + StringUtils.abbreviate(changesetData, 100) + " (" + e.getMessage() + ")",
                    Status.BAD_REQUEST, log);
        }

        log.debug("Intializing transaction...");
        TransactionStatus transactionStatus = transactionManager
                .getTransaction(new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED));
        conn.setAutoCommit(false);

        try {
            changesetId = Changeset.createChangeset(changesetDoc, mapIdNum, userId, conn);
        } catch (Exception e) {
            log.error("Rolling back the database transaction...");
            transactionManager.rollback(transactionStatus);
            conn.rollback();

            ResourceErrorHandler.handleError("Error creating changeset: (" + e.getMessage() + ") "
                    + StringUtils.abbreviate(changesetData, 100), Status.BAD_REQUEST, log);
        }

        log.debug("Committing the database transaction...");
        transactionManager.commit(transactionStatus);
        conn.commit();
    } finally {
        conn.setAutoCommit(true);
        DbUtils.closeConnection(conn);
    }

    log.debug("Returning ID: " + changesetId + " for new changeset...");
    return Response.ok(String.valueOf(changesetId), MediaType.TEXT_PLAIN)
            .header("Content-type", MediaType.TEXT_PLAIN).build();
}

From source file:de.openali.odysseus.chart.framework.util.img.GenericChartLabelRenderer.java

private String fitToFixedWidth(final GC gc, final String line, final int width) {
    if (width < 1)
        return line;

    final int lineWidth = calcTextSize(gc, line).x;
    final int charWidth = lineWidth / line.length();
    if (lineWidth <= width)
        return line;
    int maxChar = width / charWidth;
    if (maxChar < 6)
        return StringUtils.abbreviate(line, 5);
    String s = StringUtils.abbreviateMiddle(line, "..", maxChar); //$NON-NLS-1$
    while (calcTextSize(gc, s).x > width) {
        maxChar -= 1;/*  ww w.j  a  va 2 s .co m*/
        s = StringUtils.abbreviateMiddle(line, "..", maxChar); //$NON-NLS-1$
    }
    return s;
}

From source file:hoot.services.controllers.wps.MarkItemsReviewedProcesslet.java

@Override
public void process(ProcessletInputs inputParams, ProcessletOutputs outputParams,
        ProcessletExecutionInfo processletExecInfo) throws ProcessletException {
    final String errorMessageStart = "marking items as reviewed";
    Connection conn = DbUtils.createConnection();
    MarkItemsReviewedResponse markItemsReviewedResponse = null;
    try {//from   w ww.ja  v a2 s .c o m
        //Any changes to these default parameters must also be reflected in 
        //$HOOT_HOME/hoot-services/src/main/webapp/WEB-INF/workspace/MarkItemsReviewedProcesslet.xml
        //and vice versa.
        ReviewInputParamsValidator inputParamsValidator = new ReviewInputParamsValidator(inputParams);
        final String mapId = (String) inputParamsValidator.validateAndParseInputParam("mapId", "", null, null,
                false, null);
        final boolean markAll = (Boolean) inputParamsValidator.validateAndParseInputParam("markAll", false,
                null, null, true, false);
        final String reviewedItemsStr = (String) inputParamsValidator
                .validateAndParseInputParam("reviewedItems", "", null, null, true, null);
        ReviewedItems reviewedItems = null;
        if (reviewedItemsStr != null) {
            reviewedItems = (new ObjectMapper()).readValue(reviewedItemsStr, ReviewedItems.class);
        }
        if (!markAll && (reviewedItems == null || reviewedItems.getReviewedItems() == null
                || reviewedItems.getReviewedItems().length == 0)) {
            throw new Exception("Invalid input parameter: markAll set to false and "
                    + "markItemsReviewedRequest.reviewedItems empty.");
        }
        final String reviewedItemsChangesetStr = (String) inputParamsValidator
                .validateAndParseInputParam("reviewedItemsChangeset", "", null, null, true, "");
        MarkItemsReviewedRequest markItemsReviewedRequest = new MarkItemsReviewedRequest();
        markItemsReviewedRequest.setReviewedItems(reviewedItems);
        markItemsReviewedRequest.setReviewedItemsChangeset(reviewedItemsChangesetStr);

        log.debug("Initializing transaction manager...");
        PlatformTransactionManager transactionManager = appContext.getBean("transactionManager",
                PlatformTransactionManager.class);

        log.debug("Initializing database connection...");

        //TODO: verify that no other writes are seen during this transaction

        log.debug("Intializing transaction...");
        TransactionStatus transactionStatus = transactionManager
                .getTransaction(new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED));
        conn.setAutoCommit(false);

        try {
            markItemsReviewedResponse = (new ReviewItemsMarker(conn, mapId))
                    .markItemsReviewed(markItemsReviewedRequest, markAll);
        } catch (Exception e) {
            log.debug("Rolling back database transaction for MarkItemsReviewedProcesslet...");
            transactionManager.rollback(transactionStatus);
            conn.rollback();
            throw e;
        }

        log.debug("Committing MarkItemsReviewedProcesslet database transaction...");
        transactionManager.commit(transactionStatus);
        conn.commit();

        if (StringUtils.trimToNull(markItemsReviewedResponse.getChangesetUploadResponse()) != null) {
            log.debug("Returning changeset upload response: "
                    + StringUtils.abbreviate(markItemsReviewedResponse.getChangesetUploadResponse(), 100)
                    + " ...");
        } else {
            log.debug("Returning null changeset upload response...");
        }
        ((LiteralOutput) outputParams.getParameter("changesetUploadResponse"))
                .setValue(markItemsReviewedResponse.getChangesetUploadResponse());
        log.debug("Returning number of items marked as reviewed: "
                + markItemsReviewedResponse.getNumItemsMarkedReviewed() + " ...");
        ((LiteralOutput) outputParams.getParameter("numItemsMarkedReviewed"))
                .setValue(String.valueOf(markItemsReviewedResponse.getNumItemsMarkedReviewed()));
        log.debug("Returning changeset ID: " + markItemsReviewedResponse.getChangesetId() + " ...");
        ((LiteralOutput) outputParams.getParameter("changesetId"))
                .setValue(String.valueOf(markItemsReviewedResponse.getChangesetId()));
    } catch (Exception e) {
        try {
            ReviewUtils.handleError(e, errorMessageStart, true);
        } catch (Exception e2) {
            throw (ProcessletException) e2;
        }
    } finally {
        try {
            conn.setAutoCommit(true);
            DbUtils.closeConnection(conn);
        } catch (Exception e) {
            try {
                ReviewUtils.handleError(e, errorMessageStart, true);
            } catch (Exception e2) {
                throw (ProcessletException) e2;
            }
        }
    }
}