org.jboss.as.console.client.shared.runtime.jpa.PersistenceUnitList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of switchyard-console-as7-core
Show all versions of switchyard-console-as7-core
Bundles the core AS7 console as a GWT module. Includes minor customizations to support extensions.
package org.jboss.as.console.client.shared.runtime.jpa;
import com.google.gwt.cell.client.ActionCell;
import com.google.gwt.cell.client.ImageResourceCell;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.ProvidesKey;
import com.google.gwt.view.client.SingleSelectionModel;
import com.gwtplatform.mvp.client.proxy.PlaceRequest;
import org.jboss.as.console.client.Console;
import org.jboss.as.console.client.core.NameTokens;
import org.jboss.as.console.client.shared.help.StaticHelpPanel;
import org.jboss.as.console.client.shared.runtime.jpa.model.JPADeployment;
import org.jboss.as.console.client.shared.viewframework.builder.MultipleToOneLayout;
import org.jboss.as.console.client.widgets.forms.FormToolStrip;
import org.jboss.as.console.client.widgets.tables.TextLinkCell;
import org.jboss.ballroom.client.widgets.forms.CheckBoxItem;
import org.jboss.ballroom.client.widgets.forms.Form;
import org.jboss.ballroom.client.widgets.forms.TextItem;
import org.jboss.ballroom.client.widgets.icons.Icons;
import org.jboss.ballroom.client.widgets.tables.DefaultCellTable;
import java.util.List;
import java.util.Map;
/**
* @author Heiko Braun
* @date 1/19/12
*/
public class PersistenceUnitList {
private DefaultCellTable table;
private ListDataProvider dataProvider;
private JPAMetricPresenter presenter;
public PersistenceUnitList(JPAMetricPresenter presenter) {
this.presenter = presenter;
}
Widget asWidget() {
table = new DefaultCellTable(8, new ProvidesKey() {
@Override
public Object getKey(JPADeployment item) {
return item.getDeploymentName()+"_"+item.getPersistenceUnit();
}
});
TextColumn name = new TextColumn() {
@Override
public String getValue(JPADeployment record) {
return record.getDeploymentName();
}
};
TextColumn unit = new TextColumn() {
@Override
public String getValue(JPADeployment record) {
return record.getPersistenceUnit();
}
};
Column statusColumn =
new Column(new ImageResourceCell()) {
@Override
public ImageResource getValue(JPADeployment jpa) {
ImageResource res = null;
if(jpa.isMetricEnabled())
res = Icons.INSTANCE.status_good();
else
res = Icons.INSTANCE.status_bad();
return res;
}
};
Column option = new Column(
new TextLinkCell(Console.CONSTANTS.common_label_view(), new ActionCell.Delegate() {
@Override
public void execute(JPADeployment selection) {
presenter.getPlaceManager().revealPlace(
new PlaceRequest(NameTokens.JPAMetricPresenter)
.with("dpl", selection.getDeploymentName())
.with("unit", selection.getPersistenceUnit())
);
}
})
) {
@Override
public JPADeployment getValue(JPADeployment manager) {
return manager;
}
};
table.addColumn(unit, "Persistence Unit");
table.addColumn(name, "Deployment");
table.addColumn(statusColumn, "Metrics Enabled?");
table.addColumn(option, "Option");
table.setSelectionModel(
new SingleSelectionModel(
// TODO: https://issues.jboss.org/browse/AS7-3441
/*new ProvidesKey() {
@Override
public Object getKey(JPADeployment item) {
return item.getDeploymentName()+"#"+item.getPersistenceUnit();
}
} */
)
);
dataProvider = new ListDataProvider();
dataProvider.addDataDisplay(table);
// ---
final Form form = new Form(JPADeployment.class);
form.setNumColumns(2);
form.setEnabled(false);
TextItem deployment = new TextItem("deploymentName", "Deployment");
TextItem persistenceUnit = new TextItem("persistenceUnit", "Unit");
CheckBoxItem enabledField = new CheckBoxItem("metricEnabled", "Metrics Enabled?");
form.setFields(deployment, persistenceUnit, enabledField);
final StaticHelpPanel helpPanel = new StaticHelpPanel(
Console.CONSTANTS.subsys_jpa_deployment_desc()
);
form.bind(table);
FormToolStrip formTools = new FormToolStrip(
form, new FormToolStrip.FormCallback() {
@Override
public void onSave(Map changeset) {
presenter.onSaveJPADeployment(form.getEditedEntity(), changeset);
}
@Override
public void onDelete(JPADeployment entity) {
// not provided
}
}
);
formTools.providesDeleteOp(false);
VerticalPanel formPanel = new VerticalPanel();
formPanel.add(formTools.asWidget());
formPanel.add(helpPanel.asWidget());
formPanel.add(form.asWidget());
// ---
MultipleToOneLayout layout = new MultipleToOneLayout()
.setPlain(true)
.setTitle("JPA Metrics")
.setHeadline("Persistence Units")
.setDescription(Console.CONSTANTS.subsys_jpa_puList_desc())
.setMaster(Console.MESSAGES.available("Persistence Units"), table)
.addDetail("Persistence Unit", formPanel);
return layout.build();
}
public void setUnits(List jpaUnits) {
dataProvider.setList(jpaUnits);
table.selectDefaultEntity();
}
}