topicTable.addColumn(protocolColumn, "JNDI");
topicTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler(){
@Override
public void onSelectionChange(SelectionChangeEvent event) {
JMSEndpoint topic = getCurrentSelection();
presenter.setSelectedTopic(topic);
}
});
// ----
NumberColumn inQueue = new NumberColumn("message-count", "Queued");
Column[] cols = new Column[] {
inQueue.setBaseline(true),
new NumberColumn("delivering-count","In Delivery").setComparisonColumn(inQueue),
};
String title = "In-Flight Messages";
final HelpSystem.AddressCallback addressCallback = new HelpSystem.AddressCallback() {
@Override
public ModelNode getAddress() {
ModelNode address = new ModelNode();
address.get(ModelDescriptionConstants.ADDRESS).set(RuntimeBaseAddress.get());
address.get(ModelDescriptionConstants.ADDRESS).add("subsystem", "messaging");
address.get(ModelDescriptionConstants.ADDRESS).add("hornetq-server", "default");
address.get(ModelDescriptionConstants.ADDRESS).add("jms-topic", "*");
return address;
}
};
if(Console.protovisAvailable())
{
inflightSampler = new BulletGraphView(title, "count")
.setColumns(cols);
}
else
{
inflightSampler = new PlainColumnView(title, addressCallback)
.setColumns(cols)
.setWidth(100, Style.Unit.PCT);
}
// ----
NumberColumn processedCol = new NumberColumn("messages-added", "Added");
Column[] cols2 = new Column[] {
processedCol.setBaseline(true),
new NumberColumn("durable-message-count","Durable").setComparisonColumn(processedCol),
new NumberColumn("non-durable-message-count","Non-Durable").setComparisonColumn(processedCol)
};
String title2 = "Messages Processed";
if(Console.protovisAvailable())
{
processedSampler = new BulletGraphView(title2, "count")
.setColumns(cols2);
}
else
{
processedSampler = new PlainColumnView(title2, addressCallback)
.setColumns(cols2)
.setWidth(100, Style.Unit.PCT);
}
// ----
NumberColumn subscriptionsCols = new NumberColumn("subscription-count", "Subscriptions");
Column[] cols3 = new Column[] {
subscriptionsCols.setBaseline(true),
new NumberColumn("durable-subscription-count","Durable").setComparisonColumn(subscriptionsCols),
new NumberColumn("non-durable-subscription-count","Nun-Durable").setComparisonColumn(subscriptionsCols)
};
String title3 = "Subscriptions";
if(Console.protovisAvailable())
{
subscriptionSampler = new BulletGraphView(title3, "count")
.setColumns(cols3);
}
else
{
subscriptionSampler = new PlainColumnView(title3, addressCallback)
.setColumns(cols3)
.setWidth(100, Style.Unit.PCT);
}
// ----
DefaultPager pager = new DefaultPager();
pager.setDisplay(topicTable);
ToolStrip topicTools = new ToolStrip();
topicTools.addToolButtonRight(new ToolButton("Flush", new ClickHandler() {
@Override
public void onClick(ClickEvent clickEvent) {
SingleSelectionModel<JMSEndpoint> selectionModel =
(SingleSelectionModel<JMSEndpoint>) topicTable.getSelectionModel();
final JMSEndpoint topic = selectionModel.getSelectedObject();
Feedback.confirm("Flush Topic", "Do you really want to flush topic " + topic.getName(),
new Feedback.ConfirmationHandler() {
@Override
public void onConfirmation(boolean isConfirmed) {
presenter.onFlushTopic(topic);
}