Search in sources :

Example 21 with Resources

use of org.jboss.hal.resources.Resources in project console by hal.

the class ApplyPatchWizard method show.

public void show() {
    Messages messages = resources.messages();
    Wizard.Builder<PatchContext, PatchState> wb = new Wizard.Builder<>(messages.addResourceTitle(Names.PATCH), new PatchContext());
    checkServersState(servers -> {
        if (servers != null) {
            wb.addStep(CHECK_SERVERS, new CheckRunningServersStep(resources, servers, statementContext.selectedHost()));
        }
        wb.addStep(UPLOAD, new UploadPatchStep(resources)).addStep(CONFIGURE, new ConfigurationStep(metadata, resources)).onBack((context, currentState) -> {
            PatchState previous = null;
            switch(currentState) {
                case CHECK_SERVERS:
                    break;
                case UPLOAD:
                    previous = CHECK_SERVERS;
                    break;
                case CONFIGURE:
                    previous = UPLOAD;
                    break;
                default:
                    break;
            }
            return previous;
        }).onNext((context, currentState) -> {
            PatchState next = null;
            switch(currentState) {
                case CHECK_SERVERS:
                    next = UPLOAD;
                    break;
                case UPLOAD:
                    next = CONFIGURE;
                    break;
                case CONFIGURE:
                    break;
                default:
                    break;
            }
            return next;
        }).stayOpenAfterFinish().onFinish((wzd, context) -> {
            String name = context.file.name;
            wzd.showProgress(resources.constants().patchInProgress(), messages.patchInProgress(name));
            series(new FlowContext(progress.get()), new UploadPatch(statementContext, dispatcher, serverActions, context)).subscribe(new Outcome<FlowContext>() {

                @Override
                public void onError(FlowContext flowContext, Throwable error) {
                    wzd.showError(resources.constants().patchError(), messages.patchAddError(name, error.getMessage()), error.getMessage());
                }

                @Override
                public void onSuccess(FlowContext context) {
                    callback.execute();
                    wzd.showSuccess(resources.constants().patchSuccessful(), messages.patchSucessfullyApplied(name), messages.view(Names.PATCH), cxt -> {
                    /* nothing to do, content is already selected */
                    });
                }
            });
        });
        Wizard<PatchContext, PatchState> wizard = wb.build();
        wizard.show();
    });
}
Also used : Completable(rx.Completable) Provider(javax.inject.Provider) Environment(org.jboss.hal.config.Environment) StatementContext(org.jboss.hal.meta.StatementContext) Messages(org.jboss.hal.resources.Messages) UPLOAD(org.jboss.hal.client.patching.wizard.PatchState.UPLOAD) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) FlowContext(org.jboss.hal.flow.FlowContext) Outcome(org.jboss.hal.flow.Outcome) Property(org.jboss.hal.dmr.Property) Task(org.jboss.hal.flow.Task) Progress(org.jboss.hal.flow.Progress) PATCHING_TEMPLATE(org.jboss.hal.client.patching.PatchesColumn.PATCHING_TEMPLATE) Server(org.jboss.hal.core.runtime.server.Server) Metadata(org.jboss.hal.meta.Metadata) Names(org.jboss.hal.resources.Names) ServerActions(org.jboss.hal.core.runtime.server.ServerActions) Operation(org.jboss.hal.dmr.Operation) CONFIGURE(org.jboss.hal.client.patching.wizard.PatchState.CONFIGURE) Wizard(org.jboss.hal.ballroom.wizard.Wizard) CHECK_SERVERS(org.jboss.hal.client.patching.wizard.PatchState.CHECK_SERVERS) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Callback(org.jboss.hal.spi.Callback) Resources(org.jboss.hal.resources.Resources) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Flow.series(org.jboss.hal.flow.Flow.series) Messages(org.jboss.hal.resources.Messages) FlowContext(org.jboss.hal.flow.FlowContext) Wizard(org.jboss.hal.ballroom.wizard.Wizard)

Example 22 with Resources

use of org.jboss.hal.resources.Resources in project console by hal.

the class SecurityDomainPresenter method addModule.

