Example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

Introduction

In this page you can find the example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel.

Prototype

public SingleSelectionModel(ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a SingleSelectionModel with the given key provider.

Usage

From source file:org.jboss.as.console.client.shared.subsys.jberet.ui.ThreadPoolRuntimePanel.java

License:Open Source License

@Override
public Widget asWidget() {
    ProvidesKey<Property> providesKey = Property::getName;
    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    dataProvider.addDataDisplay(table);/*from  w  w w .j  a  va 2 s  . c  om*/
    selectionModel = new SingleSelectionModel<>(providesKey);
    selectionModel.addSelectionChangeHandler(event -> {
        Property selection = selectionModel.getSelectedObject();
        if (selection != null) {
            ModelNode metric = selection.getValue();
            refresh(metric);
        }
    });
    table.setSelectionModel(selectionModel);
    TextColumn<Property> nameColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property node) {
            return node.getName();
        }
    };
    table.addColumn(nameColumn, "Name");

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);

    VerticalPanel tableAndPager = new VerticalPanel();
    tableAndPager.setStyleName("fill-layout-width");
    tableAndPager.add(table);
    tableAndPager.add(pager);

    SecurityContext securityContext = securityFramework.getSecurityContext(presenter.getProxy().getNameToken());
    ResourceDescription rootDescription = resourceDescriptionRegistry.lookup(JberetStore.METRICS_ROOT_ADDRESS);
    ResourceDescription threadPoolsDescription = rootDescription.getChildDescription("thread-pool");
    ModelNodeFormBuilder.FormAssets formAssets = new ModelNodeFormBuilder()
            .setResourceDescription(threadPoolsDescription).setSecurityContext(securityContext)
            .include(METRIC_ATTRIBUTES).build();
    Widget help = formAssets.getHelp().asWidget();
    help.getElement().getStyle().setMarginTop(40, PX);

    HTML refreshBtn = new HTML("<i class='icon-refresh'></i> Refresh Results");
    refreshBtn.setStyleName("html-link");
    refreshBtn.getElement().getStyle().setPaddingRight(10, PX);
    refreshBtn.getElement().getStyle().setFloat(RIGHT);
    refreshBtn.addClickHandler(event -> {
        Property selection = selectionModel.getSelectedObject();
        if (selection != null) {
            circuit.dispatch(new RefreshThreadPoolMetric(selection.getName()));
        }
    });
    HorizontalPanel header = new HorizontalPanel();
    header.addStyleName("fill-layout-width");
    header.add(new HTML("<h3 class='metric-label-embedded'>Thread Pool</h3>"));
    header.add(refreshBtn);

    columns = new Column[] { new NumberColumn("active-count", "Active Count"),
            new NumberColumn("completed-task-count", "Completed Task Count"),
            new NumberColumn("current-thread-count", "Current Thread Count"),
            new NumberColumn("largest-thread-count", "Largest Thread Count"),
            new NumberColumn("queue-size", "Queue Size"), new NumberColumn("rejected-count", "Rejected Count"),
            new NumberColumn("task-count", "Task Count") };
    grid = new Grid(columns.length, 2);
    grid.addStyleName("metric-grid");
    for (int row = 0; row < columns.length; ++row) {
        grid.getCellFormatter().addStyleName(row, 0, "nominal");
        grid.getCellFormatter().addStyleName(row, 1, "numerical");
    }

    VerticalPanel metricsPanel = new VerticalPanel();
    metricsPanel.addStyleName("metric-container");
    metricsPanel.add(header);
    metricsPanel.add(grid);

    SimpleLayout layout = new SimpleLayout().setPlain(true).setHeadline("Thread Pools")
            .setDescription(SafeHtmlUtils.fromString(threadPoolsDescription.get("description").asString()))
            .addContent("", tableAndPager).addContent("", help).addContent("", metricsPanel);

    return layout.build().asWidget();

}

From source file:org.jboss.as.console.client.shared.subsys.picketlink.MasterDetailEditor.java

License:Open Source License

MasterDetailEditor(final SecurityContext securityContext, final StatementContext statementContext,
        final ResourceDescription resourceDescription, final String resourceName) {
    this.securityContext = securityContext;
    this.statementContext = statementContext;
    this.resourceDescription = resourceDescription;
    this.resourceName = resourceName;

    //noinspection Convert2MethodRef
    ProvidesKey<Property> providesKey = item -> item.getName();
    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    selectionModel = new SingleSelectionModel<>(providesKey);
    //noinspection unchecked
    dataProvider.addDataDisplay(table);//from   w  w w . j  a  va 2  s .  co m
    table.setSelectionModel(selectionModel);
}

