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:org.polymap.p4.style.FeatureStyleDescriptionProvider.java
@Override public void update(ViewerCell cell) { Style elm = (Style) cell.getElement(); // default//from ww w .j ava 2 s. co m String description = ((Style) elm).description.get(); description = StringUtils.abbreviate(description, 55); description = StringUtils.replaceChars(description, '\n', ' '); description = sanitize(description); // description = tk.markdown( description, cell.getItem() ); cell.setText(description != null ? description : "[No description yet]"); // // Style images // if (elm instanceof StyleGroup) { // cell.setText( description != null ? description : "[No Description yet]" ); // } // else if (elm instanceof PolygonStyle) { // cell.setText( description != null ? description : "Polygon" ); // } // else if (elm instanceof PointStyle) { // cell.setText( description != null ? description : "Point/Mark" ); // } //// else if (cell.getElement() instanceof LineStyle) { //// cell.setImage( P4Plugin.images().svgImage( "vector-line.svg", P4Plugin.TOOLBAR_ICON_CONFIG ) ); //// } }
From source file:org.polymap.rhei.batik.toolkit.BatikDialogStatusAdapter.java
@Override public void handle(IStatus status, Style... styles) { UIThreadExecutor.asyncFast(() -> { SimpleDialog dialog = new SimpleDialog(); // title/*from w ww. j av a2s . c o m*/ switch (status.getSeverity()) { case IStatus.WARNING: dialog.title.put("Warning"); break; case IStatus.ERROR: dialog.title.put("Application Error"); break; case IStatus.INFO: dialog.title.put("Information"); break; } // contents dialog.setContents(parent -> { parent.setLayout(FormLayoutFactory.defaults().spacing(0).create()); Label msg = on(tk.createFlowText(parent, status.getMessage())).fill().noBottom().width(350) .control(); if (status.getException() != null) { Throwable exc = status.getException(); Throwable root = Throwables.getRootCause(exc); String reason = StringUtils.abbreviate(root.getMessage(), 40); on(tk.createFlowText(parent, "**Reason**: " + reason)).fill().top(msg); } }); dialog.addOkAction(() -> dialog.close()); dialog.open(); }); }
From source file:org.polymap.wbv.ui.FlurstueckTableViewer.java
public FlurstueckTableViewer(PanelSite panelSite, Composite parent) { super(parent, /* SWT.VIRTUAL | SWT.V_SCROLL | SWT.FULL_SELECTION |*/ SWT.BORDER); this.panelSite = panelSite; IAppContext context = BatikApplication.instance().getContext(); context.propagate(this); suppressSelection();/*from w ww . j a v a 2s. c o m*/ context.addListener(panelChangeListener, ev -> ev.getType().isOnOf(EventType.LIFECYCLE)); // listen to column/field changes EventManager.instance().subscribe(this, ev -> ev instanceof PropertyChangeEvent && displayed.values().contains(ev.getSource())); try { // suppress deferred loading to fix "empty table" issue // setContent( fs.getFeatures( this.baseFilter ) ); setContentProvider(new CompositesFeatureContentProvider()); // Action: delete addColumn(new FormFeatureTableColumn(descriptorFor("", String.class)).setWeight(1, 25) .setLabelProvider(new ColumnLabelProvider() { @Override public Image getImage(Object elm) { return WbvPlugin.images().svgImage("delete.svg", SvgImageRegistryHelper.NORMAL12); } @Override public String getText(Object elm) { return null; } @Override public String getToolTipText(Object elm) { return "Flurstck lschen"; } }).setEditing(new ActionCellEditor(elm -> { assert wb.isPresent(); Flurstueck fst = FeatureTableElement.entity(elm); fst.geloescht.set(true); refresh(); flurstueckDeleted = true; fieldChange(null); // waldbesitzer lschen, wenn (wirklich) kein flurstck mehr da if (wb.get().flurstuecke(null).isEmpty()) { uow.get().removeEntity(wb.get()); panelSite.toolkit().createSnackbar(Appearance.FadeIn, "Waldbesitzer wird beim Speichern <b>gelscht</b>!"); } }))); // Action: transfer addColumn(new FormFeatureTableColumn(descriptorFor("", String.class)).setWeight(1, 30) .setLabelProvider(new ColumnLabelProvider() { @Override public Image getImage(Object elm) { return WbvPlugin.images().svgImage("transfer.svg", SvgImageRegistryHelper.NORMAL12); } @Override public String getText(Object elm) { return null; } @Override public String getToolTipText(Object elm) { return "Eigentumsbergang: an einem anderen Waldbesitzer bertragen"; } }).setEditing(new ActionCellEditor(elm -> { Flurstueck fst = FeatureTableElement.entity(elm); selected.set(fst); BatikApplication.instance().getContext().openPanel(panelSite.path(), EigentumsuebergangPanel.ID); }))); // Gemarkung String propName = Flurstueck.TYPE.gemarkung.info().getName(); addColumn(new FormFeatureTableColumn(descriptorFor(propName, Gemarkung.class)).setWeight(6, 80) .setLabelsAndValidation(new DefaultTableValidator<Object, Gemarkung>() { @Override public Object transform2Field(Gemarkung gmk, ValidatorSite site) throws Exception { if (site.isEditing()) { return gmk; } else { //Flurstueck flst = FeatureTableElement.entity( site.element() ); String result = gmk != null ? gmk.label() : "-keine Gemarkung-"; //"WVK: " + flst.wvkGemarkung.get() + "/" + flst.wvkGemeinde.get(); return StringUtils.abbreviate(result, 30); } } @Override public Gemarkung transform2Model(Object fieldValue, ValidatorSite site) throws Exception { return fieldValue != null ? uow.get().entity((Gemarkung) fieldValue) : null; } }).setEditing(new PicklistFormField(Gemarkung.all.get())) .setSortable(new Comparator<IFeatureTableElement>() { public int compare(IFeatureTableElement e1, IFeatureTableElement e2) { return label(e1).compareTo(label(e2)); } protected String label(IFeatureTableElement elm) { Gemarkung gmk = (Gemarkung) elm.getValue(propName); return gmk != null ? gmk.label() : ""; } })).sort(SWT.DOWN); // Flurstcksnummer addColumn(new FormFeatureTableColumn(descriptorFor(Flurstueck.TYPE.zaehlerNenner)).setWeight(3, 50) .setHeader("Nr.") .setLabelsAndValidation(AND(new NotEmptyValidator().forTable(), new AenderungValidator(), new NummerValidator(), new FlurstueckExistsValidator())) .setEditing(new StringFormField())); // Flche NumberValidator flaecheValidator = new NumberValidator(Double.class, Locale.GERMANY, 10, 4, 1, 4); addColumn(new FormFeatureTableColumn(descriptorFor(Flurstueck.TYPE.flaeche)).setWeight(3, 50) .setHeader("Flche\n(in ha)") .setLabelsAndValidation(AND(flaecheValidator.forTable(), new AenderungValidator())) .setEditing(new StringFormField()).setSortable(true)); // davon Wald addColumn(new FormFeatureTableColumn(descriptorFor(Flurstueck.TYPE.flaecheWald)).setWeight(3, 50) .setHeader("Wald\n(in ha)") .setLabelsAndValidation( AND(new WaldflaecheValidator(flaecheValidator), new AenderungValidator())) .setEditing(new StringFormField()).setSortable(true)); // nderungsdatum addColumn(new FormFeatureTableColumn(descriptorFor(Flurstueck.TYPE.aenderung)).setWeight(4, 80) .setHeader("nderung").setLabelsAndValidation(new DateValidator().forTable())); // Bemerkung FormFeatureTableColumn bcolumn = new FormFeatureTableColumn(descriptorFor(Flurstueck.TYPE.bemerkung)); bcolumn.setWeight(11, 120); bcolumn.setLabelsAndValidation(new AenderungValidator()); bcolumn.setEditing(new CellEditor() { private String value; private Text txt; @Override protected Control createControl(Composite _parent) { return null; } @Override protected void doSetFocus() { } @Override protected Object doGetValue() { return value; } @Override protected void doSetValue(Object newValue) { this.value = (String) newValue; } @Override public void activate() { Shell appShell = BatikApplication.shellToParentOn(); new SimpleDialog().centerOn.put(appShell).title.put("Bemerkung").setContents(dialogParent -> { dialogParent.setLayout(FormLayoutFactory.defaults().create()); txt = on(new Text(dialogParent, SWT.MULTI | SWT.WRAP | SWT.BORDER)).fill().width(350) .height(150).control(); txt.setText(value != null ? value : ""); txt.setFocus(); }).addOkAction("BERNEHMEN", () -> { value = txt.getText(); fireApplyEditorValue(); EventManager.instance().publish(new PropertyChangeEvent(bcolumn, "bemerkung", value, null)); return null; }).addCancelAction("ABBRECHEN").open(); } }); addColumn(bcolumn); setInput(wb.get().flurstuecke(revier.get())); // /* Register for property change events */ // EventManager.instance().subscribe( this, new EventFilter<PropertyChangeEvent>() { // public boolean apply( PropertyChangeEvent input ) { // return input.getSource() instanceof Flurstueck; // } // }); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:org.polymap.wbv.ui.WaldbesitzerPanel.java
@Override public void createContents(Composite parent) { while (wb == null) { try {/*from w ww . jav a 2 s . c o m*/ Thread.sleep(100); } catch (InterruptedException e) { } } try { String title = StringUtils.abbreviate(wb.besitzer().anzeigename(), 20); site().title.set(title.length() > 1 ? title : "Neu"); } catch (Exception e) { site().title.set("Kein Besitzer"); } // submit FAB submitBtn = tk().createFab(null, BatikPlugin.images().svgImage("check.svg", WHITE24), SWT.TOP | SWT.RIGHT); submitBtn.setToolTipText("nderungen in die Datenbank bernehmen"); submitBtn.setVisible(false); submitBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent ev) { submit(); } }); statusAdapter = new MultiStatusManager() { private IStatus previousStatus; @Override protected void doUpdateUI(IStatus highestSeverity) { if (!highestSeverity.isOK() && (previousStatus == null || previousStatus.isOK())) { log.info("severity: " + highestSeverity); tk().createSnackbar(Appearance.FadeIn, highestSeverity.getMessage()); } submitBtn.setVisible(highestSeverity.isOK() && highestSeverity != Status.OK_STATUS); submitBtn.setEnabled(highestSeverity.isOK() && highestSeverity != Status.OK_STATUS); previousStatus = highestSeverity; } }; // Basisdaten IPanelSection basis = tk().createPanelSection(parent, "Basisdaten", IPanelSection.EXPANDABLE, SWT.BORDER); basis.addConstraint(WbvPlugin.MIN_COLUMN_WIDTH, new PriorityConstraint(100)); wbFormContainer = new BatikFormContainer(new WaldbesitzerForm()); wbFormContainer.createContents(basis); wbFormContainer.addFieldListener(wbFormListener = new EnableSubmitFormFieldListener(wbFormContainer)); // Kontakte final IPanelSection besitzer = tk().createPanelSection(parent, "Besitzer/Kontakte", SWT.NONE); besitzer.addConstraint(WbvPlugin.MIN_COLUMN_WIDTH, new PriorityConstraint(1)); //new NeighborhoodConstraint( basis.getControl(), Neighborhood.BOTTOM, 1 ) ); besitzer.getBody().setLayout(ColumnLayoutFactory.defaults().spacing(10).columns(1, 1).create()); int index = 0; for (final Kontakt kontakt : wb.kontakte()) { createKontaktSection(besitzer.getBody(), kontakt, index++ > 0); } // Ereignisse final IPanelSection ereignisse = tk().createPanelSection(parent, "Ereignisse", SWT.NONE); ereignisse.addConstraint(WbvPlugin.MIN_COLUMN_WIDTH, new PriorityConstraint(-10)); ereignisse.getBody().setLayout(FormLayoutFactory.defaults().spacing(3).create()); final Composite liste = tk().createComposite(ereignisse.getBody()); liste.setLayoutData(FormDataFactory.filled().right(100, -30).clearBottom().create()); liste.setLayout(ColumnLayoutFactory.defaults().spacing(0).columns(1, 1).create()); // addBtn Button addBtn = tk().createButton(ereignisse.getBody(), "+", SWT.PUSH); addBtn.setToolTipText("Ein Ereignis hinzufgen"); addBtn.setLayoutData(FormDataFactory.defaults().left(100, -30).right(100).top(0).create()); addBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent ev) { Ereignis neu = wb.ereignisse.createElement(new ValueInitializer<Ereignis>() { @Override public Ereignis initialize(Ereignis proto) throws Exception { //proto.titel.set( "Neu" ); proto.angelegt.set(new Date()); proto.angelegtVon.set(SecurityContext.instance().getUser().getName()); proto.geaendert.set(new Date()); proto.geaendertVon.set(SecurityContext.instance().getUser().getName()); return proto; } }); Control child = liste.getChildren()[0]; if (child instanceof Label) { child.dispose(); } Section newSection = createEreignisSection(liste, neu); newSection.setExpanded(true); getSite().layout(true); liste.layout(new Control[] { newSection }, SWT.ALL | SWT.CHANGED); statusAdapter.updateStatusOf(liste, new Status(IStatus.OK, WbvPlugin.ID, "Ein Ereignis hinzugefgt")); } }); // if (wb.ereignisse.isEmpty()) { tk().createLabel(liste, "Noch keine Ereignisse."); } else { List<Ereignis> reversed = new ArrayList(wb.ereignisse); Collections.reverse(reversed); for (final Ereignis ereignis : reversed) { createEreignisSection(liste, ereignis).setExpanded(false); } } // Flurstcke final IPanelSection flurstuecke = tk().createPanelSection(parent, "Flurstcke" + (revier.isPresent() ? ", Revier " + revier.get().name : "")); flurstuecke.addConstraint(WbvPlugin.MIN_COLUMN_WIDTH, new PriorityConstraint(0)); createFlurstueckSection(flurstuecke.getBody()); }
From source file:org.sakaiproject.sitestats.tool.transformers.LessonsResolvedRefTransformer.java
/** * Transforms LessonsData for presentation to the user * @param resolved the data// www . ja v a 2 s.c o m * @param rl resource loader for i18n * @return EventDetails for presentation */ public static List<EventDetail> transform(LessonsData resolved, ResourceLoader rl) { List<EventDetail> eventDetails = new ArrayList<>(3); if (resolved instanceof TextItemData) { TextItemData text = (TextItemData) resolved; addEventDetailsText(eventDetails, rl.getString("de_lessons_item_text"), trunc(text.html)); addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), getPageDisplay(text.parentPage, rl)); } else if (resolved instanceof EmbeddedItemData) { EmbeddedItemData embed = (EmbeddedItemData) resolved; addEventDetailsText(eventDetails, rl.getString("de_lessons_item"), rl.getString("de_lessons_embed")); if (!embed.desc.isEmpty()) { addEventDetailsText(eventDetails, rl.getString("de_lessons_desc"), trunc(embed.desc)); } addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), getPageDisplay(embed.parentPage, rl)); } else if (resolved instanceof ContentLinkItemData) { ContentLinkItemData link = (ContentLinkItemData) resolved; addEventDetailsText(eventDetails, rl.getString("de_lessons_link"), link.name); addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), getPageDisplay(link.parentPage, rl)); } else if (resolved instanceof GenericItemData) { GenericItemData item = (GenericItemData) resolved; addEventDetailsText(eventDetails, rl.getString("de_lessons_item"), item.title); addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), getPageDisplay(item.parentPage, rl)); } else if (resolved instanceof GenericItemData.DeletedItem) { // we don't know if this was actually a top-level PAGE item or a regular item addEventDetailsText(eventDetails, rl.getString("de_lessons_item"), rl.getString("de_lessons_deleted")); } else if (resolved instanceof PageData) { PageData page = (PageData) resolved; EventDetail pageRef = EventDetail.newText(rl.getString("de_lessons_page"), page.title); eventDetails.add(pageRef); if (page.pageHierarchy.size() > 1) { eventDetails .add(EventDetail.newText(rl.getString("de_lessons_hierarchy"), getPageDisplay(page, rl))); } } else if (resolved instanceof PageData.DeletedPage) { addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), rl.getString("de_lessons_deleted_page")); } else if (resolved instanceof CommentData) { CommentData comment = (CommentData) resolved; UserTimeService timeServ = Locator.getFacade().getUserTimeService(); String commentTrunc = StringUtils.trimToEmpty(StringUtils.abbreviate(comment.comment, TRUNCATE_LENGTH)); if (commentTrunc.isEmpty()) { commentTrunc = rl.getString("de_lessons_comment_deleted"); } String timePosted = timeServ.shortLocalizedTimestamp(comment.timePosted, rl.getLocale()); String author = formatAuthor(comment.author); String message = rl.getFormattedMessage("de_lessons_comment_template", commentTrunc, author, timePosted); addEventDetailsText(eventDetails, rl.getString("de_lessons_comment"), message); addEventDetailsText(eventDetails, rl.getString("de_lessons_page"), getPageDisplay(comment.parent, rl)); } else if (resolved instanceof CommentsSectionItemData) { eventDetails .add(EventDetail.newText(rl.getString("de_lessons_item"), rl.getString("de_lessons_comments"))); CommentsSectionItemData comments = (CommentsSectionItemData) resolved; eventDetails .add(EventDetail.newText(rl.getString("de_lessons_page"), getPageDisplay(comments.parent, rl))); } else if (resolved instanceof CommentsSectionItemData.ForcedComments) { eventDetails .add(EventDetail.newText(rl.getString("de_lessons_item"), rl.getString("de_lessons_comments"))); String note = rl.getString("de_lessons_comments_placeholder"); EventDetail ref = EventDetail.newText(rl.getString("de_lessons_note"), note); eventDetails.add(ref); } return eventDetails; }
From source file:org.sakaiproject.sitestats.tool.transformers.LessonsResolvedRefTransformer.java
private static String trunc(String text) { return StringUtils.abbreviate(text, TRUNCATE_LENGTH); }
From source file:org.sleuthkit.autopsy.corecomponents.ThumbnailViewNode.java
@Override public String getDisplayName() { return StringUtils.abbreviate(super.getDisplayName(), 18); }
From source file:org.squashtest.tm.service.internal.batchimport.EntityValidator.java
/** * Check path to ensure that all element in path are not too long. Truncate if needed... * @param target/* ww w. j a va2 s. co m*/ * @param logs */ private void checkVersionPath(RequirementVersionTarget target, LogTrain logs) { if (!target.isWellFormed()) { return; } boolean hasTruncate = false; String path = target.getRequirement().getPath(); String[] names = PathUtils.splitPath(path); for (int i = 1; i < names.length; i++) {//begin to 1 as first split is project name String name = names[i]; if (name.length() > LibraryNode.MAX_NAME_SIZE) { names[i] = StringUtils.abbreviate(name, LibraryNode.MAX_NAME_SIZE); hasTruncate = true; } } if (hasTruncate) { logs.addEntry(LogEntry.warning().forTarget(target).withMessage(Messages.ERROR_MAX_SIZE, REQ_PATH.header) .build()); rebuildPathAfterTrucate(target, names); } }
From source file:org.squashtest.tm.service.internal.batchimport.EntityValidator.java
private void checkVersionName(RequirementVersionTarget target, RequirementVersion reqVersion, LogTrain logs) { String name = reqVersion.getName(); if (name != null && name.length() > LibraryNode.MAX_NAME_SIZE) { reqVersion.setName(StringUtils.abbreviate(name, LibraryNode.MAX_NAME_SIZE)); logs.addEntry(LogEntry.warning().forTarget(target) .withMessage(Messages.ERROR_MAX_SIZE, REQ_VERSION_NAME.header) .withImpact(Messages.IMPACT_MAX_SIZE).build()); }/*www. j ava2s . c o m*/ }
From source file:org.thiesen.jiffs.jobs.language.LanguageIdentifyJob.java
@Override public void execute() { final Iterable<StoryDBO> stories = _storyDAO.findWithoutLanguage(); GoogleAPI.setHttpReferrer("http://www.thiesen.org/"); for (final StoryDBO story : stories) { try {//w ww . ja v a2 s.c o m DetectResult result = Detect.execute(StringUtils.abbreviate(story.getFullText(), 1000)); final Language language = result.getLanguage(); if (language != null) { story.setLanguage(language); } _storyDAO.update(story); Thread.sleep(100); // Google hat ein rate limit, daher muss man etwas langsamer sein } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }