Search in sources :

Example 6 with Node

use of org.jboss.hal.ballroom.tree.Node in project console by hal.

the class CreateSingletonStep method onShow.

@Override
protected void onShow(SingletonContext context) {
    Elements.removeChildrenFrom(root);
    Node<Context> parent = wizard().getContext().parent;
    ResourceAddress singletonAddress = parent.data.getAddress().getParent().add(parent.text, wizard().getContext().singleton);
    AddressTemplate template = ModelBrowser.asGenericTemplate(parent, singletonAddress);
    metadataProcessor.lookup(template, progress.get(), new MetadataProcessor.MetadataCallback() {

        @Override
        public void onError(Throwable error) {
            MessageEvent.fire(eventBus, Message.error(resources.messages().metadataError(), error.getMessage()));
        }

        @Override
        public void onMetadata(Metadata metadata) {
            String id = Ids.build(Ids.MODEL_BROWSER_CREATE_SINGLETON_FORM, Ids.FORM);
            form = new ModelNodeForm.Builder<>(id, metadata).fromRequestProperties().onSave((f, changedValues) -> wizard().getContext().modelNode = f.getModel()).build();
            root.appendChild(form.element());
            PatternFly.initComponents();
            form.attach();
            form.edit(new ModelNode());
        }
    });
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) ModelNode(org.jboss.hal.dmr.ModelNode) Elements.div(org.jboss.gwt.elemento.core.Elements.div) Provider(javax.inject.Provider) MessageEvent(org.jboss.hal.spi.MessageEvent) Ids(org.jboss.hal.resources.Ids) EventBus(com.google.web.bindery.event.shared.EventBus) Node(org.jboss.hal.ballroom.tree.Node) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) WizardStep(org.jboss.hal.ballroom.wizard.WizardStep) MetadataProcessor(org.jboss.hal.meta.processing.MetadataProcessor) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) Resources(org.jboss.hal.resources.Resources) HTMLElement(elemental2.dom.HTMLElement) PatternFly(org.jboss.hal.ballroom.PatternFly) Message(org.jboss.hal.spi.Message) Metadata(org.jboss.hal.meta.Metadata) Elements(org.jboss.gwt.elemento.core.Elements) Form(org.jboss.hal.ballroom.form.Form) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) Metadata(org.jboss.hal.meta.Metadata) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) ModelNode(org.jboss.hal.dmr.ModelNode) MetadataProcessor(org.jboss.hal.meta.processing.MetadataProcessor)

Example 7 with Node

use of org.jboss.hal.ballroom.tree.Node in project console by hal.

the class BrowseContentElement method saveContent.

