public static Widget makeHelpWidget(final AddressBinding address, FormAdapter form) { final FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public org.jboss.dmr.client.ModelNode getAddress() { String wildCards[] = new String[address.getNumWildCards()]; for (int i = 0; i < wildCards.length; i++) { wildCards[i] = "*"; } ModelNode addressAsResource = address.asResource(wildCards); ModelNode addressNode = Baseadress.get(); for (Property address : addressAsResource.get(ADDRESS).asPropertyList()) { addressNode.add(address.getName(), address.getValue()); } return addressNode; } }, form); return helpPanel.asWidget(); }
Widget asWidget() { VerticalPanel layout = new VerticalPanel(); layout.setStyleName("fill-layout"); form = new Form<TransactionManager>(TransactionManager.class) { @Override public FormValidation validate() { return validateTx(super.validate()); } }; form.setNumColumns(2); FormToolStrip<TransactionManager> toolstrip = new FormToolStrip<TransactionManager>( form, new FormToolStrip.FormCallback<TransactionManager>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveConfig(changeset); } @Override public void onDelete(TransactionManager entity) {} }); toolstrip.providesDeleteOp(false); FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "transactions"); return address; } }, form); layout.add(helpPanel.asWidget()); formValidationError = new Label("Form is invalid!"); formValidationError.addStyleName("form-error-desc"); formValidationError.getElement().getStyle().setLineHeight(9, PX); formValidationError.getElement().getStyle().setMarginBottom(5, PX); formValidationError.setVisible(false); layout.add(formValidationError.asWidget()); form.setFields(fields); form.setEnabled(false); layout.add(form.asWidget()); return layout; }
Widget asWidget() { VerticalPanel layout = new VerticalPanel(); form = new Form<ServerGroupRecord>(ServerGroupRecord.class); form.setNumColumns(2); FormToolStrip<ServerGroupRecord> toolstrip = new FormToolStrip<ServerGroupRecord>( form, new FormToolStrip.FormCallback<ServerGroupRecord>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveChanges(form.getEditedEntity(), changeset); } @Override public void onDelete(ServerGroupRecord entity) { presenter.onDeleteGroup(entity); } }); toolstrip.providesDeleteOp(false); TextItem nameItem = new TextItem("name", "Name"); profileItem = new ComboBoxItem("profileName", Console.CONSTANTS.common_label_profile()); socketBindingItem = new ComboBoxItem("socketBinding", Console.CONSTANTS.common_label_socketBinding()); socketBindingItem.setDefaultToFirstOption(true); form.setFields(nameItem, profileItem, socketBindingItem); final FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = new ModelNode(); address.add("server-group", "*"); return address; } }, form); layout.add(toolstrip.asWidget()); layout.add(helpPanel.asWidget()); layout.add(form.asWidget()); form.setEnabled(false); return layout; }
public Widget build() { if (null == form) throw new IllegalStateException("form not set"); VerticalPanel layout = new VerticalPanel(); layout.setStyleName("fill-layout-width"); if (tools != null) layout.add(tools.asWidget()); if (help != null) layout.add(help.asWidget()); layout.add(form.asWidget()); return layout; }
@SuppressWarnings("unchecked") Widget asWidget() { secTable = new DefaultCellTable<>(8, item -> item.getPattern() + "_" + item.getRole()); secProvider = new ListDataProvider<>(); secProvider.addDataDisplay(secTable); Column<ActivemqSecurityPattern, String> roleColumn = new Column<ActivemqSecurityPattern, String>(new TextCell()) { @Override public String getValue(ActivemqSecurityPattern object) { return object.getRole(); } }; Column<ActivemqSecurityPattern, String> patternColumn = new Column<ActivemqSecurityPattern, String>(new TextCell()) { @Override public String getValue(ActivemqSecurityPattern object) { return object.getPattern(); } }; secTable.addColumn(patternColumn, "Pattern"); secTable.addColumn(roleColumn, "Role"); form = new Form<>(ActivemqSecurityPattern.class); form.setNumColumns(2); form.bind(secTable); CheckBoxItem send = new CheckBoxItem("send", "Send?"); CheckBoxItem consume = new CheckBoxItem("consume", "Consume?"); CheckBoxItem manage = new CheckBoxItem("manage", "Manage?"); CheckBoxItem createDQ = new CheckBoxItem("createDurableQueue", "CreateDurable?"); CheckBoxItem deleteDQ = new CheckBoxItem("deleteDurableQueue", "DeleteDurable?"); CheckBoxItem createNDQ = new CheckBoxItem("createNonDurableQueue", "CreateNonDurable?"); CheckBoxItem deleteNDQ = new CheckBoxItem("deleteNonDurableQueue", "DeleteNonDurable?"); form.setFields(send, consume, manage); form.setFieldsInGroup( Console.CONSTANTS.common_label_advanced(), new DisclosureGroupRenderer(), createDQ, deleteDQ, createNDQ, deleteNDQ); FormHelpPanel helpPanel = new FormHelpPanel( () -> { ModelNode address = Baseadress.get(); address.add("subsystem", "messaging-activemq"); address.add("server", "*"); address.add("security-setting", "*"); address.add("role", "*"); return address; }, form); FormToolStrip<ActivemqSecurityPattern> formTools = new FormToolStrip<>( form, new FormToolStrip.FormCallback<ActivemqSecurityPattern>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveSecDetails(form.getEditedEntity(), changeset); } @Override public void onDelete(ActivemqSecurityPattern entity) {} }); ToolStrip tableTools = new ToolStrip(); ToolButton addBtn = new ToolButton( Console.CONSTANTS.common_label_add(), event -> presenter.launchNewSecDialogue()); addBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_securityDetails()); tableTools.addToolButtonRight(addBtn); ToolButton removeBtn = new ToolButton( Console.CONSTANTS.common_label_delete(), event -> Feedback.confirm( Console.MESSAGES.deleteTitle("Security Config"), Console.MESSAGES.deleteConfirm("Security Config"), isConfirmed -> { if (isConfirmed) { presenter.onDeleteSecDetails(form.getEditedEntity()); } })); tableTools.addToolButtonRight(removeBtn); VerticalPanel formPanel = new VerticalPanel(); formPanel.addStyleName("fill-layout-width"); formPanel.add(helpPanel.asWidget()); formPanel.add(formTools.asWidget()); formPanel.add(form.asWidget()); serverName = new ContentHeaderLabel(); MultipleToOneLayout layout = new MultipleToOneLayout() .setPlain(true) .setHeadlineWidget(serverName) .setDescription( "A security setting allows sets of permissions to be defined against queues based on their address.") .setMaster("Available security settings", secTable) .setMasterTools(tableTools.asWidget()) .setDetail("Details", formPanel); return layout.build(); }
Widget asWidget() { ToolStrip topLevelTools = new ToolStrip(); topLevelTools.addToolButtonRight( new ToolButton( Console.CONSTANTS.common_label_add(), new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.launchNewAdminWizard(); } })); ClickHandler clickHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { final AdminObject selection = getCurrentSelection(); if (selection != null) { Feedback.confirm( Console.MESSAGES.deleteTitle("Admin Object"), Console.MESSAGES.deleteConfirm("Admin Object" + selection.getJndiName()), new Feedback.ConfirmationHandler() { @Override public void onConfirmation(boolean isConfirmed) { if (isConfirmed) { presenter.onRemoveAdmin(selection); } } }); } } }; ToolButton deleteBtn = new ToolButton(Console.CONSTANTS.common_label_delete()); deleteBtn.addClickHandler(clickHandler); topLevelTools.addToolButtonRight(deleteBtn); disableBtn = new ToolButton( Console.CONSTANTS.common_label_disable(), new ClickHandler() { @Override public void onClick(ClickEvent event) { final AdminObject selection = getCurrentSelection(); if (selection != null) { selection.setEnabled(!selection.isEnabled()); Feedback.confirm( Console.MESSAGES.modify("Admin Object"), Console.MESSAGES.modifyConfirm("Admin Object " + selection.getJndiName()), new Feedback.ConfirmationHandler() { @Override public void onConfirmation(boolean isConfirmed) { if (isConfirmed) { presenter.enOrDisbaleAdminObject(currentAdapter, selection); } } }); } } }); topLevelTools.addToolButtonRight(disableBtn); // ------- table = new DefaultCellTable<AdminObject>( 10, new ProvidesKey<AdminObject>() { @Override public Object getKey(AdminObject item) { return item.getJndiName(); } }); dataProvider = new ListDataProvider<AdminObject>(); dataProvider.addDataDisplay(table); TextColumn<AdminObject> nameColumn = new TextColumn<AdminObject>() { @Override public String getValue(AdminObject record) { return record.getName(); } }; Column<AdminObject, ImageResource> statusColumn = new Column<AdminObject, ImageResource>(new ImageResourceCell()) { @Override public ImageResource getValue(AdminObject ra) { ImageResource res = null; if (ra.isEnabled()) res = Icons.INSTANCE.status_good(); else res = Icons.INSTANCE.status_bad(); return res; } }; table.addColumn(nameColumn, "Name"); table.addColumn(statusColumn, "Enabled?"); // --- configProperties = new PropertyEditor(this, true); // ---- VerticalPanel formpanel = new VerticalPanel(); formpanel.setStyleName("fill-layout-width"); Form<AdminObject> form = new Form<AdminObject>(AdminObject.class); form.setNumColumns(2); TextItem name = new TextItem("name", "Name"); TextBoxItem jndiItem = new TextBoxItem("jndiName", "JNDI"); TextBoxItem classItem = new TextBoxItem("adminClass", "Class Name"); // CheckBoxItem enabled = new CheckBoxItem("enabled", "Enabled?"); form.setFields(name, jndiItem, classItem); form.setEnabled(false); form.bind(table); FormToolStrip<AdminObject> tools = new FormToolStrip<AdminObject>( form, new FormToolStrip.FormCallback<AdminObject>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveAdmin(getCurrentSelection(), changeset); } @Override public void onDelete(AdminObject entity) { // not possible } }); tools.providesDeleteOp(false); final FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "resource-adapters"); address.add("resource-adapter", "*"); address.add("admin-objects", "*"); return address; } }, form); formpanel.add(tools.asWidget()); formpanel.add(helpPanel.asWidget()); formpanel.add(form.asWidget()); table .getSelectionModel() .addSelectionChangeHandler( new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { AdminObject selection = getCurrentSelection(); configProperties.setProperties("", selection.getProperties()); String nextState = selection.isEnabled() ? Console.CONSTANTS.common_label_disable() : Console.CONSTANTS.common_label_enable(); disableBtn.setText(nextState); } }); // ---- headline = new HTML("HEADLINE"); headline.setStyleName("content-header-label"); MultipleToOneLayout layout = new MultipleToOneLayout() .setPlain(true) .setHeadlineWidget(headline) .setTitle("TITLE") .setDescription(Console.CONSTANTS.subsys_jca_adminobject_desc()) .setMaster(Console.MESSAGES.available("Admin Objects"), table) .setMasterTools(topLevelTools.asWidget()) .addDetail("Attributes", formpanel) .addDetail("Properties", configProperties.asWidget()); configProperties.setAllowEditProps(false); return layout.build(); }
Widget asWidget() { VerticalPanel layout = new VerticalPanel(); layout.setStyleName("window-content"); layout.add(new HTML("<h3>" + Console.CONSTANTS.subsys_jca_xadataSource_step4() + "</h3>")); form = new Form<XADataSource>(XADataSource.class); TextBoxItem user = new NonRequiredTextBoxItem("username", "Username"); PasswordBoxItem pass = new PasswordBoxItem("password", "Password") { { setRequired(false); } }; TextBoxItem domain = new NonRequiredTextBoxItem("securityDomain", "Security Domain"); form.setFields(user, pass, domain); final FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "datasources"); address.add("xa-data-source", "*"); return address; } }, form); layout.add(helpPanel.asWidget()); layout.add(form.asWidget()); ClickHandler submitHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { FormValidation validation = form.validate(); if (!validation.hasErrors()) { wizard.onFinish(form.getUpdatedEntity()); } } }; ClickHandler cancelHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { wizard.getPresenter().closeDialogue(); } }; DialogueOptions options = new DialogueOptions( "Done", submitHandler, "Cancel", cancelHandler); return new WindowContentBuilder(layout, options).build(); }
@Override public Widget createWidget() { LayoutPanel layout = new LayoutPanel(); FakeTabPanel titleBar = new FakeTabPanel("Socket Binding Groups"); layout.add(titleBar); ToolStrip toolstrip = new ToolStrip(); toolstrip.addToolButtonRight( new ToolButton( "Add", new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.launchNewSocketDialogue(); } })); layout.add(toolstrip); // ----------- VerticalPanel panel = new VerticalPanel(); panel.setStyleName("rhs-content-panel"); ContentHeaderLabel nameLabel = new ContentHeaderLabel("Socket Binding Declarations"); HorizontalPanel horzPanel = new HorizontalPanel(); horzPanel.getElement().setAttribute("style", "width:100%;"); // Image image = new Image(Icons.INSTANCE.deployment()); // horzPanel.add(image); // image.getElement().getParentElement().setAttribute("width", "25"); horzPanel.add(nameLabel); panel.add(horzPanel); socketTable = new SocketTable(); HorizontalPanel tableOptions = new HorizontalPanel(); tableOptions.getElement().setAttribute("cellpadding", "2px"); groupFilter = new ComboBox(); groupFilter.addValueChangeHandler( new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { presenter.onFilterGroup(event.getValue()); } }); Widget groupFilterWidget = groupFilter.asWidget(); groupFilterWidget.getElement().setAttribute("style", "width:200px;"); tableOptions.add(new Label("Socket Binding Group:")); tableOptions.add(groupFilterWidget); tableOptions.getElement().setAttribute("style", "float:right;"); panel.add(tableOptions); DefaultCellTable socketTableWidget = socketTable.asWidget(); panel.add(socketTableWidget); DefaultPager pager = new DefaultPager(); pager.setPage(0); pager.setPageSize(6); pager.setDisplay(socketTableWidget); panel.add(pager); ScrollPanel scroll = new ScrollPanel(panel); layout.add(scroll); layout.setWidgetTopHeight(titleBar, 0, Style.Unit.PX, 26, Style.Unit.PX); layout.setWidgetTopHeight(toolstrip, 26, Style.Unit.PX, 30, Style.Unit.PX); layout.setWidgetTopHeight(scroll, 56, Style.Unit.PX, 100, Style.Unit.PCT); // ----------- ToolStrip detailToolStrip = new ToolStrip(); editBtn = new ToolButton(Console.CONSTANTS.common_label_edit()); ClickHandler editHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { SocketBinding editedEntity = form.getEditedEntity(); if (editBtn.getText().equals(Console.CONSTANTS.common_label_edit())) { presenter.editSocketBinding(editedEntity); } else { presenter.saveSocketBinding( editedEntity.getName(), editedEntity.getGroup(), form.getChangedValues()); } } }; editBtn.addClickHandler(editHandler); detailToolStrip.addToolButton(editBtn); ClickHandler clickHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { SocketBinding socket = form.getEditedEntity(); Feedback.confirm( "Delete Socket Binding", "Really delete this socket binding '" + socket.getName() + "' ?", new Feedback.ConfirmationHandler() { @Override public void onConfirmation(boolean isConfirmed) { if (isConfirmed) { presenter.onDelete(form.getEditedEntity()); } } }); } }; ToolButton deleteBtn = new ToolButton(Console.CONSTANTS.common_label_delete()); deleteBtn.addClickHandler(clickHandler); detailToolStrip.addToolButton(deleteBtn); panel.add(new ContentGroupLabel("Socket Binding")); panel.add(detailToolStrip); // --- form = new Form<SocketBinding>(SocketBinding.class); form.setNumColumns(2); TextItem nameItem = new TextItem("name", "Name"); TextItem interfaceItem = new TextItem("interface", "Interface"); NumberBoxItem portItem = new NumberBoxItem("port", "Port"); TextBoxItem multicastItem = new TextBoxItem("multiCastAddress", "Multicast Address"); NumberBoxItem multicastPortItem = new NumberBoxItem("multiCastPort", "Multicast Port"); form.setFields(nameItem, interfaceItem, portItem, multicastItem, multicastPortItem); form.bind(socketTable.getCellTable()); Widget formWidget = form.asWidget(); form.setEnabled(false); final FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = new ModelNode(); address.add("socket-binding-group", form.getEditedEntity().getGroup()); address.add("socket-binding", "*"); return address; } }, form); panel.add(helpPanel.asWidget()); panel.add(formWidget); // ------------------------------------------ return layout; }
public Widget asWidget() { LayoutPanel layout = new LayoutPanel(); VerticalPanel panel = new VerticalPanel(); panel.setStyleName("rhs-content-panel"); ScrollPanel scroll = new ScrollPanel(panel); layout.add(scroll); layout.setWidgetTopHeight(scroll, 0, Style.Unit.PX, 100, Style.Unit.PCT); serverName = new HTML("Replace me"); serverName.setStyleName("content-header-label"); panel.add(serverName); panel.add(new ContentDescription(Console.CONSTANTS.subsys_messaging_jms_provider_desc())); form = new Form(MessagingProvider.class); form.setNumColumns(2); CheckBoxItem persistenceItem = new CheckBoxItem("persistenceEnabled", "Persistence enabled?"); CheckBoxItem securityItem = new CheckBoxItem("securityEnabled", "Security enabled?"); CheckBoxItem messageCounterItem = new CheckBoxItem("messageCounterEnabled", "Message Counter enabled?"); // TextItem connector = new TextItem("connectorBinding", "Connector Binding"); // TextItem acceptor = new TextItem("acceptorBinding", "Acceptor Binding"); form.setFields(persistenceItem, securityItem, messageCounterItem); // form.setFieldsInGroup("Connections", new DisclosureGroupRenderer(), acceptor, connector); FormToolStrip<MessagingProvider> toolStrip = new FormToolStrip<MessagingProvider>( form, new FormToolStrip.FormCallback<MessagingProvider>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveProviderConfig(changeset); } @Override public void onDelete(MessagingProvider entity) {} }); toolStrip.providesDeleteOp(false); panel.add(toolStrip.asWidget()); FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "messaging"); address.add("hornetq-server", "*"); return address; } }, form); panel.add(helpPanel.asWidget()); Widget formWidget = form.asWidget(); panel.add(formWidget); formWidget.getElement().setAttribute("style", "padding-bottom:20px;"); // ------ TabPanel bottomLayout = new TabPanel(); bottomLayout.addStyleName("default-tabpanel"); secDetails = new SecurityDetails(presenter); bottomLayout.add(secDetails.asWidget(), "Security"); addrDetails = new AddressingDetails(presenter); bottomLayout.add(addrDetails.asWidget(), "Addressing"); bottomLayout.selectTab(0); panel.add(bottomLayout); bottomLayout.getElement().setAttribute("style", "padding-top:10px"); return layout; }
@Override public Widget createWidget() { LayoutPanel layout = new RHSContentPanel("Servlet"); layout.add(new ContentHeaderLabel("Servlet/HTTP Configuration")); layout.add(new ContentDescription(Console.CONSTANTS.subsys_web_desc())); // ---- form = new Form(JSPContainerConfiguration.class); form.setNumColumns(2); FormToolStrip toolStrip = new FormToolStrip<JSPContainerConfiguration>( form, new FormToolStrip.FormCallback<JSPContainerConfiguration>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveJSPConfig(changeset); } @Override public void onDelete(JSPContainerConfiguration entity) {} }); toolStrip.providesDeleteOp(false); layout.add(toolStrip.asWidget()); // ---- CheckBoxItem disabled = new CheckBoxItem("disabled", "Disabled?"); CheckBoxItem development = new CheckBoxItem("development", "Development?"); TextBoxItem instanceId = new TextBoxItem("instanceId", "Instance ID", false); CheckBoxItem keepGenerated = new CheckBoxItem("keepGenerated", "Keep Generated?"); NumberBoxItem checkInterval = new NumberBoxItem("checkInterval", "Check Interval"); CheckBoxItem sourceFragment = new CheckBoxItem("displaySource", "Display Source?"); form.setFields(disabled, development, instanceId); form.setFieldsInGroup( Console.CONSTANTS.common_label_advanced(), new DisclosureGroupRenderer(), keepGenerated, checkInterval, sourceFragment); FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "web"); address.add("configuration", "jsp-configuration"); return address; } }, form); layout.add(helpPanel.asWidget()); layout.add(form.asWidget()); form.setEnabled(false); // TODO: // ---- TabPanel bottomLayout = new TabPanel(); bottomLayout.addStyleName("default-tabpanel"); bottomLayout.getElement().setAttribute("style", "padding-top:20px;"); connectorList = new ConnectorList(presenter); bottomLayout.add(connectorList.asWidget(), "Connectors"); serverList = new VirtualServerList(presenter); bottomLayout.add(serverList.asWidget(), "Virtual Servers"); bottomLayout.selectTab(0); layout.add(bottomLayout); return layout; }