Search in sources :

Example 6 with DBTTaskManager

use of org.jkiss.dbeaver.model.task.DBTTaskManager in project dbeaver by serge-rider.

the class TaskHandlerCreate method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    DBPProject project = NavigatorUtils.getSelectedProject();
    /*
        CreateTaskConfigurationDialog dialog = new CreateTaskConfigurationDialog(
            HandlerUtil.getActiveShell(event),
            project
        );
*/
    TaskConfigurationWizardDialog dialog = new TaskConfigurationWizardDialog(HandlerUtil.getActiveWorkbenchWindow(event));
    if (dialog.open() == IDialogConstants.OK_ID) {
        DBTTaskManager taskManager = project.getTaskManager();
        try {
        /*
                DBTTaskConfigurator configurator = dialog.getSelectedCategory().createConfigurator();
                DBTTask task = taskManager.createTask(
                    dialog.getSelectedTaskType(),
                    dialog.getTaskName(),
                    dialog.getTaskDescription(),
                    dialog.getInitialProperties());
                if (!configurator.createTaskConfigWizard(task)) {
                    taskManager.deleteTaskConfiguration(task);
                }
*/
        } catch (Exception e) {
            DBWorkbench.getPlatformUI().showError("Create task failed", "Error while creating new task", e);
        }
    }
    return null;
}
Also used : DBTTaskManager(org.jkiss.dbeaver.model.task.DBTTaskManager) TaskConfigurationWizardDialog(org.jkiss.dbeaver.tasks.ui.wizard.TaskConfigurationWizardDialog) DBPProject(org.jkiss.dbeaver.model.app.DBPProject) ExecutionException(org.eclipse.core.commands.ExecutionException)

Example 7 with DBTTaskManager

use of org.jkiss.dbeaver.model.task.DBTTaskManager in project dbeaver by dbeaver.

the class EditTaskConfigurationDialog method okPressed.

@Override
protected void okPressed() {
    DBTTaskManager taskManager = project.getTaskManager();
    try {
        if (task == null) {
            task = (TaskImpl) taskManager.createTask(taskType, taskLabelCombo.getText(), taskDescriptionText.getText(), state);
        }
        task.setName(taskLabelCombo.getText());
        task.setDescription(taskDescriptionText.getText());
        task.setUpdateTime(new Date());
        task.setProperties(state);
        taskManager.updateTaskConfiguration(task);
    } catch (DBException e) {
        DBWorkbench.getPlatformUI().showError("Create task", "Error creating data transfer task", e);
        return;
    }
    super.okPressed();
}
Also used : DBException(org.jkiss.dbeaver.DBException) DBTTaskManager(org.jkiss.dbeaver.model.task.DBTTaskManager) Date(java.util.Date)

Example 8 with DBTTaskManager

use of org.jkiss.dbeaver.model.task.DBTTaskManager in project dbeaver by dbeaver.

the class EditTaskConfigurationDialog method createDialogArea.

