Package org.jboss.as.console.client.tools.modelling.workbench.repository

Source Code of org.jboss.as.console.client.tools.modelling.workbench.repository.UndertowExample

package org.jboss.as.console.client.tools.modelling.workbench.repository;

import org.jboss.as.console.mbui.model.StereoTypes;
import org.jboss.as.console.mbui.model.mapping.DMRMapping;
import org.useware.kernel.model.Dialog;
import org.useware.kernel.model.mapping.Mapping;
import org.useware.kernel.model.structure.Container;
import org.useware.kernel.model.structure.InteractionUnit;
import org.useware.kernel.model.structure.QName;
import org.useware.kernel.model.structure.Select;
import org.useware.kernel.model.structure.builder.Builder;

import static org.jboss.as.console.mbui.model.StereoTypes.Form;
import static org.jboss.as.console.mbui.model.StereoTypes.Pages;
import static org.useware.kernel.model.structure.TemporalOperator.Choice;
import static org.useware.kernel.model.structure.TemporalOperator.Concurrency;

/**
* @author Heiko Braun
* @date 5/14/13
*/
public class UndertowExample implements Sample {


    private final Dialog dialog;

    public UndertowExample() {
        this.dialog = build();
    }

    public Dialog build()
    {
        String ns = "org.jboss.undertow";

        // entities
        Mapping global = new DMRMapping()
                .setAddress("/{selected.profile}/subsystem=undertow");


        Container overview = new Container(ns, "undertow", "Undertow Subsytem", Choice, StereoTypes.EditorPanel);

        Container handler = new Container(ns, "handler", "Handler", Choice, Pages);
        Container filter = new Container(ns, "filter", "Filter", Concurrency);
        Container errorHandler = new Container(ns, "errorHandler", "Error Handler", Concurrency);

        Container fileHandler = new Container(ns, "undertow#fileHandler", "File Handler", Concurrency);

        /*Container attributes = new Container(ns, "undertow#basicAttributes", "Attributes",Form);
        Mapping basicAttributesMapping = new DMRMapping()
                .addAttributes(
                        "default-server", "instance-id",
                        "default-virtual-host", "default-servlet-container"
                );*/

        // structure & mapping
        InteractionUnit root = new Builder()
                .start(overview)
                    .mappedBy(global)

                    // handler section
                    .start(handler)
                        .start(fileHandler)
                            .add(new Select(ns, "fileHandler", "FileHandlerSelection"))
                               .mappedBy(
                                       new DMRMapping()
                                        .setAddress("/{selected.profile}/subsystem=undertow/configuration=handler/file=*")
                                        .addAttributes("entity.key", "path")
                                        )
                            .add(new Container(ns, "undertow#fileAttributes", "Attributes",Form))
                                .mappedBy(new DMRMapping()
                                    .setAddress("/{selected.profile}/subsystem=undertow/configuration=handler/file={selected.entity}")
                                    .addAttributes("path", "directory-listing", "cache-buffer-size", "cache-buffers")
                                   )
                        .end()
                    .end()
                    .start(filter).end()
                    .start(errorHandler).end()
                .end()
        .build();

        Dialog dialog = new Dialog(QName.valueOf("org.jboss.as:undertow-subsystem"), root);
        return dialog;
    }

    @Override
    public String getName() {
        return "Undertow";
    }

    @Override
    public Dialog getDialog() {
        return dialog;
    }
}
TOP

Related Classes of org.jboss.as.console.client.tools.modelling.workbench.repository.UndertowExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.