List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel
public SingleSelectionModel(ProvidesKey<T> keyProvider)
From source file:org.jboss.as.console.client.administration.accesscontrol.ui.AssignmentDialog.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Widget asWidget() { ProvidesKey<Role> keyProvider = Role::getId; AbstractCell<Role> roleCell = new AbstractCell<Role>() { @Override/*from w w w.j a v a 2 s.c o m*/ public void render(final Context context, final Role value, final SafeHtmlBuilder sb) { sb.append(Templates.roleItem("navigation-column-item", value)); } }; DefaultCellList<Role> list = new DefaultCellList<>(roleCell, keyProvider); list.setPageSize(30); list.setKeyboardPagingPolicy(INCREASE_RANGE); list.setKeyboardSelectionPolicy(BOUND_TO_SELECTION); ListDataProvider<Role> dataProvider = new ListDataProvider<>(keyProvider); dataProvider.setList( Roles.orderedByType().compound(Roles.orderedByName()).immutableSortedCopy(unassignedRoles)); dataProvider.addDataDisplay(list); SingleSelectionModel<Role> selectionModel = new SingleSelectionModel<>(keyProvider); list.setSelectionModel(selectionModel); selectionModel.setSelected(dataProvider.getList().get(0), true); Scheduler.get().scheduleDeferred(() -> list.setFocus(true)); Label errorMessage = new Label(); errorMessage.setVisible(false); errorMessage.getElement().getStyle().setColor("#c82e2e"); errorMessage.getElement().getStyle().setPadding(7, PX); VerticalPanel layout = new VerticalPanel(); layout.setStyleName("window-content"); layout.add(errorMessage); layout.add(list); DialogueOptions options = new DialogueOptions(event -> { if (selectionModel.getSelectedObject() == null) { errorMessage.setText(Console.CONSTANTS.pleaseSelectRole()); errorMessage.setVisible(true); } else { Assignment assignment = new Assignment(principal, selectionModel.getSelectedObject(), include); circuit.dispatch(new AddAssignment(assignment, PRINCIPAL_TO_ROLE)); presenter.closeWindow(); } }, event -> presenter.closeWindow()); return new WindowContentBuilder(layout, options).build(); }
From source file:org.jboss.as.console.client.administration.accesscontrol.ui.MemberDialog.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Widget asWidget() { ProvidesKey<Principal> keyProvider = Principal::getId; AbstractCell<Principal> roleCell = new AbstractCell<Principal>() { @Override/*from w ww . j av a 2 s .c o m*/ public void render(final Context context, final Principal value, final SafeHtmlBuilder sb) { sb.append(Templates.memberItem("navigation-column-item", value)); } }; DefaultCellList<Principal> list = new DefaultCellList<>(roleCell, keyProvider); list.setPageSize(30); list.setKeyboardPagingPolicy(INCREASE_RANGE); list.setKeyboardSelectionPolicy(BOUND_TO_SELECTION); ListDataProvider<Principal> dataProvider = new ListDataProvider<>(keyProvider); dataProvider.setList(Principals.orderedByType().compound(Principals.orderedByName()) .immutableSortedCopy(unassignedPrincipals)); dataProvider.addDataDisplay(list); SingleSelectionModel<Principal> selectionModel = new SingleSelectionModel<>(keyProvider); list.setSelectionModel(selectionModel); selectionModel.setSelected(dataProvider.getList().get(0), true); Scheduler.get().scheduleDeferred(() -> list.setFocus(true)); Label errorMessage = new Label(); errorMessage.setVisible(false); errorMessage.getElement().getStyle().setColor("#c82e2e"); errorMessage.getElement().getStyle().setPadding(7, PX); VerticalPanel layout = new VerticalPanel(); layout.setStyleName("window-content"); layout.add(errorMessage); layout.add(list); DialogueOptions options = new DialogueOptions(event -> { if (selectionModel.getSelectedObject() == null) { errorMessage.setText(Console.CONSTANTS.pleaseSelectPrincipal()); errorMessage.setVisible(true); } else { Assignment assignment = new Assignment(selectionModel.getSelectedObject(), role, include); circuit.dispatch(new AddAssignment(assignment, ROLE_TO_PRINCIPAL)); presenter.closeWindow(); } }, event -> presenter.closeWindow()); return new WindowContentBuilder(layout, options).build(); }
From source file:org.jboss.as.console.client.administration.role.ui.RoleAssignmentTable.java
License:Open Source License
@SuppressWarnings("unchecked") public Widget asWidget() { VerticalPanel content = new VerticalPanel(); content.setStyleName("fill-layout-width"); // table//w w w. j a v a 2s. c o m RoleAssignment.Key keyProvider = new RoleAssignment.Key(); table = new DefaultCellTable<RoleAssignment>(5, keyProvider); dataProvider = new ListDataProvider<RoleAssignment>(keyProvider); dataProvider.addDataDisplay(table); selectionModel = new SingleSelectionModel<RoleAssignment>(keyProvider); table.setSelectionModel(selectionModel); // columns Column<RoleAssignment, RoleAssignment> principalColumn = new Column<RoleAssignment, RoleAssignment>( UIHelper.newPrincipalCell()) { @Override public RoleAssignment getValue(final RoleAssignment assignment) { return assignment; } }; Column<RoleAssignment, RoleAssignment> roleColumn = new Column<RoleAssignment, RoleAssignment>( UIHelper.newRolesCell()) { @Override public RoleAssignment getValue(final RoleAssignment assignment) { return assignment; } }; table.addColumn(principalColumn, type == GROUP ? "Group" : "User"); table.addColumn(roleColumn, "Roles"); content.add(table); // pager DefaultPager pager = new DefaultPager(); pager.setDisplay(table); content.add(pager); return content; }
From source file:org.jboss.as.console.client.administration.role.ui.RoleTable.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Widget asWidget() { ProvidesKey<Role> keyProvider = new Role.Key(); table = new DefaultCellTable<Role>(pageSize, keyProvider); dataProvider = new ListDataProvider<Role>(keyProvider); dataProvider.addDataDisplay(table);/*from ww w.jav a 2s. co m*/ selectionModel = new SingleSelectionModel<Role>(keyProvider); table.setSelectionModel(selectionModel); // first column: name TextColumn<Role> nameColumn = new TextColumn<Role>() { @Override public String getValue(Role role) { return role.getName(); } }; table.addColumn(nameColumn, Console.CONSTANTS.common_label_name()); // additional columns: subclasses turn additionalColumns(table); // last column: include all Column<Role, Boolean> includeAllColumn = new Column<Role, Boolean>(new IncludeAllCell()) { @Override public Boolean getValue(final Role role) { return role.isIncludeAll(); } }; table.addColumn(includeAllColumn, "Include All"); VerticalPanel content = new VerticalPanel(); content.setStyleName("fill-layout-width"); content.add(table); return content; }
From source file:org.jboss.as.console.client.domain.groups.deployment.ContentRepositoryPanel.java
License:Open Source License
@SuppressWarnings("unchecked") private Widget initUI() { String[] columnHeaders = new String[] { Console.CONSTANTS.common_label_name(), Console.CONSTANTS.common_label_runtimeName() }; List<Column> columns = makeNameAndRuntimeColumns(); DeploymentDataKeyProvider<DeploymentRecord> keyProvider = new DeploymentDataKeyProvider<DeploymentRecord>(); deploymentsTable = new DefaultCellTable<DeploymentRecord>(8, keyProvider); for (int i = 0; i < columnHeaders.length; i++) { deploymentsTable.addColumn(columns.get(i), columnHeaders[i]); }//from w ww .j a v a 2 s .c o m deploymentsTable.addColumn(new TextColumn<DeploymentRecord>() { @Override public String getValue(DeploymentRecord deployment) { return String.valueOf(contentRepository.getNumberOfAssignments(deployment)); } }, "Assignments"); deploymentSelection = new SingleSelectionModel<DeploymentRecord>(keyProvider); deploymentsTable.setSelectionModel(deploymentSelection); deploymentData = new ListDataProvider<DeploymentRecord>(); deploymentData.addDataDisplay(deploymentsTable); SafeHtmlBuilder tableFooter = new SafeHtmlBuilder(); tableFooter.appendHtmlConstant( "<span style='font-size:10px;color:#A7ABB4;'>[1] File System Deployment</span>"); Form<DeploymentRecord> form = new Form<DeploymentRecord>(DeploymentRecord.class); form.setNumColumns(2); form.setEnabled(true); TextAreaItem name = new TextAreaItem("name", "Name"); TextAreaItem runtimeName = new TextAreaItem("runtimeName", "Runtime Name"); final ListItem groups = new ListItem("assignments", "Assigned Groups"); form.setFields(name, runtimeName, groups); form.bind(deploymentsTable); deploymentSelection.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { DeploymentRecord selection = deploymentSelection.getSelectedObject(); if (selection != null) { List<String> serverGroups = contentRepository.getServerGroups(selection); groups.setValue(serverGroups); } } }); final ToolStrip toolStrip = new ToolStrip(); filter = new DeploymentFilter(deploymentData); toolStrip.addToolWidget(filter.asWidget()); ToolButton addContentBtn = new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() { @Override public void onClick(ClickEvent event) { presenter.launchNewDeploymentDialoge(null, false); } }); addContentBtn.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_addContent_deploymentsOverview()); toolStrip.addToolButtonRight(addContentBtn); toolStrip.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { final DeploymentRecord selection = deploymentSelection.getSelectedObject(); if (selection != null) { new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter, DeploymentCommand.REMOVE_FROM_DOMAIN).execute(selection); } } })); toolStrip.addToolButtonRight(new ToolButton("Assign", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { final DeploymentRecord selection = deploymentSelection.getSelectedObject(); if (selection != null) { new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter, DeploymentCommand.ADD_TO_GROUP).execute(selection); } } })); toolStrip.addToolButtonRight(new ToolButton("Replace", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { final DeploymentRecord selection = deploymentSelection.getSelectedObject(); if (selection != null) { new DeploymentCommandDelegate(ContentRepositoryPanel.this.presenter, DeploymentCommand.UPDATE_CONTENT).execute(selection); } } })); Form<DeploymentRecord> form2 = new Form<DeploymentRecord>(DeploymentRecord.class); form2.setNumColumns(2); form2.setEnabled(true); TextAreaItem path = new TextAreaItem("path", "Path"); TextBoxItem relative = new TextBoxItem("relativeTo", "Relative To"); form2.setFields(path, relative); form2.bind(deploymentsTable); MultipleToOneLayout layout = new MultipleToOneLayout().setPlain(true) .setHeadline(Console.CONSTANTS.common_label_contentRepository()) .setMaster(Console.MESSAGES.available("Deployment Content"), deploymentsTable) .setMasterTools(toolStrip).setMasterFooter(new HTML(tableFooter.toSafeHtml())) .setDescription( "The content repository contains all deployed content. Contents need to be assigned to sever groups in order to become effective.") .addDetail(Console.CONSTANTS.common_label_attributes(), form.asWidget()) .addDetail("Path", form2.asWidget()); return layout.build(); }
From source file:org.jboss.as.console.client.domain.groups.deployment.ServerGroupDeploymentBrowser.java
License:Open Source License
Widget asWidget() { DeploymentDataKeyProvider<DeploymentRecord> keyProvider = new DeploymentDataKeyProvider<DeploymentRecord>(); final SingleSelectionModel<DeploymentRecord> selectionModel = new SingleSelectionModel<DeploymentRecord>( keyProvider);//from w w w . ja va 2 s . c om ToolStrip tools = new ToolStrip(); tools.addToolButtonRight(new ToolButton("Assign", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { presenter.launchAssignDeploymentToGroupWizard(currentServerGroup); } })); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_remove(), new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { DeploymentRecord selection = selectionModel.getSelectedObject(); if (selection != null) { presenter.onRemoveDeploymentInGroup(selection); } } })); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_enOrDisable(), new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { DeploymentRecord selection = selectionModel.getSelectedObject(); if (selection != null) { presenter.onDisableDeploymentInGroup(selection); } } })); deploymentBrowser = new DeploymentBrowser(deploymentStore, selectionModel); header = new ContentHeaderLabel(); description = new ContentDescription("Deployments assigned to this server group."); SimpleLayout layout = new SimpleLayout().setPlain(true).setHeadlineWidget(header).setDescription("") .addContent("description", description).addContent("tools", tools) .addContent("browser", deploymentBrowser.getCellBrowser().asWidget()) .addContent("breadcrumb", deploymentBrowser.getBreadcrumb()) .addContent("context", deploymentBrowser.getContextPanel()); return layout.build(); }
From source file:org.jboss.as.console.client.domain.groups.deployment.ServerGroupDeploymentPanel.java
License:Open Source License
@SuppressWarnings("unchecked") private Widget initUI() { pagedView = new PagedView(); ProvidesKey<ServerGroupRecord> keyProvider = new ProvidesKey<ServerGroupRecord>() { @Override/*from ww w . ja v a 2s .co m*/ public Object getKey(ServerGroupRecord serverGroupRecord) { return serverGroupRecord.getName() + "_" + serverGroupRecord.getProfileName(); } }; DefaultCellTable<ServerGroupRecord> serverGroups = new DefaultCellTable<ServerGroupRecord>(8, keyProvider); serverGroupData = new ListDataProvider<ServerGroupRecord>(); this.serverGroupData.addDataDisplay(serverGroups); DefaultPager pager = new DefaultPager(); pager.setDisplay(serverGroups); selectionModel = new SingleSelectionModel<ServerGroupRecord>(keyProvider); serverGroups.setSelectionModel(selectionModel); Column nameColumn = new TextColumn<ServerGroupRecord>() { @Override public String getValue(ServerGroupRecord serverGroup) { return serverGroup.getName(); } }; Column profileColumn = new TextColumn<ServerGroupRecord>() { @Override public String getValue(ServerGroupRecord serverGroup) { return serverGroup.getProfileName(); } }; serverGroups.addColumn(nameColumn, Console.CONSTANTS.common_label_serverGroup()); serverGroups.addColumn(profileColumn, Console.CONSTANTS.common_label_profile()); ActionCell.Delegate<ServerGroupRecord> actionDelegate = new ActionCell.Delegate<ServerGroupRecord>() { @Override public void execute(ServerGroupRecord selection) { groupDeploymentBrowser.updateGroup(selection, contentRepository.getDeployments(selection)); pagedView.showPage(1); } }; Column<ServerGroupRecord, ServerGroupRecord> option = new Column<ServerGroupRecord, ServerGroupRecord>( new ViewLinkCell<ServerGroupRecord>(Console.CONSTANTS.common_label_view(), actionDelegate)) { @Override public ServerGroupRecord getValue(ServerGroupRecord manager) { return manager; } }; serverGroups.addColumn(option, Console.CONSTANTS.common_label_option()); VerticalPanel wrapper = new VerticalPanel(); wrapper.add(serverGroups.asWidget()); wrapper.add(pager); SimpleLayout overviewPanel = new SimpleLayout().setPlain(true).setHeadline("Server Groups") .setDescription("Please chose a server group to assign deployment contents.") .addContent("Available Groups", wrapper); groupDeploymentBrowser = new ServerGroupDeploymentBrowser(presenter, deploymentStore, hostInfoStore); pagedView.addPage(Console.CONSTANTS.common_label_back(), overviewPanel.build()); pagedView.addPage("Group Deployments", groupDeploymentBrowser.asWidget()); pagedView.showPage(0); LayoutPanel layout = new LayoutPanel(); layout.add(pagedView.asWidget()); return layout; }
From source file:org.jboss.as.console.client.shared.hosts.ConfigurationChangesEditor.java
License:Open Source License
@SuppressWarnings("unchecked") public Widget asWidget() { ProvidesKey<ModelNode> providesKey = node -> node.get("operation-date").asString(); table = new DefaultCellTable<>(20, providesKey); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table);/* w ww. j av a 2 s. c o m*/ // the date / time column table.addColumn(new TextColumn<ModelNode>() { @Override public String getValue(ModelNode item) { // the operation-date is 2016-07-08T22:39:50.783Z // there is some format to facilitate user experience // by replacing the T with a blank space String opTimestamp = item.get("operation-date").asString(); opTimestamp = opTimestamp.replaceFirst("T", " "); return opTimestamp; } }, "Date and time"); // access-mechanism column TextColumn<ModelNode> accessMechanismColumn = createColumn("access-mechanism"); accessMechanismColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); table.addColumn(accessMechanismColumn, "Access Mechanism"); // remote address column TextColumn<ModelNode> remoteAddressColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode item) { // the remote address is 10.10.10.10/10.10.10.10 // to facilitate user experience we cut at at first slash String clientAddress = item.get("remote-address").asString(); clientAddress = clientAddress.substring(0, clientAddress.indexOf("/")); return clientAddress; } }; remoteAddressColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); table.addColumn(remoteAddressColumn, "Remote address"); // the resource address TextColumn<ModelNode> resourceColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode item) { return StringUtils.shortenStringIfNecessary(extractResourceAddress(item), 63); } }; table.addColumn(resourceColumn, "Resource address"); table.setColumnWidth(resourceColumn, 50, Style.Unit.PCT); // operation column table.addColumn(new TextColumn<ModelNode>() { @Override public String getValue(ModelNode item) { return item.get(OPERATIONS).get(0).get(OP).asString(); } }, "Operation"); // result column table.addColumn(createColumn(OUTCOME), "Result"); table.setTableLayoutFixed(false); // the details panel selectionModel = new SingleSelectionModel<>(providesKey); selectionModel.addSelectionChangeHandler(event -> { ModelNode changeDetails = selectionModel.getSelectedObject(); if (changeDetails != null) { detailsConfigurationChange.setValue(changeDetails.toString()); } }); table.setSelectionModel(selectionModel); detailsConfigurationChange = new TextAreaItem("details", "Details 1", 20); detailsConfigurationChange.setEnabled(false); HorizontalPanel header = new HorizontalPanel(); header.addStyleName("fill-layout-width"); header.add(new HTML("<h3 class='metric-label-embedded'>Configuration change details</h3>")); VerticalPanel detailsPanel = new VerticalPanel(); detailsPanel.addStyleName("metric-container"); detailsPanel.add(header); detailsPanel.add(detailsConfigurationChange.asWidget()); // ====================== DefaultPager pager = new DefaultPager(); pager.setDisplay(table); VerticalPanel tableAndPager = new VerticalPanel(); tableAndPager.setStyleName("fill-layout-width"); tableAndPager.add(table); tableAndPager.add(pager); SimpleLayout layout = new SimpleLayout().setPlain(true).setHeadline("Configuration Changes") .setDescription(SafeHtmlUtils.fromString(Console.MESSAGES.configuration_changes_description())) .addContent("", toolstripButtons()).addContent("", tableAndPager).addContent("", detailsPanel); return layout.build(); }
From source file:org.jboss.as.console.client.shared.patching.ui.DomainPanel.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Widget asWidget() { // table//from w w w .j ava 2s .c o m ProvidesKey<Patches> keyProvider = new ProvidesKey<Patches>() { @Override public Object getKey(Patches entry) { return entry.getHost(); } }; DefaultCellTable<Patches> table = new DefaultCellTable<>(8, keyProvider); dataProvider.addDataDisplay(table); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); SingleSelectionModel<Patches> selectionModel = new SingleSelectionModel<>(keyProvider); table.setSelectionModel(selectionModel); // columns Column nameColumn = new TextColumn<Patches>() { @Override public String getValue(Patches patches) { return patches.getHost(); } }; Column patchInfoColumn = new TextColumn<Patches>() { @Override public String getValue(Patches patches) { StringBuilder builder = new StringBuilder(); PatchInfo latest = patches.getLatest(); if (latest != null) { builder.append(latest.getId()); } else { builder.append("n/a"); } return builder.toString(); } }; ActionCell.Delegate<Patches> actionDelegate = new ActionCell.Delegate<Patches>() { @Override public void execute(Patches patches) { circuit.dispatch(new HostSelection(patches.getHost())); patchInfoPanel.update(patches); pagedView.showPage(1); } }; Column<Patches, Patches> option = new Column<Patches, Patches>( new ViewLinkCell<Patches>(Console.CONSTANTS.common_label_view(), actionDelegate)) { @Override public Patches getValue(Patches entry) { return entry; } }; table.addColumn(nameColumn, Console.CONSTANTS.common_label_host()); table.addColumn(patchInfoColumn, Console.CONSTANTS.patch_manager_latest()); table.addColumn(option, Console.CONSTANTS.common_label_option()); VerticalPanel wrapper = new VerticalPanel(); wrapper.add(table); wrapper.add(pager); SimpleLayout overviewPanel = new SimpleLayout().setPlain(true).setHeadline("Patch Management") .setDescription(Console.MESSAGES.pleaseChoseanItem()) .addContent(Console.MESSAGES.available("Groups"), wrapper); VerticalPanel patchInfoWrapper = new VerticalPanel(); patchInfoWrapper.setStyleName("rhs-content-panel"); patchInfoWrapper.add(patchInfoPanel); pagedView.addPage("Hosts", overviewPanel.build()); pagedView.addPage("Patches", new ScrollPanel(patchInfoWrapper)); pagedView.showPage(0); DefaultTabLayoutPanel tabLayoutPanel = new DefaultTabLayoutPanel(40, Style.Unit.PX); tabLayoutPanel.addStyleName("default-tabpanel"); tabLayoutPanel.add(pagedView.asWidget(), "Patch Management"); return tabLayoutPanel; }
From source file:org.jboss.as.console.client.shared.patching.ui.PatchInfoTable.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Widget asWidget() { VerticalPanel layout = new VerticalPanel(); layout.setStyleName("fill-layout-width"); ProvidesKey<PatchInfo> keyProvider = new ProvidesKey<PatchInfo>() { @Override/* ww w . jav a2 s. c o m*/ public Object getKey(PatchInfo item) { return item.getId(); } }; DefaultCellTable<PatchInfo> table = new DefaultCellTable<PatchInfo>(PAGE_SIZE, keyProvider); table.getElement().setId(asId(PREFIX, getClass())); selectionModel = new SingleSelectionModel(keyProvider); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { updateDetails(selectionModel.getSelectedObject()); } }); table.setSelectionModel(selectionModel); dataProvider = new ListDataProvider<PatchInfo>(); dataProvider.addDataDisplay(table); TextColumn<PatchInfo> idColumn = new TextColumn<PatchInfo>() { @Override public String getValue(PatchInfo record) { return record.getId(); } }; TextColumn<PatchInfo> patchStreamColumn = new TextColumn<PatchInfo>() { @Override public String getValue(PatchInfo record) { return record.getIdentityName(); } }; TextColumn<PatchInfo> dateColumn = new TextColumn<PatchInfo>() { @Override public String getValue(PatchInfo record) { return record.getAppliedAt(); } }; TextColumn<PatchInfo> typeColumn = new TextColumn<PatchInfo>() { @Override public String getValue(PatchInfo record) { return record.getType(); } }; TextColumn<PatchInfo> inEffectColumn = new TextColumn<PatchInfo>() { @Override public String getValue(PatchInfo record) { return record.isInEffect() ? "true" : "false"; } }; table.addColumn(idColumn, "ID"); table.addColumn(patchStreamColumn, Console.CONSTANTS.common_label_patch_stream()); table.addColumn(dateColumn, Console.CONSTANTS.common_label_date()); table.addColumn(typeColumn, Console.CONSTANTS.common_label_type()); table.addColumn(inEffectColumn, Console.CONSTANTS.patch_manager_in_effect()); DefaultPager pager = new DefaultPager(); pager.getElement().setId(asId(PREFIX, getClass(), "_Pager")); pager.setDisplay(table); detailsForm = new Form<>(PatchInfo.class); detailsForm.setEnabled(false); TextItem name = new TextItem("identityName", "Target"); TextItem version = new TextItem("identityVersion", "Target Version"); TextItem description = new TextItem("description", "Description"); TextItem link = new TextItem("link", "Link"); detailsForm.setFields(name, version, description, link); layout.add(table); layout.add(pager); layout.add(new ContentGroupLabel(Console.CONSTANTS.patch_manager_patch_details())); layout.add(detailsForm); return layout; }