void addModule(Module module) {
    // first check for (and add if necessary) the intermediate singleton
    // then add the final resource
    AddressTemplate singletonTemplate = SELECTED_SECURITY_DOMAIN_TEMPLATE.append(module.singleton);
    series(new FlowContext(progress.get()), new ResourceCheck(dispatcher, singletonTemplate.resolve(statementContext)), context -> {
        int status = context.pop();
        if (status == 200) {
            return Completable.complete();
        } else {
            Operation operation = new Operation.Builder(singletonTemplate.resolve(statementContext), ADD).build();
            return dispatcher.execute(operation).toCompletable();
        }
    }).subscribe(new SuccessfulOutcome<FlowContext>(getEventBus(), resources) {

        @Override
        public void onSuccess(FlowContext context) {
            AddressTemplate metadataTemplate = SECURITY_DOMAIN_TEMPLATE.append(module.singleton).append(module.resource + EQ_WILDCARD);
            AddressTemplate selectionTemplate = SELECTED_SECURITY_DOMAIN_TEMPLATE.append(module.singleton).append(module.resource + EQ_WILDCARD);
            Metadata metadata = metadataRegistry.lookup(metadataTemplate);
            AddResourceDialog dialog = new AddResourceDialog(module.id, resources.messages().addResourceTitle(module.type), metadata, (name, modelNode) -> {
                ResourceAddress address = selectionTemplate.resolve(statementContext, name);
                crud.add(module.type, name, address, modelNode, (n, a) -> reload());
            });
            dialog.show();
        }
    });
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) Provider(javax.inject.Provider) StatementContext(org.jboss.hal.meta.StatementContext) SELECTED_SECURITY_DOMAIN_TEMPLATE(org.jboss.hal.client.configuration.subsystem.security.AddressTemplates.SELECTED_SECURITY_DOMAIN_TEMPLATE) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) SECURITY_DOMAIN_TEMPLATE(org.jboss.hal.client.configuration.subsystem.security.AddressTemplates.SECURITY_DOMAIN_TEMPLATE) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) TRUST_MODULE_ADDRESS(org.jboss.hal.client.configuration.subsystem.security.AddressTemplates.TRUST_MODULE_ADDRESS) Map(java.util.Map) Message(org.jboss.hal.spi.Message) NAME(org.jboss.hal.dmr.ModelDescriptionConstants.NAME) FinishReset(org.jboss.hal.ballroom.form.Form.FinishReset) READ_RESOURCE_OPERATION(org.jboss.hal.dmr.ModelDescriptionConstants.READ_RESOURCE_OPERATION) Metadata(org.jboss.hal.meta.Metadata) ResourceCheck(org.jboss.hal.dmr.ResourceCheck) Names(org.jboss.hal.resources.Names) CrudOperations(org.jboss.hal.core.CrudOperations) Table(org.jboss.hal.ballroom.table.Table) NameToken(com.gwtplatform.mvp.client.annotations.NameToken) FinderPath(org.jboss.hal.core.finder.FinderPath) MetadataRegistry(org.jboss.hal.meta.MetadataRegistry) SelectionAwareStatementContext(org.jboss.hal.meta.SelectionAwareStatementContext) Flow.series(org.jboss.hal.flow.Flow.series) Finder(org.jboss.hal.core.finder.Finder) Footer(org.jboss.hal.spi.Footer) SECURITY_DOMAIN(org.jboss.hal.meta.token.NameTokens.SECURITY_DOMAIN) 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) SECURITY_DOMAIN_ADDRESS(org.jboss.hal.client.configuration.subsystem.security.AddressTemplates.SECURITY_DOMAIN_ADDRESS) ADD(org.jboss.hal.dmr.ModelDescriptionConstants.ADD) FlowContext(org.jboss.hal.flow.FlowContext) Inject(javax.inject.Inject) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) Requires(org.jboss.hal.spi.Requires) ProxyCodeSplit(com.gwtplatform.mvp.client.annotations.ProxyCodeSplit) 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) PlaceRequest(com.gwtplatform.mvp.shared.proxy.PlaceRequest) SECURITY(org.jboss.hal.dmr.ModelDescriptionConstants.SECURITY) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) MbuiPresenter(org.jboss.hal.core.mbui.MbuiPresenter) 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) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) ResourceCheck(org.jboss.hal.dmr.ResourceCheck) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) FlowContext(org.jboss.hal.flow.FlowContext)