private void saveContent() {
    Node<ContentEntry> selection = tree.getSelected();
    if (selection != null) {
        String filename = selection.data.path.contains("/") ? Strings.substringAfterLast(selection.data.path, "/") : selection.data.path;
        String editorContent = editor.getEditor().getSession().getValue();
        ResourceAddress address = new ResourceAddress().add(DEPLOYMENT, content.getName());
        ModelNode contentNode = new ModelNode();
        contentNode.get(INPUT_STREAM_INDEX).set(0);
        contentNode.get(TARGET_PATH).set(selection.data.path);
        Operation operation = new Operation.Builder(address, ADD_CONTENT).param(CONTENT, new ModelNode().add(contentNode)).build();
        dispatcher.upload(file(filename, editorContent), operation).doOnSuccess(result -> saveContentButton.ifPresent(button -> button.disabled = true)).toCompletable().andThen(browseContent()).andThen(awaitTreeReady()).subscribe(() -> {
            MessageEvent.fire(eventBus, Message.success(resources.messages().saveContentSuccess(content.getName(), filename)));
            tree.selectNode(selection.id);
        });
    }
}
Also used : Dialog(org.jboss.hal.ballroom.dialog.Dialog) IsElement(org.jboss.gwt.elemento.core.IsElement) NODE_ID(org.jboss.hal.client.deployment.ContentParser.NODE_ID) Environment(org.jboss.hal.config.Environment) Constraint(org.jboss.hal.meta.security.Constraint) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) Node(org.jboss.hal.ballroom.tree.Node) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) Icons(org.jboss.hal.resources.Icons) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Single(rx.Single) Search(org.jboss.hal.ballroom.Search) AuthorisationDecision(org.jboss.hal.meta.security.AuthorisationDecision) HTMLElement(elemental2.dom.HTMLElement) Message(org.jboss.hal.spi.Message) Metadata(org.jboss.hal.meta.Metadata) Elements.i(org.jboss.gwt.elemento.core.Elements.i) Names(org.jboss.hal.resources.Names) Skeleton.applicationHeight(org.jboss.hal.ballroom.Skeleton.applicationHeight) FileItem(org.jboss.hal.ballroom.form.FileItem) Collections.emptyList(java.util.Collections.emptyList) LayoutBuilder.row(org.jboss.hal.ballroom.LayoutBuilder.row) MARGIN_BIG(org.jboss.hal.ballroom.Skeleton.MARGIN_BIG) Set(java.util.Set) CSS(org.jboss.hal.resources.CSS) Skeleton.applicationOffset(org.jboss.hal.ballroom.Skeleton.applicationOffset) EventType.click(org.jboss.gwt.elemento.core.EventType.click) Sets(com.google.common.collect.Sets) JsArray(elemental2.core.JsArray) Tree(org.jboss.hal.ballroom.tree.Tree) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) UIConstants(org.jboss.hal.resources.UIConstants) Browser(org.jboss.hal.js.Browser) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Attachable(org.jboss.hal.ballroom.Attachable) Optional(java.util.Optional) Math.max(java.lang.Math.max) ValidationResult(org.jboss.hal.ballroom.form.ValidationResult) MARGIN_SMALL(org.jboss.hal.ballroom.Skeleton.MARGIN_SMALL) ModelNode(org.jboss.hal.dmr.ModelNode) Completable(rx.Completable) Strings.nullToEmpty(com.google.common.base.Strings.nullToEmpty) MessageEvent(org.jboss.hal.spi.MessageEvent) LayoutBuilder.column(org.jboss.hal.ballroom.LayoutBuilder.column) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) AceEditor(org.jboss.hal.ballroom.editor.AceEditor) ConstructorContentsArrayUnionType(elemental2.dom.File.ConstructorContentsArrayUnionType) AddressTemplate(org.jboss.hal.meta.AddressTemplate) EmptyState(org.jboss.hal.ballroom.EmptyState) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) Operation(org.jboss.hal.dmr.Operation) Ids(org.jboss.hal.resources.Ids) File(elemental2.dom.File) Options(org.jboss.hal.ballroom.editor.Options) EventBus(com.google.web.bindery.event.shared.EventBus) SelectionContext(org.jboss.hal.ballroom.tree.SelectionContext) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) DomGlobal.window(elemental2.dom.DomGlobal.window) Consumer(java.util.function.Consumer) Content(org.jboss.hal.core.deployment.Content) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Resources(org.jboss.hal.resources.Resources) Format(org.jboss.hal.ballroom.Format) HTMLButtonElement(elemental2.dom.HTMLButtonElement) Strings(org.jboss.hal.resources.Strings) HTMLImageElement(elemental2.dom.HTMLImageElement) Elements(org.jboss.gwt.elemento.core.Elements) Form(org.jboss.hal.ballroom.form.Form) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Operation(org.jboss.hal.dmr.Operation) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 8 with Node

use of org.jboss.hal.ballroom.tree.Node in project console by hal.

the class BrowseContentElement method browseContent.

