List of usage examples for org.apache.commons.lang3 StringUtils abbreviate
public static String abbreviate(final String str, final int maxWidth)
Abbreviates a String using ellipses.
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; } } } }