Example 23 with Resources

use of org.jboss.hal.resources.Resources in project console by hal.

the class ModelBrowser method add.

void add(Node<Context> parent, List<String> children) {
    if (parent.data.hasSingletons()) {
        if (parent.data.getSingletons().size() == children.size()) {
            MessageEvent.fire(eventBus, Message.warning(resources.messages().allSingletonsExist()));
        } else if (parent.data.getSingletons().size() - children.size() == 1) {
            // no need to show a wizard - find the missing singleton
            HashSet<String> singletons = Sets.newHashSet(parent.data.getSingletons());
            singletons.removeAll(children);
            String singleton = singletons.iterator().next();
            ResourceAddress singletonAddress = parent.data.getAddress().getParent().add(parent.text, singleton);
            AddressTemplate template = asGenericTemplate(parent, singletonAddress);
            String id = Ids.build(parent.id, "singleton", Ids.ADD);
            crud.addSingleton(id, singleton, template, address -> refresh(parent));
        } else {
            // open wizard to choose the singleton
            Wizard<SingletonContext, SingletonState> wizard = new Wizard.Builder<SingletonContext, SingletonState>(resources.messages().addResourceTitle(parent.text), new SingletonContext(parent, children)).addStep(CHOOSE, new ChooseSingletonStep(parent, children, resources)).addStep(CREATE, new CreateSingletonStep(parent, metadataProcessor, progress, eventBus, resources)).onBack((context, currentState) -> currentState == CREATE ? CHOOSE : null).onNext((context, currentState) -> currentState == CHOOSE ? CREATE : null).onFinish((wzrd, context) -> {
                Operation.Builder builder = new Operation.Builder(fqAddress(parent, context.singleton), ADD);
                if (context.modelNode != null) {
                    builder.payload(context.modelNode);
                }
                dispatcher.execute(builder.build(), result -> {
                    MessageEvent.fire(eventBus, Message.success(resources.messages().addResourceSuccess(parent.text, context.singleton)));
                    refresh(parent);
                });
            }).build();
            wizard.show();
        }
    } else {
        AddressTemplate template = asGenericTemplate(parent, parent.data.getAddress());
        metadataProcessor.lookup(template, progress.get(), new SuccessfulMetadataCallback(eventBus, resources) {

            @Override
            public void onMetadata(Metadata metadata) {
                flattenDescription(metadata.getDescription().get(OPERATIONS).get(ADD).get(REQUEST_PROPERTIES));
                String title = new LabelBuilder().label(parent.text);
                NameItem nameItem = new NameItem();
                String id = Ids.build(parent.id, "add");
                ModelNodeForm<ModelNode> form = new ModelNodeForm.Builder<>(id, metadata).unboundFormItem(nameItem, 0).fromRequestProperties().panelForOptionalAttributes().build();
                AddResourceDialog dialog = new AddResourceDialog(resources.messages().addResourceTitle(title), form, (name1, model) -> {
                    unflattenModel(model);
                    crud.add(title, nameItem.getValue(), fqAddress(parent, nameItem.getValue()), model, (n, a) -> refresh(parent));
                });
                dialog.show();
            }
        });
    }
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) IsElement(org.jboss.gwt.elemento.core.IsElement) Provider(javax.inject.Provider) Elements.a(org.jboss.gwt.elemento.core.Elements.a) Environment(org.jboss.hal.config.Environment) CHOOSE(org.jboss.hal.core.modelbrowser.SingletonState.CHOOSE) VALUE_TYPE(org.jboss.hal.dmr.ModelDescriptionConstants.VALUE_TYPE) LoggerFactory(org.slf4j.LoggerFactory) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) Node(org.jboss.hal.ballroom.tree.Node) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) CSS.modelBrowserButtons(org.jboss.hal.resources.CSS.modelBrowserButtons) HTMLElement(elemental2.dom.HTMLElement) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) Message(org.jboss.hal.spi.Message) FinishReset(org.jboss.hal.ballroom.form.Form.FinishReset) SERVER_GROUP(org.jboss.hal.dmr.ModelDescriptionConstants.SERVER_GROUP) READ_RESOURCE_OPERATION(org.jboss.hal.dmr.ModelDescriptionConstants.READ_RESOURCE_OPERATION) Metadata(org.jboss.hal.meta.Metadata) Names(org.jboss.hal.resources.Names) CrudOperations(org.jboss.hal.core.CrudOperations) Collections.emptyList(java.util.Collections.emptyList) LayoutBuilder.row(org.jboss.hal.ballroom.LayoutBuilder.row) MARGIN_BIG(org.jboss.hal.ballroom.Skeleton.MARGIN_BIG) CSS(org.jboss.hal.resources.CSS) Skeleton.applicationOffset(org.jboss.hal.ballroom.Skeleton.applicationOffset) EventType.click(org.jboss.gwt.elemento.core.EventType.click) STRING(org.jboss.hal.dmr.ModelDescriptionConstants.STRING) CSS.btnGroup(org.jboss.hal.resources.CSS.btnGroup) Sets(com.google.common.collect.Sets) Tree(org.jboss.hal.ballroom.tree.Tree) List(java.util.List) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) MetadataProcessor(org.jboss.hal.meta.processing.MetadataProcessor) CSS.tmTagRemove(org.jboss.hal.resources.CSS.tmTagRemove) Flow.series(org.jboss.hal.flow.Flow.series) Footer(org.jboss.hal.spi.Footer) CSS.tagManagerContainer(org.jboss.hal.resources.CSS.tagManagerContainer) ModelNodeHelper(org.jboss.hal.dmr.ModelNodeHelper) PROFILE(org.jboss.hal.dmr.ModelDescriptionConstants.PROFILE) CSS.fontAwesome(org.jboss.hal.resources.CSS.fontAwesome) MARGIN_SMALL(org.jboss.hal.ballroom.Skeleton.MARGIN_SMALL) ModelNode(org.jboss.hal.dmr.ModelNode) Completable(rx.Completable) Elements.div(org.jboss.gwt.elemento.core.Elements.div) TYPE(org.jboss.hal.dmr.ModelDescriptionConstants.TYPE) SELECTED_GROUP(org.jboss.hal.meta.StatementContext.Expression.SELECTED_GROUP) MessageEvent(org.jboss.hal.spi.MessageEvent) SuccessfulMetadataCallback(org.jboss.hal.meta.processing.SuccessfulMetadataCallback) ADD(org.jboss.hal.dmr.ModelDescriptionConstants.ADD) CSS.btnDefault(org.jboss.hal.resources.CSS.btnDefault) LayoutBuilder.column(org.jboss.hal.ballroom.LayoutBuilder.column) CSS.tmTag(org.jboss.hal.resources.CSS.tmTag) CSS.clickable(org.jboss.hal.resources.CSS.clickable) Stack(java.util.Stack) FlowContext(org.jboss.hal.flow.FlowContext) Outcome(org.jboss.hal.flow.Outcome) HashSet(java.util.HashSet) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Property(org.jboss.hal.dmr.Property) OPERATIONS(org.jboss.hal.dmr.ModelDescriptionConstants.OPERATIONS) 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) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) REQUEST_PROPERTIES(org.jboss.hal.dmr.ModelDescriptionConstants.REQUEST_PROPERTIES) CSS.modelBrowserContent(org.jboss.hal.resources.CSS.modelBrowserContent) Elements.button(org.jboss.gwt.elemento.core.Elements.button) CSS.tagManagerTag(org.jboss.hal.resources.CSS.tagManagerTag) Logger(org.slf4j.Logger) Operation(org.jboss.hal.dmr.Operation) CREATE(org.jboss.hal.core.modelbrowser.SingletonState.CREATE) Ids(org.jboss.hal.resources.Ids) OBJECT(org.jboss.hal.dmr.ModelDescriptionConstants.OBJECT) Wizard(org.jboss.hal.ballroom.wizard.Wizard) EventBus(com.google.web.bindery.event.shared.EventBus) MODEL_BROWSER_ROOT(org.jboss.hal.resources.Ids.MODEL_BROWSER_ROOT) CSS.btn(org.jboss.hal.resources.CSS.btn) SelectionContext(org.jboss.hal.ballroom.tree.SelectionContext) CSS.vh(org.jboss.hal.resources.CSS.vh) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Collectors.toList(java.util.stream.Collectors.toList) Resources(org.jboss.hal.resources.Resources) SELECTED_PROFILE(org.jboss.hal.meta.StatementContext.Expression.SELECTED_PROFILE) HTMLButtonElement(elemental2.dom.HTMLButtonElement) Collections(java.util.Collections) Elements.span(org.jboss.gwt.elemento.core.Elements.span) Elements(org.jboss.gwt.elemento.core.Elements) Form(org.jboss.hal.ballroom.form.Form) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) SuccessfulMetadataCallback(org.jboss.hal.meta.processing.SuccessfulMetadataCallback) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Wizard(org.jboss.hal.ballroom.wizard.Wizard) HashSet(java.util.HashSet)