@Override
protected Composite createDialogArea(Composite parent) {
    Composite composite = super.createDialogArea(parent);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite formPanel = UIUtils.createComposite(composite, 2);
    formPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
    ModifyListener modifyListener = e -> {
        updateButtons();
    };
    UIUtils.createLabelText(formPanel, TaskUIMessages.edit_task_config_dialog_label_type, taskType.getCategory().getName() + " / " + taskType.getName(), SWT.BORDER | SWT.READ_ONLY);
    boolean taskSaved = task != null && !CommonUtils.isEmpty(task.getId());
    taskLabelCombo = UIUtils.createLabelCombo(formPanel, TaskUIMessages.edit_task_config_dialog_label_name, "", SWT.BORDER | (taskSaved ? SWT.READ_ONLY : SWT.NONE));
    ((GridData) taskLabelCombo.getLayoutData()).widthHint = 300;
    if (task != null) {
        taskLabelCombo.setText(task.getName());
    } else {
        taskLabelCombo.add("");
        DBTTaskManager taskManager = project.getTaskManager();
        allTasks = taskManager.getAllTaskByType(taskType);
        for (DBTTask tc : allTasks) {
            taskLabelCombo.add(tc.getName());
        }
    /*
            taskLabelCombo.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    int selectionIndex = taskLabelCombo.getSelectionIndex();
                    if (selectionIndex == 0) {
                        task = null;
                        setTitle("Create task " + taskType.getName());
                    } else {
                        task = (TaskImpl) allTasks[selectionIndex - 1];
                        taskDescriptionText.setText(CommonUtils.notEmpty(task.getDescription()));
                        setTitle("Edit task " + task.getName());
                    }
                }
            });
*/
    }
    taskLabelCombo.addModifyListener(modifyListener);
    if (taskSaved) {
        taskLabelCombo.setEnabled(false);
    }
    // if (!CommonUtils.isEmpty(task.getId())) {
    // UIUtils.createLabelText(formPanel, "ID", task.getId(), SWT.BORDER | SWT.READ_ONLY);
    // }
    taskDescriptionText = UIUtils.createLabelText(formPanel, TaskUIMessages.edit_task_config_dialog_label_descr, task == null ? "" : CommonUtils.notEmpty(task.getDescription()), SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
    ((GridData) taskDescriptionText.getLayoutData()).heightHint = taskDescriptionText.getLineHeight() * 5;
    taskDescriptionText.addModifyListener(modifyListener);
    UIUtils.asyncExec(() -> taskLabelCombo.setFocus());
    return composite;
}
Also used : DBWorkbench(org.jkiss.dbeaver.runtime.DBWorkbench) Date(java.util.Date) DBTTaskType(org.jkiss.dbeaver.model.task.DBTTaskType) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) NotNull(org.jkiss.code.NotNull) BaseDialog(org.jkiss.dbeaver.ui.dialogs.BaseDialog) LinkedHashMap(java.util.LinkedHashMap) Composite(org.eclipse.swt.widgets.Composite) UIUtils(org.jkiss.dbeaver.ui.UIUtils) DBTTaskManager(org.jkiss.dbeaver.model.task.DBTTaskManager) Map(java.util.Map) DBTTask(org.jkiss.dbeaver.model.task.DBTTask) TaskImpl(org.jkiss.dbeaver.registry.task.TaskImpl) GridData(org.eclipse.swt.layout.GridData) DBPProject(org.jkiss.dbeaver.model.app.DBPProject) CommonUtils(org.jkiss.utils.CommonUtils) Text(org.eclipse.swt.widgets.Text) TaskUIMessages(org.jkiss.dbeaver.tasks.ui.internal.TaskUIMessages) Combo(org.eclipse.swt.widgets.Combo) Shell(org.eclipse.swt.widgets.Shell) DBIcon(org.jkiss.dbeaver.model.DBIcon) DBException(org.jkiss.dbeaver.DBException) ModifyListener(org.eclipse.swt.events.ModifyListener) SWT(org.eclipse.swt.SWT) Composite(org.eclipse.swt.widgets.Composite) ModifyListener(org.eclipse.swt.events.ModifyListener) DBTTaskManager(org.jkiss.dbeaver.model.task.DBTTaskManager) DBTTask(org.jkiss.dbeaver.model.task.DBTTask) GridData(org.eclipse.swt.layout.GridData)

Aggregations

DBTTaskManager (org.jkiss.dbeaver.model.task.DBTTaskManager)8 DBException (org.jkiss.dbeaver.DBException)6 Date (java.util.Date)4 DBPProject (org.jkiss.dbeaver.model.app.DBPProject)4 DBTTask (org.jkiss.dbeaver.model.task.DBTTask)4 LinkedHashMap (java.util.LinkedHashMap)2 Map (java.util.Map)2 ExecutionException (org.eclipse.core.commands.ExecutionException)2 IDialogConstants (org.eclipse.jface.dialogs.IDialogConstants)2 IDialogSettings (org.eclipse.jface.dialogs.IDialogSettings)2 ISelection (org.eclipse.jface.viewers.ISelection)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)2 SWT (org.eclipse.swt.SWT)2 ModifyListener (org.eclipse.swt.events.ModifyListener)2 GridData (org.eclipse.swt.layout.GridData)2 Combo (org.eclipse.swt.widgets.Combo)2 Composite (org.eclipse.swt.widgets.Composite)2 Shell (org.eclipse.swt.widgets.Shell)2 Text (org.eclipse.swt.widgets.Text)2