Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder.

Prototype

public SafeHtmlBuilder() 

Source Link

Document

Constructs an empty SafeHtmlBuilder.

Usage

From source file:org.jboss.hal.core.modelbrowser.AttributesTable.java

License:Apache License

AttributesTable(List<Property> attributes, Resources resources) {

    HTMLElement tbody;/*from   ww w .j  av  a2 s  . co  m*/
    this.root = table().css(table, tableBordered, tableStriped, CSS.attributes)
            .add(thead().add(tr().add(th().textContent(resources.constants().attribute()))
                    .add(th().textContent(resources.constants().type()))
                    .add(th().textContent(resources.constants().storage()))
                    .add(th().textContent(resources.constants().accessType()))))
            .add(tbody = tbody().get()).get();

    HelpTextBuilder helpTextBuilder = new HelpTextBuilder();
    for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(attributes)) {
        ModelNode attribute = property.getValue();
        boolean required = attribute.hasDefined(NILLABLE) && !attribute.get(NILLABLE).asBoolean();
        boolean deprecated = attribute.hasDefined(DEPRECATED) && attribute.get(DEPRECATED).asBoolean();
        SafeHtml description = helpTextBuilder.helpText(property);

        // start a new table row
        HtmlContentBuilder<HTMLTableRowElement> builder = tr();

        // attribute name & description
        @NonNls
        SafeHtmlBuilder html = new SafeHtmlBuilder();
        html.appendHtmlConstant(
                "<strong" + (deprecated ? " class=\"" + CSS.deprecated + "\" title=\"deprecated\"" : "") + ">")
                .appendEscaped(property.getName()).appendHtmlConstant("</strong>");
        if (required) {
            html.appendHtmlConstant(NBSP).append(resources.messages().requiredMarker());
        }
        if (description != null) {
            html.appendHtmlConstant("<br/>").append(description);
        }
        builder.add(td().innerHtml(html.toSafeHtml()));

        // type
        builder.add(td().textContent(Types.formatType(attribute)));

        // storage
        HTMLElement storageTd;
        builder.add(storageTd = td().get());
        if (attribute.hasDefined(STORAGE)) {
            switch (attribute.get(STORAGE).asString()) {
            case CONFIGURATION:
                storageTd.appendChild(i().css(fontAwesome("database")).title(CONFIGURATION).get());
                break;
            case RUNTIME:
                storageTd.appendChild(i().css(pfIcon("memory")).title(RUNTIME).get());
                break;
            default:
                storageTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
                break;
            }
        } else {
            builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP));
        }

        // access type
        HTMLElement accessTypeTd;
        builder.add(accessTypeTd = td().get());
        if (attribute.hasDefined(ACCESS_TYPE)) {
            switch (attribute.get(ACCESS_TYPE).asString()) {
            case READ_WRITE:
                accessTypeTd.appendChild(i().css(pfIcon("edit")).title(READ_WRITE).get());
                break;
            case READ_ONLY:
                accessTypeTd.appendChild(i().css(fontAwesome("lock")).title(READ_ONLY).get());
                break;
            case METRIC:
                accessTypeTd.appendChild(i().css(pfIcon("trend-up")).title(METRIC).get());
                break;
            default:
                accessTypeTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
                break;
            }
        } else {
            builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP));
        }

        tbody.appendChild(builder.get());
    }
}

From source file:org.jboss.hal.core.modelbrowser.ChildrenPanel.java

License:Apache License

@SuppressWarnings("HardCodedStringLiteral")
void update(Node<Context> node, ResourceAddress address) {
    this.parent = node;

    SafeHtmlBuilder safeHtml = new SafeHtmlBuilder();
    if (node.data.hasSingletons()) {
        safeHtml.appendEscaped("Singleton ");
    }/*from w ww.ja  v a  2  s.  c om*/
    safeHtml.appendEscaped("Child Resources of ").appendHtmlConstant("<code>").appendEscaped(node.text)
            .appendHtmlConstant("</code>");
    header.innerHTML = safeHtml.toSafeHtml().asString();

    Operation operation = new Operation.Builder(address.getParent(), READ_CHILDREN_NAMES_OPERATION)
            .param(CHILD_TYPE, node.text).build();
    dispatcher.execute(operation, result -> {
        List<String> names = result.asList().stream().map(ModelNode::asString).collect(toList());
        table.update(names);
        if (node.data.hasSingletons()) {
            logger.debug("Read {} / {} singletons", names.size(), node.data.getSingletons().size());
        } else {
            // enable / disable buttons makes only sense for none-singleton resources!
            AddressTemplate template = asGenericTemplate(node, address);
            metadataProcessor.lookup(template, Progress.NOOP, new MetadataProcessor.MetadataCallback() {
                @Override
                public void onMetadata(Metadata metadata) {
                    table.enableButton(0,
                            AuthorisationDecision
                                    .from(environment, constraint -> Optional.of(metadata.getSecurityContext()))
                                    .isAllowed(Constraint.executable(template, ADD)));
                    table.enableButton(1,
                            AuthorisationDecision
                                    .from(environment, constraint -> Optional.of(metadata.getSecurityContext()))
                                    .isAllowed(Constraint.executable(template, REMOVE)));
                }

                @Override
                public void onError(Throwable error) {
                    logger.warn("Unable to enable / disable table buttons for {}", address);
                }
            });
        }
    });
}