private Completable browseContent() {
    ResourceAddress address = new ResourceAddress().add(DEPLOYMENT, content.getName());
    Operation operation = new Operation.Builder(address, BROWSE_CONTENT).build();
    return dispatcher.execute(operation).doOnSuccess(result -> {
        String contentName = SafeHtmlUtils.htmlEscapeAllowEntities(content.getName());
        Node<ContentEntry> root = new Node.Builder<>(Ids.CONTENT_TREE_ROOT, contentName, new ContentEntry()).root().folder().open().build();
        JsArray<Node<ContentEntry>> nodes = new JsArray<>();
        new ContentParser().parse(root, nodes, result.isDefined() ? result.asList() : emptyList());
        if (tree != null) {
            tree.destroy();
            tree = null;
        }
        tree = new Tree<>(Ids.CONTENT_TREE, nodes);
        Elements.removeChildrenFrom(treeContainer);
        treeContainer.appendChild(tree.element());
        tree.attach();
        tree.onSelectionChange((event, selectionContext) -> {
            if (!"ready".equals(selectionContext.action)) {
                // NON-NLS
                onNodeSelected(selectionContext);
            }
        });
    }).toCompletable();
}
Also used : Dialog(org.jboss.hal.ballroom.dialog.Dialog) IsElement(org.jboss.gwt.elemento.core.IsElement) NODE_ID(org.jboss.hal.client.deployment.ContentParser.NODE_ID) Environment(org.jboss.hal.config.Environment) Constraint(org.jboss.hal.meta.security.Constraint) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) Node(org.jboss.hal.ballroom.tree.Node) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) Icons(org.jboss.hal.resources.Icons) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Single(rx.Single) Search(org.jboss.hal.ballroom.Search) AuthorisationDecision(org.jboss.hal.meta.security.AuthorisationDecision) HTMLElement(elemental2.dom.HTMLElement) Message(org.jboss.hal.spi.Message) Metadata(org.jboss.hal.meta.Metadata) Elements.i(org.jboss.gwt.elemento.core.Elements.i) Names(org.jboss.hal.resources.Names) Skeleton.applicationHeight(org.jboss.hal.ballroom.Skeleton.applicationHeight) FileItem(org.jboss.hal.ballroom.form.FileItem) Collections.emptyList(java.util.Collections.emptyList) LayoutBuilder.row(org.jboss.hal.ballroom.LayoutBuilder.row) MARGIN_BIG(org.jboss.hal.ballroom.Skeleton.MARGIN_BIG) Set(java.util.Set) CSS(org.jboss.hal.resources.CSS) Skeleton.applicationOffset(org.jboss.hal.ballroom.Skeleton.applicationOffset) EventType.click(org.jboss.gwt.elemento.core.EventType.click) Sets(com.google.common.collect.Sets) JsArray(elemental2.core.JsArray) Tree(org.jboss.hal.ballroom.tree.Tree) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) UIConstants(org.jboss.hal.resources.UIConstants) Browser(org.jboss.hal.js.Browser) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Attachable(org.jboss.hal.ballroom.Attachable) Optional(java.util.Optional) Math.max(java.lang.Math.max) ValidationResult(org.jboss.hal.ballroom.form.ValidationResult) MARGIN_SMALL(org.jboss.hal.ballroom.Skeleton.MARGIN_SMALL) ModelNode(org.jboss.hal.dmr.ModelNode) Completable(rx.Completable) Strings.nullToEmpty(com.google.common.base.Strings.nullToEmpty) MessageEvent(org.jboss.hal.spi.MessageEvent) LayoutBuilder.column(org.jboss.hal.ballroom.LayoutBuilder.column) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) AceEditor(org.jboss.hal.ballroom.editor.AceEditor) ConstructorContentsArrayUnionType(elemental2.dom.File.ConstructorContentsArrayUnionType) AddressTemplate(org.jboss.hal.meta.AddressTemplate) EmptyState(org.jboss.hal.ballroom.EmptyState) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) Operation(org.jboss.hal.dmr.Operation) Ids(org.jboss.hal.resources.Ids) File(elemental2.dom.File) Options(org.jboss.hal.ballroom.editor.Options) EventBus(com.google.web.bindery.event.shared.EventBus) SelectionContext(org.jboss.hal.ballroom.tree.SelectionContext) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) DomGlobal.window(elemental2.dom.DomGlobal.window) Consumer(java.util.function.Consumer) Content(org.jboss.hal.core.deployment.Content) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Resources(org.jboss.hal.resources.Resources) Format(org.jboss.hal.ballroom.Format) HTMLButtonElement(elemental2.dom.HTMLButtonElement) Strings(org.jboss.hal.resources.Strings) HTMLImageElement(elemental2.dom.HTMLImageElement) Elements(org.jboss.gwt.elemento.core.Elements) Form(org.jboss.hal.ballroom.form.Form) JsArray(elemental2.core.JsArray) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) Node(org.jboss.hal.ballroom.tree.Node) ModelNode(org.jboss.hal.dmr.ModelNode) Tree(org.jboss.hal.ballroom.tree.Tree) Operation(org.jboss.hal.dmr.Operation)

