@Override public void updateDeploymentInfo(List<DeploymentRecord> deployments) { dataProvider.getList().clear(); dataProvider.getList().addAll(deployments); dataProvider.flush(); deploymentTable.selectDefaultEntity(); filter.reset(true); }
@Override public Widget createWidget() { ProvidesKey<DeploymentRecord> key = new ProvidesKey<DeploymentRecord>() { @Override public Object getKey(DeploymentRecord deploymentRecord) { return deploymentRecord.getName(); } }; deploymentTable = new DefaultCellTable<DeploymentRecord>(8, key); final SingleSelectionModel<DeploymentRecord> selectionModel = new SingleSelectionModel<DeploymentRecord>(); deploymentTable.setSelectionModel(selectionModel); dataProvider = new ListDataProvider<DeploymentRecord>(key); dataProvider.addDataDisplay(deploymentTable); // --- 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( DeploymentListView.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( DeploymentListView.this.presenter, DeploymentCommand.ENABLE_DISABLE) .execute(selection); } } })); toolStrip.addToolButtonRight( new ToolButton( "Update", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { DeploymentRecord selection = selectionModel.getSelectedObject(); if (selection != null) { new DeploymentCommandDelegate( DeploymentListView.this.presenter, DeploymentCommand.UPDATE_CONTENT) .execute(selection); } } })); filter = new DeploymentFilter(dataProvider); toolStrip.addToolWidget(filter.asWidget()); TitleColumn dplNameColumn = new TitleColumn() {}; TextColumn<DeploymentRecord> dplRuntimeColumn = new TextColumn<DeploymentRecord>() { @Override public String getValue(DeploymentRecord record) { String title = null; if (record.getRuntimeName().length() > 27) title = record.getRuntimeName().substring(0, 26) + "..."; else title = record.getRuntimeName(); return title; } }; deploymentTable.addColumn(dplNameColumn, Console.CONSTANTS.common_label_name()); deploymentTable.addColumn(dplRuntimeColumn, Console.CONSTANTS.common_label_runtimeName()); deploymentTable.addColumn(makeEnabledColumn(), Console.CONSTANTS.common_label_enabled()); 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"); // TextBoxItem sha = new TextBoxItem("sha", "SHA"); form.setFields(name, runtimeName); form.bind(deploymentTable); MultipleToOneLayout layout = new MultipleToOneLayout() .setTitle(Console.CONSTANTS.common_label_deployments()) .setHeadline(Console.CONSTANTS.common_label_deployments()) .setDescription( "Currently deployed application components. Deployments that have been added through the filesystem will not be managable through the web interface.") .setMaster(Console.MESSAGES.available("Deployments"), deploymentTable) .setMasterTools(toolStrip) .setDetail(Console.CONSTANTS.common_label_selection(), form.asWidget()); return layout.build(); }