public ConnectionProperties(DataSourcePresenter presenter) { this.presenter = presenter; propEditor = new PropertyEditor(presenter, true); propEditor.setHelpText("JDBC connection properties"); widget = propEditor.asWidget(); propEditor.setAllowEditProps(false); }
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() { table = new DefaultCellTable<JGroupsProtocol>( 6, new ProvidesKey<JGroupsProtocol>() { @Override public Object getKey(JGroupsProtocol item) { return item.getType(); } }); dataProvider = new ListDataProvider<JGroupsProtocol>(); dataProvider.addDataDisplay(table); TextColumn<JGroupsProtocol> type = new TextColumn<JGroupsProtocol>() { @Override public String getValue(JGroupsProtocol record) { return record.getType(); } }; table.addColumn(type, "Type"); ToolStrip toolstrip = new ToolStrip(); ToolButton addBtn = new ToolButton( Console.CONSTANTS.common_label_append(), new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.launchNewProtocolWizard(); } }); toolstrip.addToolButtonRight(addBtn); ToolButton removeBtn = new ToolButton( Console.CONSTANTS.common_label_remove(), new ClickHandler() { @Override public void onClick(ClickEvent event) { Feedback.confirm( Console.MESSAGES.deleteTitle("Protocol"), Console.MESSAGES.deleteConfirm("Protocol"), new Feedback.ConfirmationHandler() { @Override public void onConfirmation(boolean isConfirmed) { if (isConfirmed) presenter.onDeleteProtocol(form.getEditedEntity()); } }); } }); toolstrip.addToolButtonRight(removeBtn); // ------ this.propertyEditor = new PropertyEditor(presenter, true); // ------ form = new Form<JGroupsProtocol>(JGroupsProtocol.class); form.setNumColumns(2); TextItem typeField = new TextItem("type", "Type"); TextBoxItem socket = new TextBoxItem("socketBinding", "Socket Binding"); form.setFields(typeField, socket); form.setEnabled(false); FormHelpPanel helpPanel = new FormHelpPanel( new FormHelpPanel.AddressCallback() { @Override public ModelNode getAddress() { ModelNode address = Baseadress.get(); address.add("subsystem", "jgroups"); address.add("stack", "*"); address.add("protocol", "*"); return address; } }, form); FormToolStrip<JGroupsProtocol> formToolStrip = new FormToolStrip<JGroupsProtocol>( form, new FormToolStrip.FormCallback<JGroupsProtocol>() { @Override public void onSave(Map<String, Object> changeset) { presenter.onSaveProtocol(form.getEditedEntity(), changeset); } @Override public void onDelete(JGroupsProtocol entity) {} }); formToolStrip.providesDeleteOp(false); Widget detail = new FormLayout().setForm(form).setHelp(helpPanel).setSetTools(formToolStrip).build(); headline = new HTML(); headline.setStyleName("content-header-label"); Widget panel = new MultipleToOneLayout() .setPlain(true) .setTitle("JGroups") .setHeadlineWidget(headline) .setDescription(Console.CONSTANTS.subsys_jgroups_protocol_desc()) .setMaster(Console.MESSAGES.available("Protocols"), table) .setMasterTools(toolstrip.asWidget()) .addDetail("Attributes", detail) .addDetail("Properties", propertyEditor.asWidget()) .build(); form.bind(table); propertyEditor.setAllowEditProps(false); table .getSelectionModel() .addSelectionChangeHandler( new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { JGroupsProtocol currentSelection = getCurrentSelection(); List<PropertyRecord> properties = currentSelection.getProperties(); if (properties != null) propertyEditor.setProperties( selectedStack.getName() + "_#_" + currentSelection.getType(), properties); else propertyEditor.setProperties( selectedStack.getName() + "_#_" + currentSelection.getType(), Collections.EMPTY_LIST); } }); return panel; }