From source file:org.jboss.hal.core.modelbrowser.OperationsTable.java

License:Apache License

OperationsTable(List<Property> operations, Resources resources) {
    HTMLElement tbody;// w  ww.  j a  v a 2 s  .  co m

    this.resources = resources;
    this.root = table().css(table, tableBordered, tableStriped, CSS.operations)
            .add(thead().add(
                    tr().add(th().textContent(Names.NAME)).add(th().textContent(resources.constants().input()))
                            .add(th().textContent(resources.constants().output()))))
            .add(tbody = tbody().get()).get();

    for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(operations)) {
        ModelNode operation = property.getValue();
        String description = operation.hasDefined(DESCRIPTION) ? operation.get(DESCRIPTION).asString() : null;

        // start a new table row
        HtmlContentBuilder<HTMLTableRowElement> builder = tr();

        // operation name & description
        SafeHtmlBuilder html = new SafeHtmlBuilder();
        html.appendHtmlConstant("<strong>") //NON-NLS
                .appendEscaped(property.getName()).appendHtmlConstant("</strong>"); //NON-NLS
        if (description != null) {
            html.appendHtmlConstant("<br/>").appendEscaped(description); //NON-NLS
        }
        builder.add(td().innerHtml(html.toSafeHtml()));

        // input
        HTMLElement inputTd;
        builder.add(inputTd = td().get());
        if (operation.hasDefined(REQUEST_PROPERTIES)
                && !operation.get(REQUEST_PROPERTIES).asPropertyList().isEmpty()) {
            List<Property> input = operation.get(REQUEST_PROPERTIES).asPropertyList();
            HTMLElement ul;
            inputTd.appendChild(ul = ul().css(operationParameter).get());
            for (Property parameter : Ordering.natural().onResultOf(Property::getName).sortedCopy(input)) {
                HTMLElement li;
                ul.appendChild(li = li().get());
                buildParameter(li, parameter.getName(), parameter.getValue());
            }
        } else {
            inputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
        }

        // output
        HTMLElement outputTd;
        builder.add(outputTd = td().get());
        if (operation.hasDefined(REPLY_PROPERTIES) && !operation.get(REPLY_PROPERTIES).asList().isEmpty()) {
            buildParameter(outputTd, null, operation.get(REPLY_PROPERTIES));
        } else {
            outputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
        }

        tbody.appendChild(builder.get());
    }
}

From source file:org.jboss.hal.core.modelbrowser.OperationsTable.java

License:Apache License

private void buildParameter(HTMLElement element, String name, ModelNode parameter) {
    boolean required = parameter.hasDefined(REQUIRED) && parameter.get(REQUIRED).asBoolean();
    String description = parameter.hasDefined(DESCRIPTION) ? parameter.get(DESCRIPTION).asString() : null;

    SafeHtmlBuilder html = new SafeHtmlBuilder();
    if (name != null) {
        //noinspection HardCodedStringLiteral
        html.appendHtmlConstant("<code>").appendEscaped(name).appendHtmlConstant("</code>").appendEscaped(": ");
    }//w w  w  .j  a v a 2 s .c om
    html.appendEscaped(Types.formatType(parameter));
    if (required) {
        html.appendHtmlConstant(NBSP).append(resources.messages().requiredMarker());
    }
    if (description != null) {
        html.appendHtmlConstant("<br/>").appendEscaped(description); //NON-NLS
    }
    element.innerHTML = html.toSafeHtml().asString();
}

From source file:org.jbpm.console.ng.bd.client.util.DataGridUtils.java

License:Apache License

public static int calculateWidth(final String value) {

    if (value == null || value.length() == 0)
        return 0;
    com.google.gwt.dom.client.Element m = getCharacterMeasuringElement(DEPLOYMENTS_SIZE_CALCULATOR);
    if (m != null) {
        SafeHtmlBuilder sb = new SafeHtmlBuilder();
        sb.append(SafeHtmlUtils.fromTrustedString(value));
        m.setInnerHTML(sb.toSafeHtml().asString());
        int a = m.getClientWidth();
        int b = m.getOffsetWidth();
        return a;
    }//from   ww w . j  a  va 2s .c o m
    return 0;
}

From source file:org.jbpm.console.ng.gc.client.util.ButtonActionCell.java

License:Apache License