From source file:org.jboss.as.console.client.shared.subsys.remoting.ui.RemotingEditor.java

License:Open Source License

RemotingEditor(DispatchAsync dispatcher, SecurityContext securityContext, StatementContext statementContext,
        AddressTemplate addressTemplate, ResourceDescription resourceDescription) {
    this.dispatcher = dispatcher;
    this.securityContext = securityContext;
    this.statementContext = statementContext;
    this.addressTemplate = addressTemplate;
    this.resourceDescription = resourceDescription;

    ProvidesKey<Property> providesKey = new ProvidesKey<Property>() {
        @Override/*ww w . ja v a 2  s .  c  o  m*/
        public Object getKey(Property item) {
            return item.getName();
        }
    };
    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    selectionModel = new SingleSelectionModel<>(providesKey);
    //noinspection unchecked
    dataProvider.addDataDisplay(table);
    table.setSelectionModel(selectionModel);
}

From source file:org.jboss.as.console.client.shared.subsys.undertow.ApplicationSecurityDomainResourceView.java

License:Apache License

public Widget asWidget() {

    String title = Console.CONSTANTS.undertowApplicationSecurityDomain();
    ResourceDescription resourceDescription = presenter.getDescriptionRegistry()
            .lookup(APPLICATION_SECURITY_DOMAIN);
    ResourceDescription ssoDescription = presenter.getDescriptionRegistry()
            .lookup(APPLICATION_SECURITY_DOMAIN_SSO);

    // repackage credential-reference inner attributes to show up in the ADD modal dialog
    // as the credential-reference is a required=true
    ModelNode reqPropsDescription = ssoDescription.get(OPERATIONS).get(ADD).get(REQUEST_PROPERTIES);
    ModelNode credRefDescription = reqPropsDescription.get(CREDENTIAL_REFERENCE).get(VALUE_TYPE);
    reqPropsDescription.get("credential-reference-store").set(credRefDescription.get("store")).get("nillable")
            .set(true);//w w w  .j av  a  2  s . c  om
    reqPropsDescription.get("credential-reference-alias").set(credRefDescription.get("alias")).get("nillable")
            .set(true);
    reqPropsDescription.get("credential-reference-type").set(credRefDescription.get("type")).get("nillable")
            .set(true);
    reqPropsDescription.get("credential-reference-clear-text").set(credRefDescription.get("clear-text"))
            .get("nillable").set(true);

    ToolStrip tools = new ToolStrip();
    tools.addToolButtonRight(
            new ToolButton(Console.CONSTANTS.common_label_add(), event -> onAdd(resourceDescription)));
    tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_delete(), event -> {
        if (selectionModel.getSelectedObject() != null) {
            String name = selectionModel.getSelectedObject().getName();
            Feedback.confirm(Console.MESSAGES.deleteTitle(title),
                    Console.MESSAGES.deleteConfirm(title + " '" + name + "'"), isConfirmed -> {
                        if (isConfirmed) {
                            presenter.onRemoveResource(APPLICATION_SECURITY_DOMAIN,
                                    selectionModel.getSelectedObject().getName());
                        }
                    });
        }
    }));

    ProvidesKey<Property> providesKey = Property::getName;
    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    dataProvider.addDataDisplay(table);
    selectionModel = new SingleSelectionModel<>(providesKey);
    TextColumn<Property> nameColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property node) {
            return node.getName();
        }
    };
    table.addColumn(nameColumn, "Name");

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);

    formAttributesAssets = new ModelNodeFormBuilder().createValidators(true)
            .setResourceDescription(resourceDescription).setSecurityContext(securityContext).build();

    formAttributesAssets.getForm().setToolsCallback(new FormCallback() {
        @Override
        @SuppressWarnings("unchecked")
        public void onSave(final Map changeset) {
            presenter.onSaveResource(APPLICATION_SECURITY_DOMAIN, selectionModel.getSelectedObject().getName(),
                    changeset);
        }

        @Override
        public void onCancel(final Object entity) {
            formAttributesAssets.getForm().cancel();
        }
    });

    ModelNodeFormBuilder.FormAssets formSsoAssets = new ModelNodeFormBuilder().createValidators(true)
            .exclude(CREDENTIAL_REFERENCE).setResourceDescription(ssoDescription)
            .setSecurityContext(securityContext).createValidators(true).build();

    formSsoAssets.getForm().setToolsCallback(new FormCallback() {
        @Override
        @SuppressWarnings("unchecked")
        public void onSave(final Map changeset) {
            String name = selectionModel.getSelectedObject().getName();
            presenter.onSaveResource(APPLICATION_SECURITY_DOMAIN_SSO, name, changeset);
        }

        @Override
        public void onCancel(final Object entity) {
            formAttributesAssets.getForm().cancel();
        }
    });

    ModelNodeFormBuilder.FormAssets credentialReferenceFormAsset = new ComplexAttributeForm(
            CREDENTIAL_REFERENCE, securityContext, ssoDescription).build();
    credentialReferenceFormAsset.getForm().setToolsCallback(new FormCallback() {
        @Override
        public void onSave(final Map changeset) {
            presenter.onSaveComplexAttribute(APPLICATION_SECURITY_DOMAIN_SSO,
                    selectionModel.getSelectedObject().getName(), CREDENTIAL_REFERENCE,
                    credentialReferenceFormAsset.getForm().getUpdatedEntity());
        }

        @Override
        public void onCancel(final Object entity) {
            credentialReferenceFormAsset.getForm().cancel();
        }
    });
    credentialReferenceFormAsset.getForm().addFormValidator(new CredentialReferenceFormValidation());

    // this button is only displayed when the setting=single-sign-on resource doesn't exist
    ToolButton btnAddSso = new ToolButton("Enable Single Sign On",
            clickEvent -> onAddSingleSignOn(ssoDescription));

    VerticalPanel formPanel = new VerticalPanel();
    formPanel.setStyleName("fill-layout-width");

    Widget formSsoWidget = formSsoAssets.getForm().asWidget();

    selectionModel.addSelectionChangeHandler(event -> {
        Property selectedProperty = selectionModel.getSelectedObject();
        if (selectedProperty != null) {
            ModelNode appNode = selectedProperty.getValue();
            formAttributesAssets.getForm().edit(appNode);
            // if the resource setting=single-sign-on doesn't exist, show a button to add it
            // otherwise shows the sso form
            if (appNode.hasDefined("setting")) {
                ModelNode ssoNode = appNode.get("setting").get("single-sign-on");
                formSsoAssets.getForm().edit(ssoNode);
                credentialReferenceFormAsset.getForm().edit(ssoNode.get(CREDENTIAL_REFERENCE));
                formPanel.add(formSsoWidget);
                formPanel.remove(btnAddSso);
            } else {
                formPanel.remove(formSsoWidget);
                formPanel.add(btnAddSso);
                credentialReferenceFormAsset.getForm().clearValues();
                formSsoAssets.getForm().clearValues();
            }
        } else {
            formAttributesAssets.getForm().clearValues();
            formSsoAssets.getForm().clearValues();
            credentialReferenceFormAsset.getForm().clearValues();
        }
    });
    table.setSelectionModel(selectionModel);

    MultipleToOneLayout layoutBuilder = new MultipleToOneLayout().setPlain(true).setHeadline(title)
            .setDescription(SafeHtmlUtils.fromString(resourceDescription.get(DESCRIPTION).asString()))
            .setMasterTools(tools).setMaster(Console.MESSAGES.available(title), table)
            .addDetail(Console.CONSTANTS.common_label_attributes(), formAttributesAssets.asWidget())
            .addDetail("Single Sign On", formPanel)
            .addDetail("SSO - Credential Reference", credentialReferenceFormAsset.asWidget());

    // creates the FormAsset used in the Add modal dialog for Single Sign-on form, to reuse it.
    ssoAddFormAssets = new ModelNodeFormBuilder().setResourceDescription(ssoDescription).setCreateMode(true)
            .unsorted().exclude(CREDENTIAL_REFERENCE).setCreateNameAttribute(false)
            .setSecurityContext(securityContext).createValidators(true)
            .requiresAtLeastOne("credential-reference-store", "credential-reference-clear-text").build();
    ssoAddFormAssets.getForm().setEnabled(true);
    ssoAddFormAssets.getForm().addFormValidator(new CredentialReferenceFormValidation(true));

    return layoutBuilder.build();
}