Example 24 with Resources

use of org.jboss.hal.resources.Resources in project console by hal.

the class RoleColumn method editStandardRole.

// ------------------------------------------------------ modify roles
private void editStandardRole(Role role) {
    Metadata metadata = metadataRegistry.lookup(ROLE_MAPPING_TEMPLATE);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.ROLE_MAPPING_FORM, metadata).unboundFormItem(new NameItem(), 0).include(INCLUDE_ALL).build();
    form.getFormItem(NAME).setEnabled(false);
    form.getFormItem(NAME).setRequired(false);
    ModelNode modelNode = new ModelNode();
    modelNode.get(INCLUDE_ALL).set(role.isIncludeAll());
    new ModifyResourceDialog(resources.messages().modifyResourceTitle(resources.constants().role()), form, (frm, changedValues) -> series(new FlowContext(progress.get()), new CheckRoleMapping(dispatcher, role), new AddRoleMapping(dispatcher, role, status -> status == 404), new ModifyIncludeAll(dispatcher, role, frm.getModel().get(INCLUDE_ALL).asBoolean())).subscribe(new SuccessfulOutcome<FlowContext>(eventBus, resources) {

        @Override
        public void onSuccess(FlowContext context) {
            MessageEvent.fire(eventBus, Message.success(resources.messages().modifyResourceSuccess(resources.constants().role(), role.getName())));
            accessControl.reload(() -> {
                refresh(role.getId());
                eventBus.fireEvent(new RolesChangedEvent());
            });
        }
    })).show(modelNode);
    form.getFormItem(NAME).setValue(role.getName());
}
Also used : Provider(javax.inject.Provider) Environment(org.jboss.hal.config.Environment) StatementContext(org.jboss.hal.meta.StatementContext) AddScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.AddScopedRole) ItemDisplay(org.jboss.hal.core.finder.ItemDisplay) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) HTMLElement(elemental2.dom.HTMLElement) Message(org.jboss.hal.spi.Message) SafeHtmlBuilder(com.google.gwt.safehtml.shared.SafeHtmlBuilder) Metadata(org.jboss.hal.meta.Metadata) CheckRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.CheckRoleMapping) Settings(org.jboss.hal.config.Settings) SingleSelectBoxItem(org.jboss.hal.ballroom.form.SingleSelectBoxItem) ModifyResourceDialog(org.jboss.hal.core.mbui.dialog.ModifyResourceDialog) RemoveAssignments(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveAssignments) List(java.util.List) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) MetadataRegistry(org.jboss.hal.meta.MetadataRegistry) SwitchItem(org.jboss.hal.ballroom.form.SwitchItem) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Flow.series(org.jboss.hal.flow.Flow.series) Role(org.jboss.hal.config.Role) Finder(org.jboss.hal.core.finder.Finder) Footer(org.jboss.hal.spi.Footer) Elements.small(org.jboss.gwt.elemento.core.Elements.small) CSS.subtitle(org.jboss.hal.resources.CSS.subtitle) ModelNode(org.jboss.hal.dmr.ModelNode) RemoveScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveScopedRole) AsyncColumn(org.jboss.hal.spi.AsyncColumn) MessageEvent(org.jboss.hal.spi.MessageEvent) SuccessfulOutcome(org.jboss.hal.core.SuccessfulOutcome) ColumnAction(org.jboss.hal.core.finder.ColumnAction) ItemAction(org.jboss.hal.core.finder.ItemAction) FlowContext(org.jboss.hal.flow.FlowContext) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) AddRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.AddRoleMapping) Task(org.jboss.hal.flow.Task) ModifyIncludeAll(org.jboss.hal.client.accesscontrol.AccessControlTasks.ModifyIncludeAll) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) RemoveRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveRoleMapping) FinderColumn(org.jboss.hal.core.finder.FinderColumn) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) Comparator.comparing(java.util.Comparator.comparing) ModifyScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.ModifyScopedRole) RolesChangedEvent(org.jboss.hal.config.RolesChangedEvent) AddressTemplates(org.jboss.hal.client.accesscontrol.AddressTemplates) ColumnActionFactory(org.jboss.hal.core.finder.ColumnActionFactory) Requires(org.jboss.hal.spi.Requires) CSS.itemText(org.jboss.hal.resources.CSS.itemText) Ids(org.jboss.hal.resources.Ids) EventBus(com.google.web.bindery.event.shared.EventBus) CSS.pfIcon(org.jboss.hal.resources.CSS.pfIcon) ReadChildrenAutoComplete(org.jboss.hal.ballroom.autocomplete.ReadChildrenAutoComplete) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Collectors.toList(java.util.stream.Collectors.toList) Resources(org.jboss.hal.resources.Resources) RUN_AS(org.jboss.hal.config.Settings.Key.RUN_AS) Elements.span(org.jboss.gwt.elemento.core.Elements.span) Form(org.jboss.hal.ballroom.form.Form) AddRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.AddRoleMapping) Metadata(org.jboss.hal.meta.Metadata) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) FlowContext(org.jboss.hal.flow.FlowContext) RolesChangedEvent(org.jboss.hal.config.RolesChangedEvent) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) ModifyIncludeAll(org.jboss.hal.client.accesscontrol.AccessControlTasks.ModifyIncludeAll) ModelNode(org.jboss.hal.dmr.ModelNode) ModifyResourceDialog(org.jboss.hal.core.mbui.dialog.ModifyResourceDialog) CheckRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.CheckRoleMapping)