Example 9 with Node

use of org.jboss.hal.ballroom.tree.Node in project console by hal.

the class JndiParser method readChildren.

private void readChildren(JsArray<Node<JndiContext>> nodes, Node<JndiContext> parent, List<Property> children) {
    children.stream().filter(child -> child.getValue().isDefined()).forEach(child -> {
        ModelNode modelNode = child.getValue();
        JndiContext jndiContext = jndiContext(parent, child.getName(), modelNode);
        if (modelNode.hasDefined(VALUE)) {
            pushEntry(nodes, parent, child.getName(), jndiContext);
        } else {
            Node<JndiContext> node = pushFolder(nodes, parent, child.getName(), jndiContext);
            if (modelNode.hasDefined(CHILDREN)) {
                readChildren(nodes, node, modelNode.get(CHILDREN).asPropertyList());
            } else if (child.getValue().getType() == ModelType.OBJECT) {
                readChildren(nodes, node, child.getValue().asPropertyList());
            }
        }
    });
}
Also used : ModelNode(org.jboss.hal.dmr.ModelNode) Property(org.jboss.hal.dmr.Property) Strings(com.google.common.base.Strings) List(java.util.List) CLASS_NAME(org.jboss.hal.dmr.ModelDescriptionConstants.CLASS_NAME) VALUE(org.jboss.hal.dmr.ModelDescriptionConstants.VALUE) Ids(org.jboss.hal.resources.Ids) CHILDREN(org.jboss.hal.dmr.ModelDescriptionConstants.CHILDREN) Node(org.jboss.hal.ballroom.tree.Node) JsArray(elemental2.core.JsArray) CSS.fontAwesome(org.jboss.hal.resources.CSS.fontAwesome) ModelType(org.jboss.hal.dmr.ModelType) ModelNode(org.jboss.hal.dmr.ModelNode)

Aggregations

Node (org.jboss.hal.ballroom.tree.Node)9 ModelNode (org.jboss.hal.dmr.ModelNode)9 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)7 Ids (org.jboss.hal.resources.Ids)7 HTMLElement (elemental2.dom.HTMLElement)6 Elements (org.jboss.gwt.elemento.core.Elements)6 ModelNodeForm (org.jboss.hal.core.mbui.form.ModelNodeForm)6 Operation (org.jboss.hal.dmr.Operation)6 Metadata (org.jboss.hal.meta.Metadata)6 Resources (org.jboss.hal.resources.Resources)6 SafeHtmlUtils (com.google.gwt.safehtml.shared.SafeHtmlUtils)5 EventBus (com.google.web.bindery.event.shared.EventBus)5 Form (org.jboss.hal.ballroom.form.Form)5 Dispatcher (org.jboss.hal.dmr.dispatch.Dispatcher)5 AddressTemplate (org.jboss.hal.meta.AddressTemplate)5 Message (org.jboss.hal.spi.Message)5 MessageEvent (org.jboss.hal.spi.MessageEvent)5 Sets (com.google.common.collect.Sets)4 JsArray (elemental2.core.JsArray)4 HTMLButtonElement (elemental2.dom.HTMLButtonElement)4