From source file:org.jboss.as.console.client.shared.subsys.undertow.FilterEditor.java

License:Open Source License

public FilterEditor(FilterPresenter presenter, AddressTemplate addressTemplate, String title,
        boolean showDeprecated) {
    this.presenter = presenter;
    this.showDeprecated = showDeprecated;
    ProvidesKey<Property> providesKey = Property::getName;
    this.selectionModel = new SingleSelectionModel<>(providesKey);
    this.table = new DefaultCellTable(5, providesKey);
    this.table.setSelectionModel(selectionModel);
    this.dataProvider = new ListDataProvider<>(providesKey);
    this.dataProvider.addDataDisplay(table);
    securityContext = presenter.getSecurityFramework().getSecurityContext(presenter.getProxy().getNameToken());
    definition = presenter.getDescriptionRegistry().lookup(addressTemplate);
    this.addressTemplate = addressTemplate;
    this.title = title;
}

From source file:org.jboss.as.console.client.shared.subsys.undertow.FilterRefEditor.java

License:Open Source License

FilterRefEditor(HttpPresenter presenter, AddressTemplate operationAddress) {
    this.presenter = presenter;
    this.nameProvider = Property::getName;
    this.operationAddress = operationAddress;
    selectionModel = new SingleSelectionModel<>(nameProvider);
}

