Search in sources :

Example 16 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class DestinationPresenter method addSecuritySettingRole.

void addSecuritySettingRole() {
    Metadata metadata = metadataRegistry.lookup(ROLE_TEMPLATE);
    TextBoxItem patternItem = new TextBoxItem(PATTERN, resources.constants().pattern());
    patternItem.setRequired(true);
    TextBoxItem roleItem = new TextBoxItem(ROLE, resources.constants().role());
    roleItem.setRequired(true);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.MESSAGING_SECURITY_SETTING_ROLE_ADD, metadata).unboundFormItem(patternItem, 0).unboundFormItem(roleItem, 1).fromRequestProperties().requiredOnly().build();
    new AddResourceDialog(Names.SECURITY_SETTING, form, (name, model) -> {
        String pattern = patternItem.getValue();
        ResourceAddress securitySettingAddress = SELECTED_SERVER_TEMPLATE.append(SECURITY_SETTING + EQUALS + pattern).resolve(statementContext);
        ResourceAddress roleAddress = SELECTED_SERVER_TEMPLATE.append(SECURITY_SETTING + EQUALS + pattern).append(ROLE + EQUALS + roleItem.getValue()).resolve(statementContext);
        ResourceCheck check = new ResourceCheck(dispatcher, securitySettingAddress);
        Task<FlowContext> add = context -> {
            Operation addSecuritySetting = new Operation.Builder(securitySettingAddress, ADD).build();
            Operation addRole = new Operation.Builder(roleAddress, ADD).payload(model).build();
            int status = context.pop();
            if (status == 404) {
                return dispatcher.execute(new Composite(addSecuritySetting, addRole)).toCompletable();
            } else {
                return dispatcher.execute(addRole).toCompletable();
            }
        };
        series(new FlowContext(progress.get()), check, add).subscribe(new SuccessfulOutcome<FlowContext>(getEventBus(), resources) {

            @Override
            public void onSuccess(FlowContext context) {
                MessageEvent.fire(getEventBus(), Message.success(resources.messages().addResourceSuccess(Names.SECURITY_SETTING, pattern + "/" + name)));
                reload();
            }
        });
    }).show();
}
Also used : AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) Provider(javax.inject.Provider) StatementContext(org.jboss.hal.meta.StatementContext) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) Message(org.jboss.hal.spi.Message) FinishReset(org.jboss.hal.ballroom.form.Form.FinishReset) Metadata(org.jboss.hal.meta.Metadata) ResourceCheck(org.jboss.hal.dmr.ResourceCheck) Names(org.jboss.hal.resources.Names) ModelNodeHelper.asNamedNodes(org.jboss.hal.dmr.ModelNodeHelper.asNamedNodes) CrudOperations(org.jboss.hal.core.CrudOperations) NameToken(com.gwtplatform.mvp.client.annotations.NameToken) FinderPath(org.jboss.hal.core.finder.FinderPath) List(java.util.List) MetadataRegistry(org.jboss.hal.meta.MetadataRegistry) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Flow.series(org.jboss.hal.flow.Flow.series) Finder(org.jboss.hal.core.finder.Finder) Footer(org.jboss.hal.spi.Footer) SupportsExpertMode(org.jboss.hal.core.mvp.SupportsExpertMode) ModelNode(org.jboss.hal.dmr.ModelNode) Completable(rx.Completable) MessageEvent(org.jboss.hal.spi.MessageEvent) ProxyPlace(com.gwtplatform.mvp.client.proxy.ProxyPlace) SuccessfulOutcome(org.jboss.hal.core.SuccessfulOutcome) FlowContext(org.jboss.hal.flow.FlowContext) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Task(org.jboss.hal.flow.Task) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) Requires(org.jboss.hal.spi.Requires) ProxyCodeSplit(com.gwtplatform.mvp.client.annotations.ProxyCodeSplit) AddressTemplates(org.jboss.hal.client.configuration.subsystem.messaging.AddressTemplates) Operation(org.jboss.hal.dmr.Operation) Ids(org.jboss.hal.resources.Ids) FinderPathFactory(org.jboss.hal.core.finder.FinderPathFactory) EventBus(com.google.web.bindery.event.shared.EventBus) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) Composite(org.jboss.hal.dmr.Composite) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) NameTokens(org.jboss.hal.meta.token.NameTokens) Resources(org.jboss.hal.resources.Resources) MbuiView(org.jboss.hal.core.mbui.MbuiView) NamedNode(org.jboss.hal.dmr.NamedNode) Form(org.jboss.hal.ballroom.form.Form) Task(org.jboss.hal.flow.Task) Composite(org.jboss.hal.dmr.Composite) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) Metadata(org.jboss.hal.meta.Metadata) ResourceCheck(org.jboss.hal.dmr.ResourceCheck) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) FlowContext(org.jboss.hal.flow.FlowContext) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) ModelNode(org.jboss.hal.dmr.ModelNode) SuccessfulOutcome(org.jboss.hal.core.SuccessfulOutcome)

Aggregations

TextBoxItem (org.jboss.hal.ballroom.form.TextBoxItem)16 ModelNode (org.jboss.hal.dmr.ModelNode)16 ModelNodeForm (org.jboss.hal.core.mbui.form.ModelNodeForm)15 AddResourceDialog (org.jboss.hal.core.mbui.dialog.AddResourceDialog)12 Operation (org.jboss.hal.dmr.Operation)11 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)11 Metadata (org.jboss.hal.meta.Metadata)11 LabelBuilder (org.jboss.hal.ballroom.LabelBuilder)10 Map (java.util.Map)8 EventBus (com.google.web.bindery.event.shared.EventBus)7 List (java.util.List)7 Inject (javax.inject.Inject)7 NameItem (org.jboss.hal.core.mbui.dialog.NameItem)7 AddressTemplate (org.jboss.hal.meta.AddressTemplate)7 Form (org.jboss.hal.ballroom.form.Form)6 CrudOperations (org.jboss.hal.core.CrudOperations)6 Finder (org.jboss.hal.core.finder.Finder)6 FinderPath (org.jboss.hal.core.finder.FinderPath)6 FinderPathFactory (org.jboss.hal.core.finder.FinderPathFactory)6 ModelDescriptionConstants (org.jboss.hal.dmr.ModelDescriptionConstants)6