Search in sources :

Example 26 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class StoresPresenter method setSecret.

// ----------------- key store
void setSecret(Metadata metadata, String name, String alias) {
    AddressTemplate template = metadata.getTemplate();
    String resource = Names.CREDENTIAL_STORE + SPACE + name;
    Metadata opMetadata = metadata.forOperation(SET_SECRET);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.build(template.lastName(), SET_SECRET), opMetadata).build();
    form.attach();
    form.getFormItem(ALIAS).setEnabled(false);
    form.setSaveCallback((f, changedValues) -> {
        ResourceAddress address = template.resolve(statementContext, name);
        Operation op = new Operation.Builder(address, SET_SECRET).payload(f.getModel()).build();
        dispatcher.execute(op, result -> MessageEvent.fire(getEventBus(), Message.success(resources.messages().setSecretPasswordSuccess(alias, resource))), (operation, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().setSecretPasswordError(alias, resource, failure))), (operation, ex) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().setSecretPasswordError(alias, resource, ex.getMessage()))));
    });
    Dialog dialog = new Dialog.Builder(resources.constants().setSecret()).add(p().textContent(opMetadata.getDescription().getDescription()).element()).add(form.element()).primary(resources.constants().setSecret(), form::save).size(Dialog.Size.MEDIUM).closeOnEsc(true).cancel().build();
    dialog.registerAttachable(form);
    ModelNode modelNode = new ModelNode();
    modelNode.get(ALIAS).set(alias);
    dialog.show();
    form.edit(modelNode);
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 27 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class StoresPresenter method generateCSR.

void generateCSR(Metadata metadata, String name, String alias) {
    AddressTemplate template = metadata.getTemplate();
    String resource = Names.KEY_STORE + SPACE + name;
    Metadata opMetadata = metadata.forOperation(GENERATE_CERTIFICATE_SIGNING_REQUEST);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.build(template.lastName(), GENERATE_CERTIFICATE_SIGNING_REQUEST), opMetadata).build();
    form.setSaveCallback((form1, changedValues) -> {
        ResourceAddress address = template.resolve(statementContext, name);
        Operation operation = new Operation.Builder(address, GENERATE_CERTIFICATE_SIGNING_REQUEST).payload(form.getModel()).build();
        String path = form.getModel().get(PATH).asString();
        dispatcher.execute(operation, result -> MessageEvent.fire(getEventBus(), Message.success(resources.messages().generateCSRSuccess(alias, path, resource))), (op, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().generateCSRError(alias, path, resource, failure))), (op, ex) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().generateCSRError(alias, path, resource, ex.getMessage()))));
    });
    ModelNode model = new ModelNode();
    model.get(ALIAS).set(alias);
    form.getFormItem(ALIAS).setEnabled(false);
    Dialog dialog = new Dialog.Builder(resources.constants().generateCSR()).add(p().textContent(metadata.getDescription().getDescription()).element()).add(form.element()).primary(resources.constants().generate(), form::save).size(Dialog.Size.MEDIUM).closeOnEsc(true).cancel().build();
    dialog.registerAttachable(form);
    dialog.show();
    form.edit(model);
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 28 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class StoresPresenter method obtainCertificate.