From source file:org.jboss.as.console.client.shared.subsys.ws.ConfigEditorWS.java

License:Open Source License

public ConfigEditorWS(DispatchAsync dispatcher, Dispatcher circuit, SecurityContext securityContext,
        StatementContext statementContext, AddressTemplate addressTemplate,
        ResourceDescription resourceDescription, String title, WebServicePresenter presenter) {

    this.circuit = circuit;
    this.dispatcher = dispatcher;
    this.securityContext = securityContext;
    this.statementContext = statementContext;
    this.addressTemplate = addressTemplate;
    this.resourceDescription = resourceDescription;
    this.title = title;
    this.presenter = presenter;

    ProvidesKey<Property> providesKey = Property::getName;

    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    selectionModel = new SingleSelectionModel<>(providesKey);
    dataProvider.addDataDisplay(table);/*  w  ww .  ja v  a 2 s  .c om*/
    table.setSelectionModel(selectionModel);
}

From source file:org.jboss.as.console.client.shared.subsys.ws.HandlerClassEditor.java

License:Open Source License

@SuppressWarnings("unchecked")
public Widget asWidget() {
    VerticalPanel panel = new VerticalPanel();
    panel.addStyleName("fill-layout-width");

    // table//from w  w w.  j a  v a  2 s  .c  o  m
    table = new DefaultCellTable<>(numRows, nameProvider);
    dataProvider = new ListDataProvider<>(nameProvider);
    dataProvider.addDataDisplay(table);
    final SingleSelectionModel<Property> selectionModel = new SingleSelectionModel<>(nameProvider);
    table.setSelectionModel(selectionModel);

    // columns
    Column<Property, String> nameColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property property) {
            return property.getName();
        }
    };
    nameColumn.setSortable(true);
    Column<Property, String> classColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property property) {
            return getClassValue(property).asString();
        }
    };
    ColumnSortEvent.ListHandler<Property> sortHandler = new ColumnSortEvent.ListHandler<>(
            dataProvider.getList());
    sortHandler.setComparator(nameColumn,
            (o1, o2) -> o1.getName().toLowerCase().compareTo(o2.getName().toLowerCase()));
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_name());
    table.addColumn(classColumn, "Handler class");
    table.setColumnWidth(nameColumn, 40, Style.Unit.PCT);
    table.setColumnWidth(classColumn, 60, Style.Unit.PCT);
    table.addColumnSortHandler(sortHandler);
    table.getColumnSortList().push(nameColumn);

    // tools
    ToolStrip tools = new ToolStrip();
    ToolButton addButton = new ToolButton(Console.CONSTANTS.common_label_add(), event -> onAdd());
    ToolButton removeButton = new ToolButton(Console.CONSTANTS.common_label_delete(), event -> {
        final Property selection = selectionModel.getSelectedObject();
        if (selection != null) {
            Feedback.confirm(Console.CONSTANTS.subsys_ws_remove_handler(),
                    Console.MESSAGES.deleteConfirm("handler class " + selection.getName()),
                    new Feedback.ConfirmationHandler() {
                        @Override
                        public void onConfirmation(boolean isConfirmed) {
                            if (isConfirmed) {
                                circuit.dispatch(
                                        new DeleteHandler(resolvedOperationAddress, selection.getName()));
                            }
                        }
                    });
        }
    });
    addButton.setOperationAddress(operationAddress.getTemplate(), ModelDescriptionConstants.ADD);
    removeButton.setOperationAddress(operationAddress.getTemplate(), ModelDescriptionConstants.REMOVE);
    tools.addToolButtonRight(addButton);
    tools.addToolButtonRight(removeButton);
    panel.add(tools);

    panel.add(table);
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);
    panel.add(pager);
    return panel;
}