public void render(final Cell.Context context, final T value, final SafeHtmlBuilder sb) {
    final SafeHtmlBuilder mysb = new SafeHtmlBuilder();
    final Button btn = GWT.create(Button.class);
    btn.setText(getText(value));/* w  w  w .  j  a v  a 2s  .co m*/
    btn.setTitle(getText(value));
    btn.setType(ButtonType.DEFAULT);
    btn.setSize(ButtonSize.SMALL);
    btn.getElement().getStyle().setMarginRight(5, Style.Unit.PX);
    mysb.appendHtmlConstant(btn.getElement().getString());
    sb.append(mysb.toSafeHtml());
}

From source file:org.jbpm.console.ng.ht.client.editors.tasklogs.TaskLogsPresenter.java

License:Apache License

public void refreshLogs() {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("taskId", currentTaskId);
    QueryFilter filter = new PortableQueryFilter(0, 0, false, "", "", false, "", params);
    taskAuditService.call(new RemoteCallback<PageResponse<TaskEventSummary>>() {
        @Override/*w w w  . j  a v a  2 s .  c  om*/
        public void callback(PageResponse<TaskEventSummary> events) {
            SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
            DateTimeFormat format = DateTimeFormat.getFormat("dd/MM/yyyy HH:mm");
            for (TaskEventSummary tes : events.getPageRowList()) {
                String timeStamp = format.format(tes.getLogTime());
                if (tes.getType().equals("UPDATED")) {
                    safeHtmlBuilder.appendEscapedLines(
                            timeStamp + ": Task " + tes.getType() + " (" + tes.getMessage() + ") \n");
                } else {
                    safeHtmlBuilder.appendEscapedLines(
                            timeStamp + ": Task - " + tes.getType() + " (" + tes.getUserId() + ") \n");
                }
            }
            view.setLogTextAreaText(safeHtmlBuilder.toSafeHtml().asString());
        }

    }, new ErrorCallback<Message>() {
        @Override
        public boolean error(Message message, Throwable throwable) {
            ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage());
            return true;
        }
    }).getData(filter);

}

From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java

License:Apache License

private void refreshServiceTasks(final String deploymentId, final String processId) {
    dataServices.call(new RemoteCallback<Map<String, String>>() {

        @Override//from  w w w .j a v  a  2s.  co m
        public void callback(Map<String, String> services) {
            view.getProcessServicesListBox().setText("");
            SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
            if (services.keySet().isEmpty()) {
                safeHtmlBuilder.appendEscaped("No services required for this process");
                view.getProcessServicesListBox().setStyleName("muted");
                view.getProcessServicesListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            } else {
                for (String key : services.keySet()) {
                    safeHtmlBuilder.appendEscapedLines(key + " - " + services.get(key) + "\n");
                }
                view.getProcessServicesListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            }
        }
    }, new ErrorCallback<Message>() {

        @Override
        public boolean error(Message message, Throwable throwable) {
            ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage());
            return true;
        }
    }).getServiceTasks(deploymentId, processId);
}

From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java

License:Apache License

private void refreshReusableSubProcesses(final String deploymentId, final String processId) {
    dataServices.call(new RemoteCallback<Collection<String>>() {

        @Override//from  w ww.  j a  v  a 2 s  .c o m
        public void callback(Collection<String> subprocesses) {
            view.getSubprocessListBox().setText("");
            SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
            if (subprocesses.isEmpty()) {
                safeHtmlBuilder.appendEscapedLines("No subproceses required by this process");
                view.getSubprocessListBox().setStyleName("muted");
                view.getSubprocessListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            } else {
                for (String key : subprocesses) {
                    safeHtmlBuilder.appendEscapedLines(key + "\n");
                }
                view.getSubprocessListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            }
        }
    }, new ErrorCallback<Message>() {

        @Override
        public boolean error(Message message, Throwable throwable) {
            ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage());
            return true;
        }
    }).getReusableSubProcesses(deploymentId, processId);
}

From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java

License:Apache License

private void refreshRequiredInputData(final String deploymentId, final String processId) {
    dataServices.call(new RemoteCallback<Map<String, String>>() {

        @Override/*from  w ww .  j  a  va  2s .c  o  m*/
        public void callback(Map<String, String> inputs) {
            view.getProcessDataListBox().setText("");
            SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
            if (inputs.keySet().isEmpty()) {
                safeHtmlBuilder.appendEscapedLines("No process variables defined for this process");
                view.getProcessDataListBox().setStyleName("muted");
                view.getProcessDataListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            } else {
                for (String key : inputs.keySet()) {
                    safeHtmlBuilder.appendEscapedLines(key + " - " + inputs.get(key) + "\n");
                }
                view.getProcessDataListBox().setHTML(safeHtmlBuilder.toSafeHtml());
            }
        }
    }, new ErrorCallback<Message>() {

        @Override
        public boolean error(Message message, Throwable throwable) {
            ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage());
            return true;
        }
    }).getRequiredInputData(deploymentId, processId);
}