Search in sources :

Example 96 with ExecTaskWithProgress

use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.

the class RenameColumnDialog method okPressed.

/**
	 * Save the new text.
	 */
protected void okPressed() {
    newName = newText.getText().trim();
    TaskExecutor taskExec = new CommonTaskExec(Messages.bind(Messages.renameShellTitle, tableName, column));
    RenameTableColumnTask task = new RenameTableColumnTask(database.getDatabaseInfo());
    task.setTableName(tableName);
    task.setNewName(newName);
    task.setOldName(column);
    taskExec.addTask(task);
    new ExecTaskWithProgress(taskExec).busyCursorWhile();
    if (taskExec.isSuccess()) {
        super.okPressed();
    }
}
Also used : CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) RenameTableColumnTask(com.cubrid.cubridmanager.core.cubrid.table.task.RenameTableColumnTask)

Example 97 with ExecTaskWithProgress

use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.

the class LongTextCellPopupDialog method exportData.

/**
	 * 
	 * Export data to file
	 * 
	 * @param filePath String
	 */
private void exportData(final String filePath) {
    final String charsetName = fileCharsetCombo.getText();
    final String content = columnValueText.getText();
    AbstractUITask task = new AbstractUITask() {

        boolean isSuccess = false;

        public void execute(final IProgressMonitor monitor) {
            BufferedWriter writer = null;
            try {
                writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), charsetName));
                writer.write(content);
                writer.flush();
                isSuccess = true;
            } catch (IOException e) {
                errorMsg = e.getMessage();
            } finally {
                if (writer != null) {
                    try {
                        writer.close();
                    } catch (IOException e) {
                    // ignore
                    }
                }
            }
        }

        public void cancel() {
        //empty
        }

        public void finish() {
        //empty
        }

        public boolean isCancel() {
            return false;
        }

        public boolean isSuccess() {
            return isSuccess;
        }
    };
    TaskExecutor taskExecutor = new CommonTaskExec(Messages.msgExportFieldData);
    taskExecutor.addTask(task);
    new ExecTaskWithProgress(taskExecutor).exec();
    if (taskExecutor.isSuccess()) {
        CommonUITool.openInformationBox(getShell(), Messages.titleSuccess, Messages.msgExportSuccess);
    }
}
Also used : CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) AbstractUITask(com.cubrid.common.core.task.AbstractUITask) FileOutputStream(java.io.FileOutputStream) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) OutputStreamWriter(java.io.OutputStreamWriter) IOException(java.io.IOException) BufferedWriter(java.io.BufferedWriter)

Example 98 with ExecTaskWithProgress

use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.

the class DeleteUserAction method doRun.

public void doRun(ISchemaNode node) {
    // FIXME move this logic to core module
    CubridDatabase database = node.getDatabase();
    if (database == null || node == null) {
        CommonUITool.openErrorBox(getShell(), Messages.msgSelectDB);
        return;
    }
    String childId = database.getId() + ICubridNodeLoader.NODE_SEPARATOR + CubridNodeLoader.USERS_FOLDER_ID;
    ICubridNode folderNode = database.getChild(childId);
    if (folderNode == null || !folderNode.getLoader().isLoaded()) {
        return;
    }
    //		if (database.getDatabaseInfo().isHAMode()) {
    //			CommonUITool.openErrorBox(com.cubrid.cubridmanager.ui.common.Messages.errNoSupportInHA);
    //			return;
    //		}
    TaskExecutor taskExecutor = new CommonTaskExec(CommonTaskName.DELETE_USER_TASK_NAME);
    DropUserTask task = new DropUserTask(database.getDatabaseInfo(), node.getName());
    taskExecutor.addTask(task);
    new ExecTaskWithProgress(taskExecutor).busyCursorWhile();
    if (taskExecutor.isSuccess()) {
        CubridNavigatorView navigatorView = CubridNavigatorView.findNavigationView();
        if (navigatorView != null) {
            TreeViewer treeViewer = navigatorView.getViewer();
            if (treeViewer != null) {
                //refresh user folder count label
                CubridNodeChangedEvent event = new CubridNodeChangedEvent(folderNode, CubridNodeChangedEventType.NODE_REFRESH);
                CubridNodeManager.getInstance().fireCubridNodeChanged(event);
                CommonUITool.updateFolderNodeLabelIncludingChildrenCount(treeViewer, node.getParent());
                CommonUITool.openInformationBox(com.cubrid.common.ui.common.Messages.titleSuccess, Messages.msgDeleteUserSuccess);
            }
        }
    }
}
Also used : CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) CubridNavigatorView(com.cubrid.common.ui.common.navigator.CubridNavigatorView) TreeViewer(org.eclipse.jface.viewers.TreeViewer) DropUserTask(com.cubrid.cubridmanager.core.cubrid.user.task.DropUserTask) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase)

Example 99 with ExecTaskWithProgress

use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.

the class EditUserDialog method execTask.

public boolean execTask(final int buttonId, final ITask[] tasks, Shell shell) {
    final Display display = Display.getCurrent();
    TaskExecutor taskExecutor = new TaskExecutor() {

        public boolean exec(IProgressMonitor monitor) {
            for (ITask task : tasks) {
                if (task instanceof GetAllClassListTask) {
                    setAllClassInfoList(((GetAllClassListTask) task).getAllClassInfoList());
                } else {
                    task.execute();
                }
                if (openErrorBox(null, task.getErrorMsg(), monitor)) {
                    return false;
                }
                if (monitor.isCanceled()) {
                    return false;
                }
            }
            if (!monitor.isCanceled()) {
                display.syncExec(new Runnable() {

                    public void run() {
                        if (buttonId > 0) {
                            setReturnCode(buttonId);
                            close();
                        }
                    }
                });
            }
            return true;
        }
    };
    for (ITask task : tasks) {
        taskExecutor.addTask(task);
    }
    new ExecTaskWithProgress(taskExecutor).busyCursorWhile();
    return taskExecutor.isSuccess();
}
Also used : TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ITask(com.cubrid.common.core.task.ITask) GetAllClassListTask(com.cubrid.cubridmanager.core.cubrid.table.task.GetAllClassListTask) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) Display(org.eclipse.swt.widgets.Display)