void obtainCertificate(Metadata metadata, String name) {
    metadata = metadata.forOperation(OBTAIN_CERTIFICATE);
    String id = Ids.build(KEY_STORE, OBTAIN_CERTIFICATE, FORM);
    String title = new LabelBuilder().label(OBTAIN_CERTIFICATE);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(id, metadata).build();
    form.setSaveCallback((form1, changedValues) -> {
        ResourceAddress address = KEY_STORE_TEMPLATE.resolve(statementContext, name);
        Operation operation = new Operation.Builder(address, OBTAIN_CERTIFICATE).payload(form.getModel()).build();
        String alias = form.getModel().get(ALIAS).asString();
        dispatcher.execute(operation, result -> MessageEvent.fire(getEventBus(), Message.success(resources.messages().obtainCertificateSuccess(alias, name))), (operation1, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().obtainCertificateError(alias, name, failure))), (operation1, ex) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().obtainCertificateError(alias, name, ex.getMessage()))));
    });
    Dialog dialog = new Dialog.Builder(title).add(p().textContent(metadata.getDescription().getDescription()).element()).add(form.element()).primary(resources.constants().obtain(), form::save).size(Dialog.Size.MEDIUM).closeOnEsc(true).cancel().build();
    dialog.registerAttachable(form);
    if (!environment.isStandalone()) {
        // the capability reference the /profile=* resource and the template attached to the metadata
        // points to the {selected.host}/{selected.server}, so we need to register the template to the profile
        String capability = metadata.getDescription().get(ATTRIBUTES).get(CERTIFICATE_AUTHORITY_ACCOUNT).get(CAPABILITY_REFERENCE).asString();
        form.getFormItem(CERTIFICATE_AUTHORITY_ACCOUNT).registerSuggestHandler(new SuggestCapabilitiesAutoComplete(dispatcher, statementContext, capability, ELYTRON_PROFILE_TEMPLATE));
    }
    dialog.show();
    form.edit(new ModelNode());
}
Also used : SuggestCapabilitiesAutoComplete(org.jboss.hal.ballroom.autocomplete.SuggestCapabilitiesAutoComplete) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 29 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class StoresPresenter method revokeCertificate.

void revokeCertificate(Metadata metadata, String name, String alias) {
    metadata = metadata.forOperation(REVOKE_CERTIFICATE);
    String id = Ids.build(KEY_STORE, REVOKE_CERTIFICATE, FORM);
    String title = new LabelBuilder().label(CERTIFICATE_AUTHORITY_ACCOUNT);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(id, metadata).build();
    form.setSaveCallback((form1, changedValues) -> {
        ResourceAddress address = KEY_STORE_TEMPLATE.resolve(statementContext, name);
        Operation operation = new Operation.Builder(address, REVOKE_CERTIFICATE).payload(form.getModel()).build();
        dispatcher.execute(operation, result -> MessageEvent.fire(getEventBus(), Message.success(resources.messages().revokeCertificateSuccess(alias, name))), (operation1, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().revokeCertificateError(alias, name, failure))), (operation1, ex) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().revokeCertificateError(alias, name, ex.getMessage()))));
    });
    Dialog dialog = new Dialog.Builder(title).add(p().textContent(metadata.getDescription().getDescription()).element()).add(form.element()).primary(resources.constants().revoke(), form::save).size(Dialog.Size.MEDIUM).closeOnEsc(true).cancel().build();
    dialog.registerAttachable(form);
    ModelNode model = new ModelNode();
    model.get(ALIAS).set(alias);
    form.getFormItem(ALIAS).setEnabled(false);
    if (!environment.isStandalone()) {
        // the capability reference the /profile=* resource and the template attached to the metadata
        // points to the {selected.host}/{selected.server}, so we need to register the template to the profile
        String capability = metadata.getDescription().get(ATTRIBUTES).get(CERTIFICATE_AUTHORITY_ACCOUNT).get(CAPABILITY_REFERENCE).asString();
        form.getFormItem(CERTIFICATE_AUTHORITY_ACCOUNT).registerSuggestHandler(new SuggestCapabilitiesAutoComplete(dispatcher, statementContext, capability, ELYTRON_PROFILE_TEMPLATE));
    }
    dialog.show();
    form.edit(model);
}
Also used : SuggestCapabilitiesAutoComplete(org.jboss.hal.ballroom.autocomplete.SuggestCapabilitiesAutoComplete) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 30 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class ServerActions method editUrl.