Example 25 with Resources

use of org.jboss.hal.resources.Resources in project console by hal.

the class RoleColumn method removeScopedRole.

// ------------------------------------------------------ remove roles
private void removeScopedRole(Role role, String type) {
    List<Task<FlowContext>> tasks = new ArrayList<>();
    List<Assignment> assignments = accessControl.assignments().byRole(role).collect(toList());
    if (!assignments.isEmpty()) {
        tasks.add(new RemoveAssignments(dispatcher, assignments));
    }
    tasks.add(new CheckRoleMapping(dispatcher, role));
    tasks.add(new RemoveRoleMapping(dispatcher, role, status -> status == 200));
    tasks.add(new RemoveScopedRole(dispatcher, role));
    series(new FlowContext(progress.get()), tasks).subscribe(new SuccessfulOutcome<FlowContext>(eventBus, resources) {

        @Override
        public void onSuccess(FlowContext context) {
            MessageEvent.fire(eventBus, Message.success(resources.messages().removeResourceSuccess(type, role.getName())));
            accessControl.reload(() -> {
                refresh(RefreshMode.CLEAR_SELECTION);
                eventBus.fireEvent(new RolesChangedEvent());
            });
        }
    });
}
Also used : Provider(javax.inject.Provider) Environment(org.jboss.hal.config.Environment) StatementContext(org.jboss.hal.meta.StatementContext) AddScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.AddScopedRole) ItemDisplay(org.jboss.hal.core.finder.ItemDisplay) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) HTMLElement(elemental2.dom.HTMLElement) Message(org.jboss.hal.spi.Message) SafeHtmlBuilder(com.google.gwt.safehtml.shared.SafeHtmlBuilder) Metadata(org.jboss.hal.meta.Metadata) CheckRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.CheckRoleMapping) Settings(org.jboss.hal.config.Settings) SingleSelectBoxItem(org.jboss.hal.ballroom.form.SingleSelectBoxItem) ModifyResourceDialog(org.jboss.hal.core.mbui.dialog.ModifyResourceDialog) RemoveAssignments(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveAssignments) List(java.util.List) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) MetadataRegistry(org.jboss.hal.meta.MetadataRegistry) SwitchItem(org.jboss.hal.ballroom.form.SwitchItem) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Flow.series(org.jboss.hal.flow.Flow.series) Role(org.jboss.hal.config.Role) Finder(org.jboss.hal.core.finder.Finder) Footer(org.jboss.hal.spi.Footer) Elements.small(org.jboss.gwt.elemento.core.Elements.small) CSS.subtitle(org.jboss.hal.resources.CSS.subtitle) ModelNode(org.jboss.hal.dmr.ModelNode) RemoveScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveScopedRole) AsyncColumn(org.jboss.hal.spi.AsyncColumn) MessageEvent(org.jboss.hal.spi.MessageEvent) SuccessfulOutcome(org.jboss.hal.core.SuccessfulOutcome) ColumnAction(org.jboss.hal.core.finder.ColumnAction) ItemAction(org.jboss.hal.core.finder.ItemAction) FlowContext(org.jboss.hal.flow.FlowContext) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) AddRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.AddRoleMapping) Task(org.jboss.hal.flow.Task) ModifyIncludeAll(org.jboss.hal.client.accesscontrol.AccessControlTasks.ModifyIncludeAll) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) RemoveRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveRoleMapping) FinderColumn(org.jboss.hal.core.finder.FinderColumn) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) Comparator.comparing(java.util.Comparator.comparing) ModifyScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.ModifyScopedRole) RolesChangedEvent(org.jboss.hal.config.RolesChangedEvent) AddressTemplates(org.jboss.hal.client.accesscontrol.AddressTemplates) ColumnActionFactory(org.jboss.hal.core.finder.ColumnActionFactory) Requires(org.jboss.hal.spi.Requires) CSS.itemText(org.jboss.hal.resources.CSS.itemText) Ids(org.jboss.hal.resources.Ids) EventBus(com.google.web.bindery.event.shared.EventBus) CSS.pfIcon(org.jboss.hal.resources.CSS.pfIcon) ReadChildrenAutoComplete(org.jboss.hal.ballroom.autocomplete.ReadChildrenAutoComplete) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Collectors.toList(java.util.stream.Collectors.toList) Resources(org.jboss.hal.resources.Resources) RUN_AS(org.jboss.hal.config.Settings.Key.RUN_AS) Elements.span(org.jboss.gwt.elemento.core.Elements.span) Form(org.jboss.hal.ballroom.form.Form) Task(org.jboss.hal.flow.Task) RemoveScopedRole(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveScopedRole) ArrayList(java.util.ArrayList) FlowContext(org.jboss.hal.flow.FlowContext) RolesChangedEvent(org.jboss.hal.config.RolesChangedEvent) RemoveRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveRoleMapping) RemoveAssignments(org.jboss.hal.client.accesscontrol.AccessControlTasks.RemoveAssignments) CheckRoleMapping(org.jboss.hal.client.accesscontrol.AccessControlTasks.CheckRoleMapping)

Aggregations

Resources (org.jboss.hal.resources.Resources)44 Dispatcher (org.jboss.hal.dmr.dispatch.Dispatcher)41 EventBus (com.google.web.bindery.event.shared.EventBus)39 Ids (org.jboss.hal.resources.Ids)38 Operation (org.jboss.hal.dmr.Operation)37 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)37 Metadata (org.jboss.hal.meta.Metadata)37 Inject (javax.inject.Inject)36 ModelNode (org.jboss.hal.dmr.ModelNode)35 StatementContext (org.jboss.hal.meta.StatementContext)35 List (java.util.List)34 Provider (javax.inject.Provider)34 ModelDescriptionConstants (org.jboss.hal.dmr.ModelDescriptionConstants)34 Progress (org.jboss.hal.flow.Progress)34 Message (org.jboss.hal.spi.Message)33 MessageEvent (org.jboss.hal.spi.MessageEvent)33 Flow.series (org.jboss.hal.flow.Flow.series)31 FlowContext (org.jboss.hal.flow.FlowContext)31 Footer (org.jboss.hal.spi.Footer)31 Names (org.jboss.hal.resources.Names)30