use of org.jkiss.dbeaver.ext.mysql.model.MySQLTable in project dbeaver by serge-rider.
the class TableToolDialog method getScriptListener.
@Override
protected SQLScriptProgressListener<MySQLTable> getScriptListener() {
return new SQLScriptStatusDialog<MySQLTable>(getShell(), getTitle() + " progress", null) {
@Override
protected void createStatusColumns(Tree objectTree) {
TreeColumn msgColumn = new TreeColumn(objectTree, SWT.NONE);
msgColumn.setText("Message");
}
@Override
public void processObjectResults(@NotNull MySQLTable object, @Nullable DBCStatement statement, @Nullable DBCResultSet resultSet) throws DBCException {
if (resultSet == null) {
return;
}
Map<String, String> statusMap = new LinkedHashMap<>();
while (resultSet.nextRow()) {
statusMap.put(CommonUtils.toString(resultSet.getAttributeValue("Msg_type")), CommonUtils.toString(resultSet.getAttributeValue("Msg_text")));
}
TreeItem treeItem = getTreeItem(object);
if (treeItem != null && !statusMap.isEmpty()) {
if (statusMap.size() == 1) {
treeItem.setText(1, statusMap.values().iterator().next());
} else {
String statusText = statusMap.get("status");
if (!CommonUtils.isEmpty(statusText)) {
treeItem.setText(1, statusText);
}
for (Map.Entry<String, String> status : statusMap.entrySet()) {
if (!status.getKey().equals("status")) {
TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
subItem.setText(0, status.getKey());
subItem.setText(1, status.getValue());
}
}
treeItem.setExpanded(true);
}
}
}
};
}
Aggregations