public void editUrl(Server server, Callback callback) {
    Alert alert = new Alert(Icons.ERROR, resources.messages().serverUrlError());
    HTMLElement info = p().element();
    TextBoxItem urlItem = new TextBoxItem(URL, Names.URL);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.SERVER_URL_FORM, Metadata.empty()).unboundFormItem(urlItem).addOnly().onSave((f, changedValues) -> {
        String url = urlItem.getValue();
        if (Strings.isNullOrEmpty(url)) {
            serverUrlStorage.remove(server.getHost(), server.getName());
        } else {
            serverUrlStorage.save(server.getHost(), server.getName(), url);
        }
        callback.execute();
    }).build();
    Dialog dialog = new Dialog.Builder(resources.constants().editURL()).add(alert.element()).add(info).add(form.element()).primary(form::save).cancel().closeIcon(true).closeOnEsc(true).build();
    dialog.registerAttachable(form);
    Elements.setVisible(alert.element(), false);
    Elements.setVisible(info, false);
    readUrl(server, new AsyncCallback<ServerUrl>() {

        @Override
        public void onFailure(Throwable caught) {
            Elements.setVisible(alert.element(), true);
            show(null);
        }

        @Override
        public void onSuccess(ServerUrl serverUrl) {
            if (serverUrl.isCustom()) {
                info.innerHTML = resources.messages().serverUrlCustom().asString();
            } else {
                info.innerHTML = resources.messages().serverUrlManagementModel().asString();
            }
            Elements.setVisible(info, true);
            show(serverUrl);
        }

        private void show(ServerUrl serverUrl) {
            dialog.show();
            form.edit(new ModelNode());
            if (serverUrl != null) {
                urlItem.setValue(serverUrl.getUrl());
            }
        }
    });
}
Also used : Dialog(org.jboss.hal.ballroom.dialog.Dialog) DISABLED(org.jboss.hal.core.runtime.server.ServerConfigStatus.DISABLED) Provider(javax.inject.Provider) Elements.a(org.jboss.gwt.elemento.core.Elements.a) TimeoutHandler.repeatUntilTimeout(org.jboss.hal.dmr.dispatch.TimeoutHandler.repeatUntilTimeout) STOPPED(org.jboss.hal.core.runtime.server.ServerConfigStatus.STOPPED) StatementContext(org.jboss.hal.meta.StatementContext) LoggerFactory(org.slf4j.LoggerFactory) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) ManagementModel(org.jboss.hal.meta.ManagementModel) Icons(org.jboss.hal.resources.Icons) ModelNodeHelper.asEnumValue(org.jboss.hal.dmr.ModelNodeHelper.asEnumValue) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) OnError(org.jboss.hal.dmr.dispatch.Dispatcher.OnError) Elements.p(org.jboss.gwt.elemento.core.Elements.p) STARTED(org.jboss.hal.core.runtime.server.ServerConfigStatus.STARTED) HTMLElement(elemental2.dom.HTMLElement) Map(java.util.Map) SuspendState(org.jboss.hal.core.runtime.SuspendState) Message(org.jboss.hal.spi.Message) Timeouts(org.jboss.hal.core.runtime.Timeouts) Metadata(org.jboss.hal.meta.Metadata) Names(org.jboss.hal.resources.Names) EnumSet(java.util.EnumSet) CSS.marginLeft5(org.jboss.hal.resources.CSS.marginLeft5) Predicate(java.util.function.Predicate) SingleSelectBoxItem(org.jboss.hal.ballroom.form.SingleSelectBoxItem) FORM(org.jboss.hal.resources.Ids.FORM) ReadSocketBinding(org.jboss.hal.core.runtime.server.ServerUrlTasks.ReadSocketBinding) List(java.util.List) MetadataProcessor(org.jboss.hal.meta.processing.MetadataProcessor) Callback(org.jboss.hal.spi.Callback) Action(org.jboss.hal.core.runtime.Action) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) Core(org.jboss.hal.core.Core) Flow.series(org.jboss.hal.flow.Flow.series) Footer(org.jboss.hal.spi.Footer) SafeHtml(com.google.gwt.safehtml.shared.SafeHtml) Subscription(rx.Subscription) CSS.fontAwesome(org.jboss.hal.resources.CSS.fontAwesome) DomGlobal.setTimeout(elemental2.dom.DomGlobal.setTimeout) ModelNode(org.jboss.hal.dmr.ModelNode) Alert(org.jboss.hal.ballroom.Alert) MessageEvent(org.jboss.hal.spi.MessageEvent) SHORT_TIMEOUT(org.jboss.hal.resources.UIConstants.SHORT_TIMEOUT) SuccessfulMetadataCallback(org.jboss.hal.meta.processing.SuccessfulMetadataCallback) ModelNodeHelper.getOrDefault(org.jboss.hal.dmr.ModelNodeHelper.getOrDefault) HashMap(java.util.HashMap) RUNNING(org.jboss.hal.core.runtime.RunningState.RUNNING) Result(org.jboss.hal.core.runtime.Result) FlowContext(org.jboss.hal.flow.FlowContext) Outcome(org.jboss.hal.flow.Outcome) ArrayList(java.util.ArrayList) OnFail(org.jboss.hal.dmr.dispatch.Dispatcher.OnFail) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Property(org.jboss.hal.dmr.Property) Strings(com.google.common.base.Strings) AsyncCallback(com.google.gwt.user.client.rpc.AsyncCallback) TimeoutHandler.repeatOperationUntil(org.jboss.hal.dmr.dispatch.TimeoutHandler.repeatOperationUntil) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) ReadSocketBindingGroup(org.jboss.hal.core.runtime.server.ServerUrlTasks.ReadSocketBindingGroup) BlockingDialog(org.jboss.hal.ballroom.dialog.BlockingDialog) Logger(org.slf4j.Logger) CompositeResult(org.jboss.hal.dmr.CompositeResult) Operation(org.jboss.hal.dmr.Operation) Ids(org.jboss.hal.resources.Ids) EventBus(com.google.web.bindery.event.shared.EventBus) CSS.pfIcon(org.jboss.hal.resources.CSS.pfIcon) DialogFactory(org.jboss.hal.ballroom.dialog.DialogFactory) CompletableSubscriber(rx.CompletableSubscriber) Consumer(java.util.function.Consumer) Composite(org.jboss.hal.dmr.Composite) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) Resources(org.jboss.hal.resources.Resources) SUSPENDED(org.jboss.hal.core.runtime.SuspendState.SUSPENDED) RunningState(org.jboss.hal.core.runtime.RunningState) Elements.span(org.jboss.gwt.elemento.core.Elements.span) Elements(org.jboss.gwt.elemento.core.Elements) OperationFormBuilder(org.jboss.hal.core.mbui.form.OperationFormBuilder) Form(org.jboss.hal.ballroom.form.Form) URL_KEY(org.jboss.hal.core.runtime.server.ServerUrlTasks.URL_KEY) HTMLElement(elemental2.dom.HTMLElement) OperationFormBuilder(org.jboss.hal.core.mbui.form.OperationFormBuilder) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) BlockingDialog(org.jboss.hal.ballroom.dialog.BlockingDialog) Alert(org.jboss.hal.ballroom.Alert) ModelNode(org.jboss.hal.dmr.ModelNode)

