use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.
the class LoadDatabaseAction method run.
public void run() {
Object[] obj = this.getSelectedObj();
if (!isSupported(obj[0])) {
setEnabled(false);
return;
}
ISchemaNode node = (ISchemaNode) obj[0];
final CubridDatabase database = node.getDatabase();
final LoadDatabaseDialog dialog = new LoadDatabaseDialog(getShell());
dialog.setDatabase(database);
final Shell shell = getShell();
TaskExecutor taskExcutor = new TaskExecutor() {
public boolean exec(final IProgressMonitor monitor) {
if (monitor.isCanceled()) {
return false;
}
monitor.beginTask(Messages.loadDbUnloadInfoTaskName, IProgressMonitor.UNKNOWN);
for (ITask task : taskList) {
task.execute();
final String msg = task.getErrorMsg();
if (openErrorBox(shell, msg, monitor)) {
return false;
}
if (monitor.isCanceled()) {
return false;
}
if (task instanceof GetDbUnloadInfoTask) {
GetDbUnloadInfoTask getDbUnloadInfoTask = (GetDbUnloadInfoTask) task;
List<DbUnloadInfo> dbUnloadInfoList = getDbUnloadInfoTask.getDbUnloadInfoList();
dialog.setDbUnloadInfoList(dbUnloadInfoList);
}
}
return true;
}
};
ServerInfo serverInfo = database.getServer().getServerInfo();
GetDbUnloadInfoTask task = new GetDbUnloadInfoTask(serverInfo);
taskExcutor.addTask(task);
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
if (taskExcutor.isSuccess()) {
dialog.open();
}
}
use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.
the class RenameDatabaseAction method run.
public void run() {
Object[] obj = this.getSelectedObj();
if (!isSupported(obj[0])) {
setEnabled(false);
return;
}
final CubridDatabase database = (CubridDatabase) obj[0];
ISelectionProvider provider = this.getSelectionProvider();
final TreeViewer viewer = (TreeViewer) provider;
String serverName = database.getServer().getName();
String dbName = database.getName();
final String jobName = serverName + "-" + dbName + "-" + Messages.msgRenameDBRearJobName;
final RenameDatabaseDialog dialog = new RenameDatabaseDialog(getShell(), new ITaskExecutorInterceptor() {
public void completeAll() {
QueryOptions.removePref(database.getDatabaseInfo());
CommonUITool.openInformationBox(Messages.titleSuccess, Messages.bind(Messages.msgRenameDBComplete, jobName));
CommonUITool.refreshNavigatorTree(viewer, database.getParent());
}
public IStatus postTaskFinished(ITask task) {
return Status.OK_STATUS;
}
});
dialog.setDatabase(database);
final Shell shell = getShell();
TaskExecutor taskExcutor = new TaskExecutor() {
@SuppressWarnings("unchecked")
public boolean exec(final IProgressMonitor monitor) {
if (monitor.isCanceled()) {
return false;
}
monitor.beginTask(Messages.getDbSpaceInfoTaskName, IProgressMonitor.UNKNOWN);
for (ITask task : taskList) {
task.execute();
final String msg = task.getErrorMsg();
if (openErrorBox(shell, msg, monitor)) {
return false;
}
if (monitor.isCanceled()) {
return false;
}
if (task instanceof CommonQueryTask) {
dbSpaceInfo = ((CommonQueryTask<DbSpaceInfoList>) task).getResultModel();
}
}
return true;
}
};
dbSpaceInfo = new DbSpaceInfoList();
CommonQueryTask<DbSpaceInfoList> task = new CommonQueryTask<DbSpaceInfoList>(database.getServer().getServerInfo(), CommonSendMsg.getCommonDatabaseSendMsg(), dbSpaceInfo);
task.setDbName(database.getLabel());
taskExcutor.addTask(task);
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
if (taskExcutor.isSuccess()) {
dialog.setDbSpaceInfoList(dbSpaceInfo);
dialog.open();
}
}
use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.
the class AddStatusMonitorTemplateAction method run.
/**
* Override the run method in order to open an instance of status monitor
* dialog
*
*/
public void run() {
Object[] obj = this.getSelectedObj();
ICubridNode selection = (ICubridNode) obj[0];
ServerInfo site = selection.getServer().getServerInfo();
boolean execDiagChecked = false;
final GetCMConfParameterTask task = new GetCMConfParameterTask(site);
TaskExecutor taskExec = new CommonTaskExec(null);
taskExec.addTask(task);
new ExecTaskWithProgress(taskExec).exec();
if (!taskExec.isSuccess()) {
return;
}
Map<String, String> confParas = task.getConfParameters();
if (confParas == null) {
execDiagChecked = false;
} else {
if (confParas.get(ConfConstants.EXECUTE_DIAG) == null) {
execDiagChecked = false;
} else {
execDiagChecked = confParas.get(ConfConstants.EXECUTE_DIAG).equals(OnOffType.ON.getText()) ? true : false;
}
}
DiagStatusMonitorTemplateDialog dialog = new DiagStatusMonitorTemplateDialog(getShell());
dialog.setOperation(AddEditType.ADD);
dialog.setSelection(selection);
dialog.setExecDiagChecked(execDiagChecked);
if (dialog.open() == Dialog.OK) {
StatusTemplateInfo statusTemplateInfo = dialog.getStatusTemplateInfo();
AddStatusTemplateTask addTask = new AddStatusTemplateTask(site);
addTask.setStatusTemplateInfo(statusTemplateInfo);
addTask.buildMsg();
String taskName = Messages.bind(Messages.addTemplateTaskName, statusTemplateInfo.getName());
TaskExecutor taskExecutor = new CommonTaskExec(taskName);
taskExecutor.addTask(addTask);
new ExecTaskWithProgress(taskExecutor).exec();
if (taskExecutor.isSuccess()) {
TreeViewer treeViewer = (TreeViewer) this.getSelectionProvider();
CommonUITool.refreshNavigatorTree(treeViewer, selection);
}
}
}
use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.
the class EditStatusMonitorTemplateAction method run.
/**
* Override the run method in order to open an instance of status monitor
* dialog
*
*/
public void run() {
Object[] obj = this.getSelectedObj();
ICubridNode selection = (ICubridNode) obj[0];
ServerInfo serverInfo = selection.getServer().getServerInfo();
boolean execDiagChecked = false;
final GetCMConfParameterTask task = new GetCMConfParameterTask(serverInfo);
TaskExecutor taskExec = new CommonTaskExec(null);
taskExec.addTask(task);
new ExecTaskWithProgress(taskExec).exec();
if (!taskExec.isSuccess()) {
return;
}
Map<String, String> confParas = task.getConfParameters();
if (confParas == null) {
execDiagChecked = false;
} else {
if (confParas.get(ConfConstants.EXECUTE_DIAG) == null) {
execDiagChecked = false;
} else {
execDiagChecked = confParas.get(ConfConstants.EXECUTE_DIAG).equals(OnOffType.ON.getText()) ? true : false;
}
}
DiagStatusMonitorTemplateDialog dialog = new DiagStatusMonitorTemplateDialog(getShell());
dialog.setOperation(AddEditType.EDIT);
dialog.setSelection(selection);
dialog.setExecDiagChecked(execDiagChecked);
if (dialog.open() == Dialog.OK) {
StatusTemplateInfo statusTemplateInfo = dialog.getStatusTemplateInfo();
UpdateStatusTemplateTask updateTask = new UpdateStatusTemplateTask(serverInfo);
updateTask.setStatusTemplateInfo(statusTemplateInfo);
updateTask.buildMsg();
String taskName = Messages.bind(Messages.editTemplateTaskName, statusTemplateInfo.getName());
TaskExecutor taskExecutor = new CommonTaskExec(taskName);
taskExecutor.addTask(updateTask);
new ExecTaskWithProgress(taskExecutor).exec();
if (taskExecutor.isSuccess()) {
TreeViewer treeViewer = (TreeViewer) this.getSelectionProvider();
CommonUITool.refreshNavigatorTree(treeViewer, selection.getParent());
}
}
}
use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.
the class EditMultiHostStatisticItemDialog method openAddStatisticHostDialog.
private void openAddStatisticHostDialog(StatisticChartHost hostItem, boolean isFirstHost, boolean isNewHost) {
EditStatisticHostDialog dialog = new EditStatisticHostDialog(this.getShell(), this, isNewHost);
if (!isNewHost) {
//initial data when edit host info
dialog.init(type, timeType, hostItem);
}
dialog.setFirstHost(isFirstHost);
if (!isFirstHost) {
StatisticChartHost firstItem = hostList.get(0);
dialog.setFirstMetric(firstItem.getMetric());
dialog.setFirstTime(timeType);
}
ServerInfo serverInfo = null;
if (hostItem != null) {
//edit
serverInfo = LoadMonitorStatisticDataProgress.buildServerInfo(hostItem);
boolean isUnavailable = false;
boolean isSupported = false;
if (serverInfo == null) {
isUnavailable = true;
} else if (serverInfo.isConnected()) {
isSupported = serverInfo.isSupportMonitorStatistic();
} else {
LoadMonitorStatisticDataProgress.addDisconnectedServer(serverInfo);
TaskExecutor taskExcutor = new ConnectHostExecutor(getShell(), serverInfo, true);
((ConnectHostExecutor) taskExcutor).setCheckJdbc(false);
new ExecTaskWithProgress(taskExcutor).exec(true, true);
if (taskExcutor.isSuccess()) {
isSupported = serverInfo.isSupportMonitorStatistic();
} else {
isUnavailable = true;
}
}
dialog.setServerInfo(serverInfo);
if (isUnavailable) {
dialog.setHostStatusValue(dialog.HOST_STATUS_UNAVAILABLE);
} else if (isSupported) {
dialog.setHostStatusValue(dialog.HOST_STATUS_OK);
} else {
dialog.setHostStatusValue(dialog.HOST_STATUS_UNSUPPORTED);
}
}
if (dialog.open() == Dialog.OK) {
if (hostItem != null) {
int oldIndex = hostList.indexOf(hostItem);
hostList.set(oldIndex, dialog.getHostItem());
} else {
hostList.add(dialog.getHostItem());
}
refreshHostTable();
}
enableOk();
}
Aggregations