if (!BuddyList.getInstance().checkConnection()) {
BuddyList.getInstance().connectionError();
return;
}
ServiceDiscoveryManager manager = new ServiceDiscoveryManager(
BuddyList.getInstance().getConnection());
// get the discover items for the server
try {
DiscoverItems items = manager.discoverItems(serverField.getText());
Iterator i = items.getItems();
String top[] = new String[]{serverField.getText(),
serverField.getText(), "", "", ""};
discoItems.add(top);
tableModel.addItem(top);
while (i.hasNext()) {
DiscoverItems.Item item = (DiscoverItems.Item) i.next();
if (stopped) {
return;
}
final String[] entry = new String[]{item.getName(),
item.getEntityID(), "", ""};
discoItems.add(entry);
SwingUtilities.invokeLater(
new Runnable() {
public void run() {
tableModel.addItem(entry);
}
});
}
for (int icount = 0; icount < discoItems.size(); icount++) {
String[] entry = (String[]) discoItems.get(icount);
final String id = entry[1];
status.setText(resources.getString("status") + ": "
+ resources.getString("gettingFeatures") + " ("
+ id + ") ...");
// get the discover info about each item
DiscoverInfo info = null;
try {
info = manager.discoverInfo(id);
} catch (XMPPException e) {
}
// if the service discovery has been aborted, bail out
if (stopped) {