Example 100 with ExecTaskWithProgress

use of com.cubrid.common.ui.spi.progress.ExecTaskWithProgress in project cubrid-manager by CUBRID.

the class CreateTriggerDialog method executeBySocket.

/**
	 *
	 * Execute to add or alter trigger by socket
	 *
	 * @param buttonId int
	 */
private void executeBySocket(int buttonId) {
    // FIXME remove
    String taskName = null;
    String message = null;
    ITask executedTask = null;
    if (buttonId == IDialogConstants.OK_ID) {
        String eventType = getEventType();
        String triggerEventTargetTable = triggerTargetTableCombo.getText().trim();
        String triggerEventTargetColumn = triggerTargetColumnCombo.getText().trim();
        AddTriggerTask task = new AddTriggerTask(database.getServer().getServerInfo());
        task.setDbName(database.getName());
        task.setTriggerName("\"" + triggerName + "\"");
        String eventTime = getEventTime();
        task.setConditionTime(TriggerConditionTime.eval(eventTime));
        task.setEventType(TriggerEvent.eval(eventType));
        String triggerActionType = getActionType();
        String triggerAction = triggerActionText.getText().trim();
        String crChar = "\r";
        String nlChar = "\n";
        triggerAction = triggerAction.replaceAll(crChar, "");
        triggerAction = triggerAction.replaceAll(nlChar, " ");
        task.setAction(Trigger.TriggerAction.eval(triggerActionType), triggerAction);
        if (triggerEventTargetTable.length() > 0) {
            if (triggerEventTargetColumn.length() > 0) {
                task.setEventTarget("\"" + triggerEventTargetTable + "\"(\"" + triggerEventTargetColumn + "\")");
            } else {
                task.setEventTarget("\"" + triggerEventTargetTable + "\"");
            }
        }
        String actionTime = getActionTime();
        if (!actionTime.equals(Messages.actionTimeDefault)) {
            // action time selected
            task.setActionTime(TriggerActionTime.eval(actionTime));
        }
        String triggerCondition = triggerConditionText.getText().trim();
        triggerCondition = triggerCondition.replaceAll(crChar, "");
        triggerCondition = triggerCondition.replaceAll(nlChar, " ");
        task.setCondition(triggerCondition);
        String triggerStatus = this.getStatus();
        task.setStatus(TriggerStatus.eval(triggerStatus));
        String strPriority = triggerPriorityText.getText();
        task.setPriority(strPriority);
        taskName = Messages.bind(Messages.addTriggerTaskName, triggerName);
        message = Messages.newTriggerSuccess;
        executedTask = task;
    } else if (buttonId == ALTER_TRIGGER_OK_ID) {
        AlterTriggerTask task = new AlterTriggerTask(database.getServer().getServerInfo());
        task.setDbName(database.getName());
        task.setTriggerName(trigger.getName());
        String triggerStatus = this.getStatus();
        task.setStatus(TriggerStatus.eval(triggerStatus));
        String strPriority = triggerPriorityText.getText();
        task.setPriority(strPriority);
        taskName = Messages.bind(Messages.alterTriggerTaskName, trigger.getName());
        message = Messages.alterTriggerSuccess;
        executedTask = task;
    }
    TaskExecutor taskExecutor = new CommonTaskExec(taskName);
    taskExecutor.addTask(executedTask);
    new ExecTaskWithProgress(taskExecutor).busyCursorWhile();
    if (taskExecutor.isSuccess()) {
        setReturnCode(buttonId);
        close();
        CommonUITool.openInformationBox(Messages.msgInformation, message);
    }
}
Also used : CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) ITask(com.cubrid.common.core.task.ITask) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) AddTriggerTask(com.cubrid.cubridmanager.core.cubrid.trigger.task.AddTriggerTask) AlterTriggerTask(com.cubrid.cubridmanager.core.cubrid.trigger.task.AlterTriggerTask)

Aggregations

ExecTaskWithProgress (com.cubrid.common.ui.spi.progress.ExecTaskWithProgress)155 TaskExecutor (com.cubrid.common.ui.spi.progress.TaskExecutor)124 CommonTaskExec (com.cubrid.common.ui.spi.progress.CommonTaskExec)106 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)40 TreeViewer (org.eclipse.jface.viewers.TreeViewer)39 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)37 ITask (com.cubrid.common.core.task.ITask)35 CubridDatabase (com.cubrid.common.ui.spi.model.CubridDatabase)30 ArrayList (java.util.ArrayList)29 ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)26 DatabaseInfo (com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo)25 ISchemaNode (com.cubrid.common.ui.spi.model.ISchemaNode)23 Shell (org.eclipse.swt.widgets.Shell)15 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)14 HashMap (java.util.HashMap)13 Map (java.util.Map)13 ISelectionProvider (org.eclipse.jface.viewers.ISelectionProvider)13 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)12 IEditorPart (org.eclipse.ui.IEditorPart)12 LogInfo (com.cubrid.cubridmanager.core.logs.model.LogInfo)11