ClickHandler clickHandler = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
final XADataSource currentSelection = details.getCurrentSelection();
if(currentSelection!=null)
{
Feedback.confirm(
Console.MESSAGES.deleteTitle("datasource"),
Console.MESSAGES.deleteConfirm("datasource "+currentSelection.getName()),
new Feedback.ConfirmationHandler() {
@Override
public void onConfirmation(boolean isConfirmed) {
if (isConfirmed) {
presenter.onDeleteXA(currentSelection);
}
}
});
}
}
};
ToolButton deleteBtn = new ToolButton(Console.CONSTANTS.common_label_delete());
deleteBtn.addClickHandler(clickHandler);
topLevelTools.addToolButtonRight(deleteBtn);
layout.add(topLevelTools);
// ----
VerticalPanel vpanel = new VerticalPanel();
vpanel.setStyleName("rhs-content-panel");
ScrollPanel scroll = new ScrollPanel(vpanel);
layout.add(scroll);
layout.setWidgetTopHeight(topLevelTools, 0, Style.Unit.PX, 30, Style.Unit.PX);
layout.setWidgetTopHeight(scroll, 30, Style.Unit.PX, 100, Style.Unit.PCT);
// ---
HorizontalPanel horzPanel = new HorizontalPanel();
horzPanel.getElement().setAttribute("style", "width:100%;");
Image image = new Image(Icons.INSTANCE.database());
horzPanel.add(image);
horzPanel.add(new ContentHeaderLabel("XA "+Console.CONSTANTS.subsys_jca_dataSource_configurations()));
image.getElement().getParentElement().setAttribute("width", "25");
vpanel.add(horzPanel);
dataSourceTable = new DefaultCellTable<XADataSource>(20);
dataSourceProvider = new ListDataProvider<XADataSource>();
dataSourceProvider.addDataDisplay(dataSourceTable);
TextColumn<DataSource> nameColumn = new TextColumn<DataSource>() {
@Override
public String getValue(DataSource record) {
return record.getName();
}
};
TextColumn<DataSource> jndiNameColumn = new TextColumn<DataSource>() {
@Override
public String getValue(DataSource record) {
return record.getJndiName();
}
};
TextColumn<DataSource> poolColumn = new TextColumn<DataSource>() {
@Override
public String getValue(DataSource record) {
return record.getPoolName();
}
};
Column<DataSource, ImageResource> statusColumn =
new Column<DataSource, ImageResource>(new ImageResourceCell()) {
@Override
public ImageResource getValue(DataSource dataSource) {
ImageResource res = null;
if(dataSource.isEnabled())
res = Icons.INSTANCE.statusGreen_small();
else
res = Icons.INSTANCE.statusRed_small();
return res;
}
};
dataSourceTable.addColumn(nameColumn, "Name");
dataSourceTable.addColumn(jndiNameColumn, "JNDI");
dataSourceTable.addColumn(poolColumn, "Pool");
dataSourceTable.addColumn(statusColumn, "Enabled?");
vpanel.add(new ContentGroupLabel(Console.CONSTANTS.subsys_jca_dataSource_registered()));
vpanel.add(dataSourceTable);
// -----------
details = new XADataSourceDetails(presenter);
propertyEditor = new PropertyEditor(this,true);
propertyEditor.setHelpText(Console.CONSTANTS.subsys_jca_dataSource_xaprop_help());
final SingleSelectionModel<XADataSource> selectionModel = new SingleSelectionModel<XADataSource>();
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
XADataSource dataSource = selectionModel.getSelectedObject();
details.setSelectedRecord(dataSource);
//propertyEditor.setProperties(dataSource.getName(), dataSource.getProperties());
presenter.loadXAProperties(dataSource.getName());
}
});
dataSourceTable.setSelectionModel(selectionModel);
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler () {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
XADataSource selectedObject = ((SingleSelectionModel<XADataSource>) dataSourceTable.getSelectionModel()).getSelectedObject();
presenter.loadPoolConfig(true, selectedObject.getName());
}
});
TabPanel bottomPanel = new TabPanel();
bottomPanel.setStyleName("default-tabpanel");