Aggregations

Dialog (org.jboss.hal.ballroom.dialog.Dialog)30 ModelNode (org.jboss.hal.dmr.ModelNode)26 Operation (org.jboss.hal.dmr.Operation)23 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)22 ModelNodeForm (org.jboss.hal.core.mbui.form.ModelNodeForm)21 LabelBuilder (org.jboss.hal.ballroom.LabelBuilder)18 Metadata (org.jboss.hal.meta.Metadata)17 AddResourceDialog (org.jboss.hal.core.mbui.dialog.AddResourceDialog)15 AddressTemplate (org.jboss.hal.meta.AddressTemplate)12 FlowContext (org.jboss.hal.flow.FlowContext)11 Form (org.jboss.hal.ballroom.form.Form)9 Ids (org.jboss.hal.resources.Ids)9 Resources (org.jboss.hal.resources.Resources)9 SafeHtml (com.google.gwt.safehtml.shared.SafeHtml)8 EventBus (com.google.web.bindery.event.shared.EventBus)8 Inject (javax.inject.Inject)8 Provider (javax.inject.Provider)8 ModelDescriptionConstants (org.jboss.hal.dmr.ModelDescriptionConstants)8 Dispatcher (org.jboss.hal.dmr.dispatch.Dispatcher)8 Progress (org.jboss.hal.flow.Progress)8