From source file:org.jboss.as.console.client.shared.subsys.ws.HandlerEditor.java

License:Open Source License

public HandlerEditor(Dispatcher circuit, SecurityContext securityContext, AddressTemplate addressTemplate,
        ResourceDescription resourceDescription) {

    this.securityContext = securityContext;
    this.resourceDescription = resourceDescription;
    this.circuit = circuit;
    this.addressTemplate = addressTemplate;

    ProvidesKey<Property> providesKey = Property::getName;

    table = new DefaultCellTable<>(5, providesKey);
    dataProvider = new ListDataProvider<>(providesKey);
    selectionModel = new SingleSelectionModel<>(providesKey);
    //noinspection unchecked
    dataProvider.addDataDisplay(table);//from ww  w .  ja  va  2 s  . c  o m
    table.setSelectionModel(selectionModel);
}

From source file:org.jboss.as.console.client.standalone.deployment.StandaloneDeploymentView.java

License:Open Source License

@Override
public Widget createWidget() {
    DeploymentDataKeyProvider<DeploymentRecord> keyProvider = new DeploymentDataKeyProvider<DeploymentRecord>();
    final SingleSelectionModel<DeploymentRecord> selectionModel = new SingleSelectionModel<DeploymentRecord>(
            keyProvider);//www  .  j a  v a  2  s  . co  m

    final ToolStrip toolStrip = new ToolStrip();
    ToolButton addBtn = new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            presenter.launchNewDeploymentDialoge(null, false);
        }
    });
    addBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_deploymentListView());
    toolStrip.addToolButtonRight(addBtn);
    toolStrip.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            DeploymentRecord selection = selectionModel.getSelectedObject();
            if (selection != null) {
                new DeploymentCommandDelegate(StandaloneDeploymentView.this.presenter,
                        DeploymentCommand.REMOVE_FROM_STANDALONE).execute(selection);
            }
        }
    }));
    toolStrip.addToolButtonRight(
            new ToolButton(Console.CONSTANTS.common_label_enOrDisable(), new ClickHandler() {
                @Override
                public void onClick(ClickEvent clickEvent) {
                    DeploymentRecord selection = selectionModel.getSelectedObject();
                    if (selection != null) {
                        new DeploymentCommandDelegate(StandaloneDeploymentView.this.presenter,
                                DeploymentCommand.ENABLE_DISABLE).execute(selection);
                    }
                }
            }));
    toolStrip.addToolButtonRight(new ToolButton("Replace", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            DeploymentRecord selection = selectionModel.getSelectedObject();
            if (selection != null) {
                new DeploymentCommandDelegate(StandaloneDeploymentView.this.presenter,
                        DeploymentCommand.UPDATE_CONTENT).execute(selection);
            }
        }
    }));

    deploymentBrowser = new DeploymentBrowser(deploymentStore, selectionModel);

    SimpleLayout layout = new SimpleLayout().setTitle(Console.CONSTANTS.common_label_deployments())
            .setHeadline(Console.CONSTANTS.common_label_deployments())
            .setDescription("Currently deployed application components.")
            .addContent("title", new ContentGroupLabel(Console.MESSAGES.available("Deployments")))
            .addContent("tools", toolStrip).addContent("browser", deploymentBrowser.getCellBrowser().asWidget())
            .addContent("breadcrumb", deploymentBrowser.getBreadcrumb())
            .addContent("context", deploymentBrowser.getContextPanel());
    return layout.build();
}