List of usage examples for com.google.gwt.safehtml.shared SafeHtmlUtils fromSafeConstant
public static SafeHtml fromSafeConstant(String s)
From source file:org.roda.wui.client.browse.DescriptiveMetadataHistory.java
private void getDescriptiveMetadata(final String aipId, final String representationId, final String descId, final String versionKey, final boolean inHTML, final AsyncCallback<SafeHtml> callback) { SafeUri uri;/* w ww . j av a 2 s.com*/ if (inHTML) { if (representationId != null) { uri = RestUtils.createRepresentationDescriptiveMetadataHTMLUri(aipId, representationId, descId, versionKey); } else { uri = RestUtils.createDescriptiveMetadataHTMLUri(aipId, descId, versionKey); } } else { if (representationId != null) { uri = RestUtils.createRepresentationDescriptiveMetadataDownloadUri(aipId, representationId, descId, versionKey); } else { uri = RestUtils.createDescriptiveMetadataDownloadUri(aipId, descId, versionKey); } } RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, uri.asString()); requestBuilder.setHeader("Authorization", "Custom"); try { requestBuilder.sendRequest(null, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { String text = response.getText(); SafeHtmlBuilder b = new SafeHtmlBuilder(); if (inHTML) { b.append(SafeHtmlUtils.fromTrustedString(text)); } else { b.append(SafeHtmlUtils.fromString(text)); } SafeHtml safeHtml = b.toSafeHtml(); callback.onSuccess(safeHtml); } else { String text = response.getText(); String message; try { RestErrorOverlayType error = (RestErrorOverlayType) JsonUtils.safeEval(text); message = error.getMessage(); } catch (IllegalArgumentException e) { message = text; } SafeHtmlBuilder b = new SafeHtmlBuilder(); // error message b.append(SafeHtmlUtils.fromSafeConstant("<div class='error'>")); b.append(messages.descriptiveMetadataTransformToHTMLError()); b.append(SafeHtmlUtils.fromSafeConstant("<pre><code>")); b.append(SafeHtmlUtils.fromString(message)); b.append(SafeHtmlUtils.fromSafeConstant("</core></pre>")); b.append(SafeHtmlUtils.fromSafeConstant("</div>")); callback.onSuccess(b.toSafeHtml()); } } @Override public void onError(Request request, Throwable exception) { callback.onFailure(exception); } }); } catch ( RequestException e) { callback.onFailure(e); } }
From source file:org.roda.wui.client.browse.ShowPreservationEvent.java
private void getEventDetailsHTML(final AsyncCallback<SafeHtml> callback) { IndexedPreservationEvent event = bundle.getEvent(); SafeUri uri = RestUtils.createPreservationEventDetailsHTMLUri(eventId, event.getAipID(), event.getRepresentationUUID(), event.getFileUUID()); RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, uri.asString()); requestBuilder.setHeader("Authorization", "Custom"); try {/*from www . j a v a2 s . c o m*/ requestBuilder.sendRequest(null, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { String html = response.getText(); SafeHtmlBuilder b = new SafeHtmlBuilder(); b.append(SafeHtmlUtils.fromSafeConstant("<div class='eventHTML'>")); b.append(SafeHtmlUtils.fromTrustedString(html)); b.append(SafeHtmlUtils.fromSafeConstant("</div>")); SafeHtml safeHtml = b.toSafeHtml(); callback.onSuccess(safeHtml); } else { String text = response.getText(); String message; try { RestErrorOverlayType error = (RestErrorOverlayType) JsonUtils.safeEval(text); message = error.getMessage(); } catch (IllegalArgumentException e) { message = text; } SafeHtmlBuilder b = new SafeHtmlBuilder(); // error message b.append(SafeHtmlUtils.fromSafeConstant("<div class='error'>")); b.append(messages.preservationEventDetailsTransformToHTMLError()); b.append(SafeHtmlUtils.fromSafeConstant("<pre><code>")); b.append(SafeHtmlUtils.fromString(message)); b.append(SafeHtmlUtils.fromSafeConstant("</core></pre>")); b.append(SafeHtmlUtils.fromSafeConstant("</div>")); callback.onSuccess(b.toSafeHtml()); } } @Override public void onError(Request request, Throwable exception) { callback.onFailure(exception); } }); } catch (RequestException e) { callback.onFailure(e); } }
From source file:org.roda.wui.client.common.lists.AIPList.java
@Override protected void configureDisplay(CellTable<IndexedAIP> display) { levelColumn = new Column<IndexedAIP, SafeHtml>(new SafeHtmlCell()) { @Override/*from ww w. j a v a2s .c om*/ public SafeHtml getValue(IndexedAIP aip) { SafeHtml ret; if (aip == null) { logger.error("Trying to display a NULL item"); ret = null; } else { ret = DescriptionLevelUtils.getElementLevelIconSafeHtml(aip.getLevel(), true); } return ret; } }; titleColumn = new TextColumn<IndexedAIP>() { @Override public String getValue(IndexedAIP aip) { return aip != null ? aip.getTitle() : null; } }; datesColumn = new TextColumn<IndexedAIP>() { @Override public String getValue(IndexedAIP aip) { return Humanize.getDatesText(aip.getDateInitial(), aip.getDateFinal(), false); } }; hasRepresentationsColumn = new Column<IndexedAIP, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(IndexedAIP aip) { SafeHtml ret; if (aip == null) { logger.error("Trying to display a NULL item"); ret = null; } else if (aip.getHasRepresentations()) { // TODO set title and aria ret = HAS_REPRESENTATIONS_ICON; } else { ret = null; } return ret; } }; levelColumn.setSortable(true); titleColumn.setSortable(true); datesColumn.setSortable(true); hasRepresentationsColumn.setSortable(true); display.addColumn(levelColumn, SafeHtmlUtils.fromSafeConstant("<i class='fa fa-tag'></i> " + messages.aipLevel())); display.addColumn(titleColumn, messages.aipGenericTitle()); display.addColumn(datesColumn, messages.aipDates()); display.addColumn(hasRepresentationsColumn, HAS_REPRESENTATIONS_ICON); Label emptyInfo = new Label(messages.noItemsToDisplay()); display.setEmptyTableWidget(emptyInfo); // define default sorting display.getColumnSortList().push(new ColumnSortInfo(datesColumn, true)); display.setColumnWidth(levelColumn, 7.0, Unit.EM); display.setColumnWidth(datesColumn, 13.0, Unit.EM); display.setColumnWidth(hasRepresentationsColumn, 3.0, Unit.EM); levelColumn.setCellStyleNames("nowrap"); datesColumn.setCellStyleNames("nowrap"); addStyleName("my-collections-table"); emptyInfo.addStyleName("my-collections-empty-info"); }
From source file:org.roda.wui.client.common.lists.DIPFileList.java
@Override protected void configureDisplay(CellTable<DIPFile> display) { iconColumn = new Column<DIPFile, SafeHtml>(new SafeHtmlCell()) { @Override/*www. ja v a 2s. c o m*/ public SafeHtml getValue(DIPFile file) { if (file != null) { if (file.isDirectory()) { return SafeHtmlUtils.fromSafeConstant("<i class='fa fa-folder-o'></i>"); } else { return SafeHtmlUtils.fromSafeConstant("<i class='fa fa-file-o'></i>"); } } else { logger.error("Trying to display a NULL item"); } return null; } }; idColumn = new TextColumn<DIPFile>() { @Override public String getValue(DIPFile file) { return file != null ? file.getId() : null; } }; iconColumn.setSortable(true); idColumn.setSortable(true); addColumn(iconColumn, SafeHtmlUtils.fromSafeConstant("<i class='fa fa-files-o'></i>"), false, false, 2); display.addColumn(idColumn, messages.fileName()); Label emptyInfo = new Label(messages.noItemsToDisplay()); display.setEmptyTableWidget(emptyInfo); // define default sorting display.getColumnSortList().push(new ColumnSortInfo(idColumn, true)); display.setColumnWidth(iconColumn, 2.5, Unit.EM); addStyleName("my-collections-table"); emptyInfo.addStyleName("my-collections-empty-info"); }
From source file:org.roda.wui.client.common.lists.IngestJobReportList.java
@Override protected void configureDisplay(CellTable<IndexedReport> display) { sourceObjectColumn = new TooltipTextColumn<IndexedReport>() { @Override// w ww .j a v a 2s. c om public String getValue(IndexedReport report) { String value = ""; if (report != null) { if (report.getSourceObjectOriginalIds().isEmpty()) { value = report.getSourceObjectId(); } else { value = StringUtils.prettyPrint(report.getSourceObjectOriginalIds()); } value = report.getSourceObjectOriginalName() + " (" + value + ")"; } return value; } }; outcomeObjectColumn = new TooltipTextColumn<IndexedReport>() { @Override public String getValue(IndexedReport report) { String value = ""; if (report != null) { if (StringUtils.isNotBlank(report.getOutcomeObjectLabel())) { value = report.getOutcomeObjectLabel() + " (" + report.getOutcomeObjectId() + ")"; } else { value = report.getOutcomeObjectId(); } } return value; } }; updatedDateColumn = new Column<IndexedReport, Date>( new DateCell(DateTimeFormat.getFormat(RodaConstants.DEFAULT_DATETIME_FORMAT))) { @Override public Date getValue(IndexedReport job) { return job != null ? job.getDateUpdated() : null; } }; lastPluginRunColumn = new TextColumn<IndexedReport>() { @Override public String getValue(IndexedReport job) { String value = null; if (job != null && job.getPlugin() != null) { PluginInfo pluginInfo = pluginsInfo.get(job.getPlugin()); String pluginName; if (pluginInfo != null) { pluginName = pluginInfo.getName(); } else { pluginName = job.getPlugin(); } if (StringUtils.isNotBlank(job.getPluginVersion())) { value = messages.pluginLabelWithVersion(pluginName, job.getPluginVersion()); } else { value = messages.pluginLabel(pluginName); } } return value; } }; lastPluginRunStateColumn = new Column<IndexedReport, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(IndexedReport report) { SafeHtml ret = null; if (report != null) { switch (report.getPluginState()) { case SUCCESS: ret = SafeHtmlUtils.fromSafeConstant("<span class='label-success'>" + messages.pluginStateMessage(PluginState.SUCCESS) + "</span>"); break; case RUNNING: ret = SafeHtmlUtils.fromSafeConstant("<span class='label-default'>" + messages.pluginStateMessage(PluginState.RUNNING) + "</span>"); break; case FAILURE: default: ret = SafeHtmlUtils.fromSafeConstant("<span class='label-danger'>" + messages.pluginStateMessage(PluginState.FAILURE) + "</span>"); break; } } return ret; } }; completionStatusColumn = new TextColumn<IndexedReport>() { @Override public String getValue(IndexedReport report) { String value = ""; if (report != null) { value = report.getStepsCompleted() + " " + messages.of() + " " + report.getTotalSteps() + " (" + report.getCompletionPercentage() + "%)"; } return value; } }; sourceObjectColumn.setSortable(true); outcomeObjectColumn.setSortable(true); updatedDateColumn.setSortable(true); lastPluginRunColumn.setSortable(true); lastPluginRunStateColumn.setSortable(true); completionStatusColumn.setSortable(false); addColumn(sourceObjectColumn, messages.showSIPExtended(), true, false); addColumn(outcomeObjectColumn, messages.showAIPExtended(), true, false); addColumn(updatedDateColumn, messages.reportLastUpdatedAt(), true, false, 11); addColumn(lastPluginRunColumn, messages.reportLastRunTask(), true, false); addColumn(lastPluginRunStateColumn, messages.reportStatus(), true, false, 8); addColumn(completionStatusColumn, messages.reportProgress(), true, false, 8); Label emptyInfo = new Label(messages.noItemsToDisplay()); display.setEmptyTableWidget(emptyInfo); // default sorting display.getColumnSortList().push(new ColumnSortInfo(updatedDateColumn, false)); }
From source file:org.roda.wui.client.common.lists.JobList.java
@Override protected void configureDisplay(CellTable<Job> display) { nameColumn = new TooltipTextColumn<Job>() { @Override/*from w w w .j av a 2 s . c om*/ public String getValue(Job job) { return job != null ? job.getName() : null; } }; usernameColumn = new TextColumn<Job>() { @Override public String getValue(Job job) { return job != null ? job.getUsername() : null; } }; startDateColumn = new Column<Job, Date>( new DateCell(DateTimeFormat.getFormat(RodaConstants.DEFAULT_DATETIME_FORMAT))) { @Override public Date getValue(Job job) { return job != null ? job.getStartDate() : null; } }; durationColumn = new TextColumn<Job>() { @Override public String getValue(Job job) { if (job == null) { return null; } Date end = job.getEndDate() != null ? job.getEndDate() : getDate(); return Humanize.durationInDHMS(job.getStartDate(), end, DHMSFormat.SHORT); } }; statusColumn = new Column<Job, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(Job job) { return HtmlSnippetUtils.getJobStateHtml(job); } }; objectsTotalCountColumn = new TextColumn<Job>() { @Override public String getValue(Job job) { String ret = ""; if (job != null && job.getJobStats().getSourceObjectsCount() > 0) { ret = Integer.toString(job.getJobStats().getSourceObjectsCount()); } return ret; } }; objectsSuccessCountColumn = new Column<Job, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(Job job) { SafeHtmlBuilder b = new SafeHtmlBuilder(); if (job != null) { b.append(job.getJobStats().getSourceObjectsProcessedWithSuccess() > 0 ? SafeHtmlUtils.fromSafeConstant("<span>") : SafeHtmlUtils.fromSafeConstant("<span class='ingest-process-counter-0'>")); b.append(job.getJobStats().getSourceObjectsProcessedWithSuccess()); b.append(SafeHtmlUtils.fromSafeConstant("</span>")); } return b.toSafeHtml(); } }; objectsFailureCountColumn = new Column<Job, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(Job job) { SafeHtmlBuilder b = new SafeHtmlBuilder(); if (job != null) { b.append(SafeHtmlUtils.fromSafeConstant("<span")); if (job.getJobStats().getSourceObjectsProcessedWithFailure() > 0) { b.append(SafeHtmlUtils.fromSafeConstant(" class='ingest-process-failed-column'")); } else { b.append(SafeHtmlUtils.fromSafeConstant(" class='ingest-process-counter-0'")); } b.append(SafeHtmlUtils.fromSafeConstant(">")); b.append(job.getJobStats().getSourceObjectsProcessedWithFailure()); b.append(SafeHtmlUtils.fromSafeConstant("</span>")); } return b.toSafeHtml(); } }; progressColumn = new TextColumn<Job>() { @Override public String getValue(Job job) { return job != null ? job.getJobStats().getCompletionPercentage() + "%" : null; } }; nameColumn.setSortable(true); usernameColumn.setSortable(true); startDateColumn.setSortable(true); statusColumn.setSortable(true); objectsTotalCountColumn.setSortable(true); objectsSuccessCountColumn.setSortable(true); objectsFailureCountColumn.setSortable(true); progressColumn.setSortable(true); addColumn(nameColumn, messages.jobName(), true, false); addColumn(usernameColumn, messages.jobCreator(), true, false); addColumn(startDateColumn, messages.jobStartDate(), true, false, 11); addColumn(durationColumn, messages.jobDuration(), true, true, 6); addColumn(statusColumn, messages.jobStatus(), true, false, 7); addColumn(progressColumn, messages.jobProgress(), true, true, 5); addColumn(objectsTotalCountColumn, messages.jobTotalCountMessage(), true, true, 5); addColumn(objectsSuccessCountColumn, messages.jobSuccessCountMessage(), true, true, 6); addColumn(objectsFailureCountColumn, messages.jobFailureCountMessage(), true, true, 5); // default sorting display.getColumnSortList().push(new ColumnSortInfo(startDateColumn, false)); }
From source file:org.roda.wui.client.common.lists.LogEntryList.java
@Override protected void configureDisplay(CellTable<LogEntry> display) { dateColumn = new Column<LogEntry, Date>( new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM))) { @Override// ww w .jav a 2s . co m public Date getValue(LogEntry logEntry) { return logEntry != null ? logEntry.getDatetime() : null; } }; actionComponentColumn = new Column<LogEntry, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(LogEntry entry) { return SafeHtmlUtils.fromSafeConstant( translate(RodaConstants.LOG_ACTION_COMPONENT, entry.getActionComponent())); } }; actionMethodColumn = new TextColumn<LogEntry>() { @Override public String getValue(LogEntry logEntry) { if (logEntry == null) { return null; } return StringUtils.getPrettifiedActionMethod(logEntry.getActionMethod()); } }; usernameColumn = new TextColumn<LogEntry>() { @Override public String getValue(LogEntry logEntry) { return logEntry != null ? logEntry.getUsername() : null; } }; durationColumn = new TextColumn<LogEntry>() { @Override public String getValue(LogEntry logEntry) { return logEntry != null ? Humanize.durationMillisToShortDHMS(logEntry.getDuration()) : null; } }; addressColumn = new TextColumn<LogEntry>() { @Override public String getValue(LogEntry logEntry) { return logEntry != null ? logEntry.getAddress() : null; } }; stateColumn = new Column<LogEntry, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(LogEntry logEntry) { return HtmlSnippetUtils.getLogEntryStateHtml(logEntry.getState()); } }; dateColumn.setSortable(true); actionComponentColumn.setSortable(true); actionMethodColumn.setSortable(true); usernameColumn.setSortable(true); durationColumn.setSortable(true); addressColumn.setSortable(true); stateColumn.setSortable(true); addColumn(dateColumn, messages.logEntryDatetimeExtended(), true, false, 14); addColumn(actionComponentColumn, messages.logEntryComponent(), true, false); addColumn(actionMethodColumn, messages.logEntryMethod(), true, false); addColumn(usernameColumn, messages.logEntryUser(), true, false); addColumn(durationColumn, messages.logEntryDuration(), true, true, 5); addColumn(addressColumn, messages.logEntryAddress(), true, false); addColumn(stateColumn, messages.logEntryState(), true, false); // default sorting display.getColumnSortList().push(new ColumnSortInfo(dateColumn, false)); addStyleName("my-collections-table"); }
From source file:org.roda.wui.client.common.lists.NotificationList.java
@Override protected void configureDisplay(CellTable<Notification> display) { fromUser = new TextColumn<Notification>() { @Override/* w w w . ja v a2 s. c o m*/ public String getValue(Notification notification) { return notification != null ? notification.getFromUser() : null; } }; recipientUsers = new TextColumn<Notification>() { @Override public String getValue(Notification notification) { return notification != null ? StringUtils.prettyPrint(notification.getRecipientUsers()) : null; } }; sentOn = new Column<Notification, Date>( new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM))) { @Override public Date getValue(Notification notification) { return notification != null ? notification.getSentOn() : null; } }; subject = new TextColumn<Notification>() { @Override public String getValue(Notification notification) { return notification != null ? notification.getSubject() : null; } }; acknowledged = new Column<Notification, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(Notification notification) { SafeHtml ret = null; if (notification != null) { if (notification.isAcknowledged()) { ret = SafeHtmlUtils.fromSafeConstant( "<span class='label-success'>" + messages.showMessageAcknowledged() + "</span>"); } else { ret = SafeHtmlUtils.fromSafeConstant( "<span class='label-danger'>" + messages.showMessageNotAcknowledged() + "</span>"); } } return ret; } }; state = new Column<Notification, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(Notification notification) { SafeHtml ret = null; if (notification != null) { ret = HtmlSnippetUtils.getNotificationStateHTML(notification.getState()); } return ret; } }; fromUser.setSortable(true); sentOn.setSortable(true); subject.setSortable(true); acknowledged.setSortable(true); state.setSortable(true); addColumn(fromUser, messages.notificationFrom(), true, false); addColumn(recipientUsers, messages.notificationTo(), true, false); addColumn(sentOn, messages.notificationSentOn(), true, false, 13); addColumn(subject, messages.notificationSubject(), true, false); addColumn(state, messages.notificationState(), true, false, 7); addColumn(acknowledged, messages.notificationAck(), true, false, 7); // default sorting display.getColumnSortList().push(new ColumnSortInfo(sentOn, false)); addStyleName("my-collections-table"); }
From source file:org.roda.wui.client.common.lists.PreservationEventList.java
@Override protected void configureDisplay(CellTable<IndexedPreservationEvent> display) { eventDateTimeColumn = new Column<IndexedPreservationEvent, Date>( new DateCell(DateTimeFormat.getFormat(RodaConstants.DEFAULT_DATETIME_FORMAT))) { @Override/*from ww w. ja v a2 s. c om*/ public Date getValue(IndexedPreservationEvent event) { return event != null ? event.getEventDateTime() : null; } }; eventTypeColumn = new TextColumn<IndexedPreservationEvent>() { @Override public String getValue(IndexedPreservationEvent event) { return event != null ? event.getEventType() : null; } }; eventDetailColumn = new TextColumn<IndexedPreservationEvent>() { @Override public String getValue(IndexedPreservationEvent event) { return event != null ? event.getEventDetail() : null; } }; eventOutcomeColumn = new Column<IndexedPreservationEvent, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(IndexedPreservationEvent event) { SafeHtml ret = null; if (event != null) { PluginState outcome = PluginState.valueOf(event.getEventOutcome()); if (PluginState.SUCCESS.equals(outcome)) { ret = SafeHtmlUtils.fromSafeConstant( "<span class='label-success'>" + messages.pluginStateMessage(outcome) + "</span>"); } else if (PluginState.FAILURE.equals(outcome)) { ret = SafeHtmlUtils.fromSafeConstant( "<span class='label-danger'>" + messages.pluginStateMessage(outcome) + "</span>"); } else { ret = SafeHtmlUtils.fromSafeConstant( "<span class='label-warning'>" + messages.pluginStateMessage(outcome) + "</span>"); } } return ret; } }; eventDateTimeColumn.setSortable(true); eventTypeColumn.setSortable(true); eventDetailColumn.setSortable(true); eventOutcomeColumn.setSortable(true); addColumn(eventDateTimeColumn, messages.preservationEventListHeaderDate(), true, false, 11); addColumn(eventTypeColumn, messages.preservationEventListHeaderType(), false, false, 13); addColumn(eventDetailColumn, messages.preservationEventListHeaderDetail(), false, false); addColumn(eventOutcomeColumn, messages.preservationEventListHeaderOutcome(), true, false, 9); // default sorting display.getColumnSortList().push(new ColumnSortInfo(eventDateTimeColumn, false)); }
From source file:org.roda.wui.client.common.lists.RodaMemberList.java
@Override protected void configureDisplay(CellTable<RODAMember> display) { typeColumn = new Column<RODAMember, SafeHtml>(new SafeHtmlCell()) { @Override/*ww w.j a va2s . c o m*/ public SafeHtml getValue(RODAMember member) { return SafeHtmlUtils.fromSafeConstant(member != null ? (member.isUser() ? "<i class='fa fa-user'></i>" : "<i class='fa fa-users'></i>") : ""); } }; nameColumn = new TextColumn<RODAMember>() { @Override public String getValue(RODAMember member) { return member != null ? member.getName() : null; } }; fullNameColumn = new TextColumn<RODAMember>() { @Override public String getValue(RODAMember member) { return member != null ? member.getFullName() : null; } }; groupsColumn = new TextColumn<RODAMember>() { @Override public String getValue(RODAMember member) { if (member instanceof User) { User user = (User) member; return StringUtils.prettyPrint(user.getGroups()); } else { return null; } } }; activeColumn = new Column<RODAMember, SafeHtml>(new SafeHtmlCell()) { @Override public SafeHtml getValue(RODAMember member) { return SafeHtmlUtils.fromSafeConstant(member != null ? (member.isActive() ? "<i class='fa fa-check-circle'></i>" : "<i class='fa fa-ban'></i>") : ""); } }; typeColumn.setSortable(true); nameColumn.setSortable(true); fullNameColumn.setSortable(true); activeColumn.setSortable(true); addColumn(typeColumn, SafeHtmlUtils.fromSafeConstant("<i class='fa fa-user'></i>"), false, false, 3); addColumn(nameColumn, messages.userIdentifier(), true, false); addColumn(fullNameColumn, messages.userFullName(), true, false); addColumn(groupsColumn, messages.userGroups(), true, false); addColumn(activeColumn, SafeHtmlUtils.fromSafeConstant("<i class='fa fa-check-circle'></i>"), false, false, 2); addStyleName("my-list-rodamember"); }