Example usage for org.eclipse.jface.dialogs MessageDialog openQuestion

List of usage examples for org.eclipse.jface.dialogs MessageDialog openQuestion

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openQuestion.

Prototype

public static boolean openQuestion(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a simple Yes/No question dialog.

Usage

From source file:com.centurylink.mdw.plugin.designer.properties.ProjectSection.java

License:Apache License

public void setSelection(WorkflowElement selection) {
    if (project != null)
        project.removeElementChangeListener(this);

    project = (WorkflowProject) selection;
    project.addElementChangeListener(this);

    // dispose controls to render dynamically
    if (sourceProjectEditor != null)
        sourceProjectEditor.dispose();/*  w  ww.  j a  v  a  2  s .c  o m*/
    if (jdbcUrlEditor != null)
        jdbcUrlEditor.dispose();
    if (hostEditor != null)
        hostEditor.dispose();
    if (portEditor != null)
        portEditor.dispose();
    if (webContextRootEditor != null)
        webContextRootEditor.dispose();
    if (updateServerCacheEditor != null)
        updateServerCacheEditor.dispose();
    if (localProjectEditor != null)
        localProjectEditor.dispose();
    if (localProjectInfoEditor != null)
        localProjectInfoEditor.dispose();
    if (mdwVersionEditor != null)
        mdwVersionEditor.dispose();
    if (appVersionEditor != null)
        appVersionEditor.dispose();

    // source project text field
    sourceProjectEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    sourceProjectEditor.setLabel("Source Project");
    sourceProjectEditor.setWidth(200);
    sourceProjectEditor.render(composite);
    sourceProjectEditor.setValue(project.getSourceProjectName());
    sourceProjectEditor.setEditable(false);

    // jdbc url text field
    jdbcUrlEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    jdbcUrlEditor.setLabel("JDBC URL");
    jdbcUrlEditor.addValueChangeListener(new ValueChangeListener() {
        public void propertyValueChanged(Object newValue) {
            project.getMdwDataSource().setJdbcUrlWithCredentials(((String) newValue).trim());
            project.getMdwDataSource().setEntrySource("projectSection");
            WorkflowProjectManager.updateProject(project);
            project.fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, project.getMdwDataSource());
        }
    });
    jdbcUrlEditor.render(composite);
    jdbcUrlEditor.setValue(project.getMdwDataSource().getJdbcUrlWithMaskedCredentials());
    jdbcUrlEditor.setEditable(!project.isReadOnly());

    // host text field
    hostEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    hostEditor.setLabel("Server Host");
    hostEditor.addValueChangeListener(new ValueChangeListener() {
        public void propertyValueChanged(Object newValue) {
            project.getServerSettings().setHost((String) newValue);
            WorkflowProjectManager.updateProject(project);
            project.fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, project.getServerSettings());
        }
    });
    hostEditor.render(composite);
    hostEditor.setValue(project.getServerSettings().getHost());
    hostEditor.setEditable(!project.isReadOnly());

    // port text field
    portEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    portEditor.setLabel("Server Port");
    portEditor.addValueChangeListener(new ValueChangeListener() {
        public void propertyValueChanged(Object newValue) {
            project.getServerSettings().setPort(Integer.parseInt(((String) newValue).trim()));
            WorkflowProjectManager.updateProject(project);

            project.fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, project.getServerSettings());
        }
    });
    portEditor.render(composite);
    portEditor.setValue(project.getServerSettings().getPort());
    portEditor.setEditable(!project.isReadOnly());

    // web context root text field
    webContextRootEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    webContextRootEditor.setLabel("Web Context Root");
    webContextRootEditor.setWidth(200);
    if (project.isRemote()) {
        webContextRootEditor.addValueChangeListener(new ValueChangeListener() {
            public void propertyValueChanged(Object newValue) {
                project.setWebContextRoot(((String) newValue).trim());
                WorkflowProjectManager.updateProject(project);
                project.fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, project.getServerSettings());
            }
        });
    }
    webContextRootEditor.render(composite);
    webContextRootEditor.setValue(project.getWebContextRoot());
    webContextRootEditor.setEditable(!project.isReadOnly() && project.isRemote());

    // refresh server cache checkbox
    updateServerCacheEditor = new PropertyEditor(project, PropertyEditor.TYPE_CHECKBOX);
    updateServerCacheEditor.setLabel("Update Server Cache");
    updateServerCacheEditor.addValueChangeListener(new ValueChangeListener() {
        public void propertyValueChanged(Object newValue) {
            project.setUpdateServerCache(Boolean.parseBoolean(newValue.toString()));
            WorkflowProjectManager.updateProject(project);
            project.fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, project.isUpdateServerCache());
        }
    });
    updateServerCacheEditor.render(composite);
    updateServerCacheEditor.setValue(project.isUpdateServerCache());
    updateServerCacheEditor.setEditable(!project.isReadOnly());

    // mdw version combo
    if (project.isRemote()) {
        mdwVersionEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
    } else {
        mdwVersionEditor = new PropertyEditor(project, PropertyEditor.TYPE_COMBO);
        List<String> versionOptions = mdwSettings.getMdwVersions();
        if (!versionOptions.contains(project.getMdwVersion()))
            versionOptions.add(project.getMdwVersion());
        mdwVersionEditor.setValueOptions(versionOptions);
        mdwVersionEditor.addValueChangeListener(new ValueChangeListener() {
            public void propertyValueChanged(Object newValue) {
                if (!project.isRemote() && !newValue.equals("")) {
                    project.setMdwVersion((String) newValue);
                    WorkflowProjectManager.updateProject(project);
                    if (MessageDialog.openQuestion(getShell(), "Update Framework Libraries",
                            "Download updated framework libraries to match MDW Version selection?")) {
                        ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings());
                        try {
                            updater.updateFrameworkJars(null);
                            ExtensionModulesUpdater modulesUpdater = new ExtensionModulesUpdater(getProject());
                            modulesUpdater.doUpdate(getShell());
                        } catch (Exception ex) {
                            PluginMessages.uiError(getShell(), ex, "Update Framework Libraries", getProject());
                        }
                    }
                    if (getProject().isOsgi())
                        MessageDialog.openInformation(getShell(), "MDW Version Changed",
                                "The MDW version has been updated in the plug-in settings file.  Please update any MDW dependencies in your pom.xml build file.");
                }
            }
        });
    }
    mdwVersionEditor.setLabel("MDW Version");
    mdwVersionEditor.setWidth(100);
    mdwVersionEditor.render(composite);
    mdwVersionEditor.setValue(project.getMdwVersion());
    mdwVersionEditor.setEditable(!project.isReadOnly() && !project.isRemote());

    // app version
    if (!project.isCloudProject() && !"Unknown".equals(project.getAppVersion())) {
        appVersionEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
        appVersionEditor.setLabel("App Version");
        appVersionEditor.setWidth(200);
        appVersionEditor.render(composite);
        appVersionEditor.setValue(project.getAppVersion());
        appVersionEditor.setEditable(false);
    }

    if (!project.isRemote()) {
        // local project text field
        localProjectEditor = new PropertyEditor(project, PropertyEditor.TYPE_TEXT);
        localProjectEditor.setLabel("Workspace Project");
        localProjectEditor.setWidth(200);
        localProjectEditor.setReadOnly(true);
        localProjectEditor.render(composite);
        if (project.isCloudProject())
            localProjectEditor.setValue(project.getSourceProjectName());
        else
            localProjectEditor.setValue(project.getEarProjectName());

        if (!project.isOsgi()) {
            // local project info field
            localProjectInfoEditor = new PropertyEditor(project, PropertyEditor.TYPE_LINK);
            localProjectInfoEditor.setLabel("Workspace Project Settings");
            localProjectInfoEditor.addValueChangeListener(new ValueChangeListener() {
                public void propertyValueChanged(Object newValue) {
                    final IProject proj = project.isCloudProject() ? project.getSourceProject()
                            : project.getEarProject();
                    PropertyDialog dialog = PropertyDialog.createDialogOn(getShell(),
                            "mdw.workflow.mdwServerConnectionsPropertyPage", proj);
                    if (dialog != null)
                        dialog.open();
                }
            });
            localProjectInfoEditor.render(composite);
        }
    }

    composite.layout(true);
}

From source file:com.centurylink.mdw.plugin.project.ProjectSettingsPropertyPage.java

License:Apache License

public boolean performOk() {
    IProject project = (IProject) getElement();
    try {/*w  w  w.ja v  a2  s . c o m*/
        WorkflowProjectManager.getInstance().save(getProject(), project);
    } catch (CoreException ex) {
        PluginMessages.uiError(getShell(), ex, "Project Settings", getProject());
        return false;
    }

    if (getProject().getPersistType() == PersistType.Git) {
        if (!gitRepositoryUrlTextField.getText().trim().equals(originalGitRepositoryUrl)
                || !gitBranchTextField.getText().trim().equals(originalGitBranch)
                || !assetLocalPathTextField.getText().trim().equals(originalAssetLocalPath)
                || (includeArchiveCheckbox != null
                        && includeArchiveCheckbox.getSelection() != originalIncludeArchive)) {
            getProject().getMdwVcsRepository().setEntrySource("projectSettingsPropertyPage");
            getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().getMdwVcsRepository());
        }
    }
    if (!databaseJdbcUrlTextField.getText().trim().equals(originalJdbcUrl)) {
        getProject().getMdwDataSource().setEntrySource("projectSettingsPropertyPage");
        getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().getMdwDataSource());
    }
    if (mdwVersionComboBox != null && !mdwVersionComboBox.getText().equals(originalMdwVersion)) {
        getProject().fireElementChangeEvent(ChangeType.VERSION_CHANGE, getProject().getMdwVersion());
        if (MessageDialog.openQuestion(getShell(), "Update Framework Libraries",
                "The MDW version has changed.  Would you like to download updated framework libraries to match the new selection?")) {
            ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings());
            try {
                updater.updateFrameworkJars(null);
                ExtensionModulesUpdater modulesUpdater = new ExtensionModulesUpdater(getProject());
                modulesUpdater.doUpdate(getShell());
            } catch (Exception ex) {
                PluginMessages.uiError(getShell(), ex, "Update Framework Libraries", getProject());
                return false;
            }
        }
        if (getProject().isOsgi())
            MessageDialog.openInformation(getShell(), "MDW Version Changed",
                    "The MDW version has been updated in the plug-in settings file.  Please update any MDW dependencies in your pom.xml build file.");
    }
    if (getProject().isRemote()) {
        if (!hostTextField.getText().trim().equals(originalHost)
                || !portTextField.getText().trim().equals(String.valueOf(originalPort))) {
            getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().getServerSettings());
        }
        if (!contextRootTextField.getText().trim().equals(originalContextRoot)) {
            getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().getWebContextRoot());
        }
        if (syncSwitch != null && syncSwitch.getSelection() != originalSync) {
            WorkflowProjectManager.getInstance().makeLocal(getProject());
            getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().getMdwVcsRepository());
            MessageDialog.openInformation(getShell(), "Remote Project Unlocked",
                    getProject().getName() + " has been unlocked.  Please close any open assets and refresh.");
        }
    }
    if (updateServerCacheCheckbox.getSelection() != originalRefreshServerCache)
        getProject().fireElementChangeEvent(ChangeType.SETTINGS_CHANGE, getProject().isUpdateServerCache());

    return true;
}

From source file:com.cloudbees.eclipse.dtp.internal.actions.DeleteDatabaseAction.java

License:Open Source License

@Override
public void run(IAction action) {
    if (action instanceof ObjectPluginAction) {
        ObjectPluginAction pluginAction = (ObjectPluginAction) action;
        ISelection selection = pluginAction.getSelection();

        if (selection instanceof IStructuredSelection) {
            final IStructuredSelection structSelection = (IStructuredSelection) selection;
            @SuppressWarnings("unchecked")
            final Iterator<DatabaseInfo> iterator = structSelection.iterator();

            String name = "-";

            if (structSelection.size() == 1) {
                DatabaseInfo d = (DatabaseInfo) structSelection.getFirstElement();
                name = d.getName();//from  w  ww  .  ja  v a 2 s .co m
            }

            try {
                final String target = structSelection.size() > 1 ? "the selected databases" : "'" + name + "'";
                String question = MessageFormat.format("Are you sure you want to delete {0}?", target);

                boolean confirmed = MessageDialog.openQuestion(Display.getCurrent().getActiveShell(), "Delete",
                        question);
                if (confirmed) {

                    org.eclipse.core.runtime.jobs.Job job = new org.eclipse.core.runtime.jobs.Job(
                            "Deleting " + target) {
                        @Override
                        protected IStatus run(final IProgressMonitor monitor) {

                            monitor.beginTask("Deleting " + target + "...", structSelection.size() * 10);
                            try {

                                while (iterator.hasNext()) {
                                    DatabaseInfo databaseInfo = iterator.next();
                                    monitor.subTask("Deleting '" + databaseInfo.getName() + "'...");
                                    BeesSDK.deleteDatabase(databaseInfo.getName());
                                    monitor.worked(5);
                                    deleteDatabaseConnectionProfile(databaseInfo);
                                    monitor.worked(5);
                                }

                                CloudBeesDataToolsPlugin.getPoller().fetchAndUpdateDatabases(monitor);
                                CloudBeesUIPlugin.getDefault().fireDatabaseInfoChanged();

                            } catch (Exception e) {
                                CloudBeesDataToolsPlugin.logErrorAndShowDialog(e);
                            } finally {
                                monitor.done();
                            }

                            return Status.OK_STATUS;
                        }

                    };

                    job.setUser(true);
                    job.schedule();

                }
            } catch (Exception e) {
                CloudBeesDataToolsPlugin.logError(e);
            }
        }
    }
}

From source file:com.cloudbees.eclipse.run.ui.popup.actions.DeleteAction.java

License:Open Source License

@Override
public void run(IAction action) {
    if (action instanceof ObjectPluginAction) {
        ObjectPluginAction pluginAction = (ObjectPluginAction) action;
        ISelection selection = pluginAction.getSelection();

        if (selection instanceof IStructuredSelection) {
            final IStructuredSelection structSelection = (IStructuredSelection) selection;
            @SuppressWarnings("unchecked")
            final Iterator<ApplicationInfo> iterator = structSelection.iterator();

            String name = "-";

            if (structSelection.size() == 1) {
                ApplicationInfo d = (ApplicationInfo) structSelection.getFirstElement();
                name = d.getId();// w  w  w  .j  a va  2s  .com
            }

            try {
                final String target = structSelection.size() > 1 ? "the selected apps" : "'" + name + "'";
                String question = MessageFormat.format("Are you sure you want to delete {0}?", target);

                boolean confirmed = MessageDialog.openQuestion(Display.getCurrent().getActiveShell(), "Delete",
                        question);
                if (confirmed) {

                    org.eclipse.core.runtime.jobs.Job job = new org.eclipse.core.runtime.jobs.Job(
                            "Deleting " + target) {
                        @Override
                        protected IStatus run(final IProgressMonitor monitor) {

                            monitor.beginTask("Deleting " + target + "...", structSelection.size() * 10);
                            try {

                                while (iterator.hasNext()) {
                                    ApplicationInfo applicationInfo = iterator.next();
                                    monitor.subTask("Deleting '" + applicationInfo.getId() + "'...");
                                    BeesSDK.delete(applicationInfo.getId());
                                    monitor.worked(10);
                                }

                                CBRunCoreActivator.getPoller().fetchAndUpdateApps();
                                CloudBeesUIPlugin.getDefault().fireApplicationInfoChanged();

                            } catch (Exception e) {
                                CBRunUiActivator.logErrorAndShowDialog(e);
                            } finally {
                                monitor.done();
                            }

                            return Status.OK_STATUS;
                        }
                    };

                    job.setUser(true);
                    job.schedule();

                }
            } catch (Exception e) {
                CBRunUiActivator.logError(e);
            }
        }
    }
}

From source file:com.clustercontrol.approval.dialog.ApprovalDetailDialog.java

License:Open Source License

private void OperationStop(JobApprovalInfo info) {

    if (MessageDialog.openQuestion(null, Messages.getString("confirmed"),
            Messages.getString("message.approval.5"))) {
        if (info.getSessionId() != null && info.getSessionId().length() > 0 && info.getJobunitId() != null
                && info.getJobunitId().length() > 0 && info.getJobId() != null
                && info.getJobId().length() > 0) {

            ///*w w w  . ja  va  2s  . c  om*/
            Property prop = getStopProperty(info);

            //?
            OperationJob operation = new OperationJob();
            boolean result = operation.operationJob(info.getMangerName(), prop);

            if (result) {
                MessageDialog.openInformation(null, Messages.getString("confirmed"),
                        Messages.getString("message.approval.6"));
            }
            close();
        }
    }
}

From source file:com.clustercontrol.approval.dialog.ApprovalDetailDialog.java

License:Open Source License

private void OperationApprove(boolean bool) {
    if (bool) {/*from   www . java 2 s. c  o  m*/
        //?
        if (MessageDialog.openQuestion(null, Messages.getString("confirmed"),
                Messages.getString("message.approval.1"))) {
            isApprove = true;
            approvalInfo.setResult(JobApprovalResultConstant.TYPE_APPROVAL);
            okPressed();
        }
    } else {
        //?
        if (MessageDialog.openQuestion(null, Messages.getString("confirmed"),
                Messages.getString("message.approval.3"))) {
            isApprove = false;
            approvalInfo.setResult(JobApprovalResultConstant.TYPE_DENIAL);
            okPressed();
        }
    }
}

From source file:com.clustercontrol.dialog.CommonDialog.java

License:Open Source License

/**
 * ????????/*from w ww .  jav a2s .com*/
 *
 * @param result ValidateResult
 * @return?
 */
protected boolean displayQuestion(ValidateResult result) {
    return MessageDialog.openQuestion(null, Messages.getString("confirmed"), result.getMessage());

}

From source file:com.clustercontrol.jobmanagement.dialog.JobDialog.java

License:Open Source License

/**
 * ????/*from   w ww  .j  av a 2  s  .com*/
 * <P>
 * ??????
 *
 * @param parent ?
 *
 * @see com.clustercontrol.jobmanagement.bean.JobInfo
 * @see com.clustercontrol.bean.JobConstant
 */
@Override
protected void customizeDialog(Composite parent) {
    m_shell = this.getShell();

    Label label = null;

    RowLayout layout = new RowLayout();
    layout.type = SWT.VERTICAL;
    layout.spacing = 0;
    layout.marginWidth = 10;
    layout.marginHeight = 10;
    layout.marginBottom = 0;
    layout.fill = true;
    parent.setLayout(layout);

    JobInfo info = m_jobTreeItem.getData();
    if (info == null)
        throw new InternalError("info is null.");

    // ??????setJobFull
    JobPropertyUtil.setJobFull(m_managerName, info);

    if (info.getType() == JobConstant.TYPE_JOBUNIT) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.jobunit"));
    } else if (info.getType() == JobConstant.TYPE_JOBNET) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.jobnet"));
    } else if (info.getType() == JobConstant.TYPE_JOB) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.job"));
    } else if (info.getType() == JobConstant.TYPE_FILEJOB) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.forward.file.job"));
    } else if (info.getType() == JobConstant.TYPE_REFERJOB || info.getType() == JobConstant.TYPE_REFERJOBNET) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.refer.job"));
    } else if (info.getType() == JobConstant.TYPE_APPROVALJOB) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.approval.job"));
    } else if (info.getType() == JobConstant.TYPE_MONITORJOB) {
        parent.getShell().setText(Messages.getString("dialog.job.create.modify.monitor.job"));
    }

    boolean initFlag = true;
    if (info.getId() != null && info.getId().length() > 0) {
        initFlag = false;
    }

    // Composite
    Composite jobInfoComposite = new Composite(parent, SWT.NONE);
    GridLayout jobInfoGridLayout = new GridLayout(4, false);
    jobInfoComposite.setLayout(jobInfoGridLayout);

    // ID
    label = new Label(jobInfoComposite, SWT.NONE);
    label.setText(Messages.getString("job.id") + " : ");
    label.setLayoutData(new GridData(120, SizeConstant.SIZE_LABEL_HEIGHT));

    // ID
    this.m_jobIdText = new Text(jobInfoComposite, SWT.BORDER);
    WidgetTestUtil.setTestId(this, "m_jobIdText", m_jobIdText);
    this.m_jobIdText.setLayoutData(new GridData(200, SizeConstant.SIZE_TEXT_HEIGHT));

    if (m_isCallJobHistory) {
        this.m_jobIdText.addVerifyListener(new StringVerifyListener(DataRangeConstant.VARCHAR_1024));
    } else {
        this.m_jobIdText.addVerifyListener(new StringVerifyListener(DataRangeConstant.VARCHAR_64));
    }

    this.m_jobIdText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent arg0) {
            update();
        }
    });

    // 
    this.m_editButton = new Button(jobInfoComposite, SWT.NONE);
    WidgetTestUtil.setTestId(this, "m_editButton", m_editButton);
    m_editButton.setText(Messages.getString("edit"));
    m_editButton.setEnabled(false);
    this.m_editButton.setLayoutData(new GridData(40, SizeConstant.SIZE_BUTTON_HEIGHT));
    ((GridData) this.m_editButton.getLayoutData()).horizontalSpan = 2;
    m_editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            super.widgetSelected(event);

            JobTreeItem jobunitItem = JobUtil.getTopJobUnitTreeItem(m_jobTreeItem);
            String jobunitId = jobunitItem.getData().getJobunitId();

            JobEditState JobEditState = JobEditStateUtil.getJobEditState(m_managerName);
            // ?
            Long updateTime = JobEditState.getJobunitUpdateTime(jobunitId);
            Integer result = null;
            try {
                result = JobUtil.getEditLock(m_managerName, jobunitId, updateTime, false);
            } catch (OtherUserGetLock_Exception e) {
                // ??????
                String message = HinemosMessage.replace(e.getMessage());
                if (MessageDialog.openQuestion(null, Messages.getString("confirmed"), message)) {
                    try {
                        result = JobUtil.getEditLock(m_managerName, jobunitId, updateTime, true);
                    } catch (Exception e1) {
                        // ??????????
                        m_log.error("run() : logical error");
                    }
                }
            }

            if (result != null) {
                // ???
                m_log.debug("run() : get editLock(jobunitId=" + jobunitId + ")");
                JobEditState.addLockedJobunit(jobunitItem.getData(), JobTreeItemUtil.clone(jobunitItem, null),
                        result);
                if (m_jobTreeComposite != null) {
                    m_jobTreeComposite.refresh(jobunitItem.getParent());
                }

                //?
                m_readOnly = false;
                updateWidgets();
            } else {
                // ?????
                m_log.debug("run() : cannot get editLock(jobunitId=" + jobunitId + ")");
            }
        }
    });

    // ??
    label = new Label(jobInfoComposite, SWT.NONE);
    label.setText(Messages.getString("job.name") + " : ");
    label.setLayoutData(new GridData(120, SizeConstant.SIZE_LABEL_HEIGHT));

    // ??
    this.m_jobNameText = new Text(jobInfoComposite, SWT.BORDER);
    WidgetTestUtil.setTestId(this, "m_jobNameText", m_jobNameText);
    this.m_jobNameText.setLayoutData(new GridData(200, SizeConstant.SIZE_TEXT_HEIGHT));
    this.m_jobNameText.addVerifyListener(new StringVerifyListener(DataRangeConstant.VARCHAR_64));
    this.m_jobNameText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent arg0) {
            update();
        }
    });

    // 
    this.m_moduleRegisteredCondition = new Button(jobInfoComposite, SWT.CHECK);
    WidgetTestUtil.setTestId(this, "m_moduleRegistCondition", this.m_moduleRegisteredCondition);
    this.m_moduleRegisteredCondition.setText(Messages.getString("job.module.registration"));
    this.m_moduleRegisteredCondition.setLayoutData(new GridData(150, SizeConstant.SIZE_BUTTON_HEIGHT));
    ((GridData) this.m_moduleRegisteredCondition.getLayoutData()).horizontalSpan = 2;
    this.m_moduleRegisteredCondition.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    if (info.getType() == JobConstant.TYPE_JOBNET || info.getType() == JobConstant.TYPE_APPROVALJOB
            || info.getType() == JobConstant.TYPE_JOB || info.getType() == JobConstant.TYPE_FILEJOB
            || info.getType() == JobConstant.TYPE_MONITORJOB) {
        m_moduleRegisteredCondition.setEnabled(!m_readOnly);
    } else {
        m_moduleRegisteredCondition.setEnabled(false);
    }

    // 
    label = new Label(jobInfoComposite, SWT.NONE);
    label.setText(Messages.getString("description") + " : ");
    label.setLayoutData(new GridData(120, SizeConstant.SIZE_LABEL_HEIGHT));

    // 
    m_jobAnnotationText = new Text(jobInfoComposite, SWT.BORDER);
    WidgetTestUtil.setTestId(this, "m_jobAnnotationText", m_jobAnnotationText);
    m_jobAnnotationText.setLayoutData(new GridData(200, SizeConstant.SIZE_TEXT_HEIGHT));
    m_jobAnnotationText.addVerifyListener(new StringVerifyListener(DataRangeConstant.VARCHAR_256));
    // dummy
    new Label(jobInfoComposite, SWT.NONE);
    // dummy
    new Label(jobInfoComposite, SWT.NONE);

    // ID
    label = new Label(jobInfoComposite, SWT.NONE);
    label.setText(Messages.getString("owner.role.id") + " : ");
    label.setLayoutData(new GridData(120, SizeConstant.SIZE_LABEL_HEIGHT));

    // ID
    // ?????
    // ????JobInfo.createTime??
    if (info.getType() == JobConstant.TYPE_JOBUNIT && info.getCreateTime() == null) {
        this.m_ownerRoleId = new RoleIdListComposite(jobInfoComposite, SWT.NONE, this.m_managerName, true,
                Mode.OWNER_ROLE);
        this.m_ownerRoleId.getComboRoleId().addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                m_messageComposite.getNotifyId().setOwnerRoleId(m_ownerRoleId.getText(), false);
            }
        });
    } else {
        this.m_ownerRoleId = new RoleIdListComposite(jobInfoComposite, SWT.NONE, this.m_managerName, false,
                Mode.OWNER_ROLE);
    }
    GridData ownerRoleIdGridData = new GridData();
    ownerRoleIdGridData.widthHint = 207;
    this.m_ownerRoleId.setLayoutData(ownerRoleIdGridData);

    // ID
    if (info.getType() != JobConstant.TYPE_JOBUNIT) {

        // ID
        label = new Label(jobInfoComposite, SWT.NONE);
        label.setText(Messages.getString("icon.id") + " : ");
        label.setLayoutData(new GridData(70, SizeConstant.SIZE_LABEL_HEIGHT));

        // ID
        m_iconIdCombo = new Combo(jobInfoComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
        WidgetTestUtil.setTestId(this, "m_iconIdCombo", m_iconIdCombo);
        m_iconIdCombo.setLayoutData(new GridData(120, SizeConstant.SIZE_COMBO_HEIGHT));
    } else {
        // dummy
        new Label(jobInfoComposite, SWT.NONE);
        // dummy
        new Label(jobInfoComposite, SWT.NONE);
    }

    // 
    m_tabFolder = new TabFolder(parent, SWT.NONE);
    WidgetTestUtil.setTestId(this, null, m_tabFolder);

    if (info.getType() == JobConstant.TYPE_JOBNET) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //
        m_controlComposite = new ControlComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_controlComposite", m_controlComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem2", tabItem2);
        tabItem2.setText(Messages.getString("control.job"));
        tabItem2.setControl(m_controlComposite);

        //?
        m_startDelayComposite = new StartDelayComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_startDelayComposite", m_startDelayComposite);
        TabItem tabItem3 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem3", tabItem3);
        tabItem3.setText(Messages.getString("start.delay"));
        tabItem3.setControl(m_startDelayComposite);

        //?
        m_endDelayComposite = new EndDelayComposite(m_tabFolder, SWT.NONE, false);
        WidgetTestUtil.setTestId(this, "m_endDelayComposite", m_endDelayComposite);
        TabItem tabItem4 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem4", tabItem4);
        tabItem4.setText(Messages.getString("end.delay"));
        tabItem4.setControl(m_endDelayComposite);
    } else if (info.getType() == JobConstant.TYPE_JOB) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //()
        m_controlComposite = new ControlComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_controlComposite", m_controlComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem2.setText(Messages.getString("control.job"));
        tabItem2.setControl(m_controlComposite);

        //()
        m_controlNodeComposite = new ControlNodeComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_controlNodeComposite", m_controlNodeComposite);
        TabItem tabItem3 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem3", tabItem3);
        tabItem3.setText(Messages.getString("control.node"));
        tabItem3.setControl(m_controlNodeComposite);

        //
        m_executeComposite = new CommandComposite(m_tabFolder, SWT.NONE);
        m_executeComposite.setManagerName(m_managerName);
        WidgetTestUtil.setTestId(this, "m_executeComposite", m_executeComposite);
        TabItem tabItem4 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem4", tabItem4);
        tabItem4.setText(Messages.getString("command"));
        tabItem4.setControl(m_executeComposite);

        //?
        m_startDelayComposite = new StartDelayComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_startDelayComposite", m_startDelayComposite);
        TabItem tabItem5 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem5", tabItem5);
        tabItem5.setText(Messages.getString("start.delay"));
        tabItem5.setControl(m_startDelayComposite);

        //?
        m_endDelayComposite = new EndDelayComposite(m_tabFolder, SWT.NONE, false);
        WidgetTestUtil.setTestId(this, "m_endDelayComposite", m_endDelayComposite);
        TabItem tabItem6 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem6", tabItem6);
        tabItem6.setText(Messages.getString("end.delay"));
        tabItem6.setControl(m_endDelayComposite);

    } else if (info.getType() == JobConstant.TYPE_FILEJOB) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //
        m_controlComposite = new ControlComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_controlComposite", m_controlComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem2.setText(Messages.getString("control.job"));
        tabItem2.setControl(m_controlComposite);

        //()
        m_controlNodeComposite = new ControlNodeComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_controlNodeComposite", m_controlNodeComposite);
        TabItem tabItem6 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem6.setText(Messages.getString("control.node"));
        tabItem6.setControl(m_controlNodeComposite);

        //?
        m_fileComposite = new FileComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_fileComposite", m_fileComposite);
        TabItem tabItem3 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem3.setText(Messages.getString("forward.file"));
        tabItem3.setControl(m_fileComposite);

        //?
        m_startDelayComposite = new StartDelayComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_startDelayComposite", m_startDelayComposite);
        TabItem tabItem4 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem4.setText(Messages.getString("start.delay"));
        tabItem4.setControl(m_startDelayComposite);

        //?
        m_endDelayComposite = new EndDelayComposite(m_tabFolder, SWT.NONE, true);
        WidgetTestUtil.setTestId(this, "m_endDelayComposite", m_endDelayComposite);
        TabItem tabItem5 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem5.setText(Messages.getString("end.delay"));
        tabItem5.setControl(m_endDelayComposite);
    }
    //?/??
    else if (info.getType() == JobConstant.TYPE_REFERJOB || info.getType() == JobConstant.TYPE_REFERJOBNET) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //?
        m_referComposite = new ReferComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_referComposite", m_referComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabyitem2", tabItem2);
        tabItem2.setText(Messages.getString("refer"));
        tabItem2.setControl(m_referComposite);
    } else if (info.getType() == JobConstant.TYPE_APPROVALJOB) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //()
        m_controlComposite = new ControlComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_controlComposite", m_controlComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem2", tabItem2);
        tabItem2.setText(Messages.getString("control.job"));
        tabItem2.setControl(m_controlComposite);

        //?
        m_approvalComposite = new ApprovalComposite(m_tabFolder, SWT.NONE, m_managerName);
        WidgetTestUtil.setTestId(this, "m_approvalComposite", m_approvalComposite);
        TabItem tabItem3 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem3", tabItem3);
        tabItem3.setText(Messages.getString("approval"));
        tabItem3.setControl(m_approvalComposite);

        //?
        m_startDelayComposite = new StartDelayComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_startDelayComposite", m_startDelayComposite);
        TabItem tabItem4 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem4", tabItem4);
        tabItem4.setText(Messages.getString("start.delay"));
        tabItem4.setControl(m_startDelayComposite);

        //?
        m_endDelayComposite = new EndDelayComposite(m_tabFolder, SWT.NONE, false);
        WidgetTestUtil.setTestId(this, "m_endDelayComposite", m_endDelayComposite);
        TabItem tabItem5 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabItem5", tabItem5);
        tabItem5.setText(Messages.getString("end.delay"));
        tabItem5.setControl(m_endDelayComposite);

    } else if (info.getType() == JobConstant.TYPE_MONITORJOB) {
        //??
        m_startComposite = new WaitRuleComposite(m_tabFolder, SWT.NONE, info.getType());
        WidgetTestUtil.setTestId(this, "m_startComposite", m_startComposite);
        TabItem tabItem1 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem1", tabItem1);
        tabItem1.setText(Messages.getString("wait.rule"));
        tabItem1.setControl(m_startComposite);

        //()
        m_controlComposite = new ControlComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_controlComposite", m_controlComposite);
        TabItem tabItem2 = new TabItem(m_tabFolder, SWT.NONE);
        tabItem2.setText(Messages.getString("control.job"));
        tabItem2.setControl(m_controlComposite);

        //
        m_monitorComposite = new MonitorComposite(m_tabFolder, SWT.NONE);
        m_monitorComposite.setManagerName(m_managerName);
        WidgetTestUtil.setTestId(this, "m_monitorComposite", m_monitorComposite);
        TabItem tabItem4 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem4", tabItem4);
        tabItem4.setText(Messages.getString("monitor"));
        tabItem4.setControl(m_monitorComposite);

        //?
        m_startDelayComposite = new StartDelayComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_startDelayComposite", m_startDelayComposite);
        TabItem tabItem5 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem5", tabItem5);
        tabItem5.setText(Messages.getString("start.delay"));
        tabItem5.setControl(m_startDelayComposite);

        //?
        m_endDelayComposite = new EndDelayComposite(m_tabFolder, SWT.NONE, false);
        WidgetTestUtil.setTestId(this, "m_endDelayComposite", m_endDelayComposite);
        TabItem tabItem6 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem6", tabItem6);
        tabItem6.setText(Messages.getString("end.delay"));
        tabItem6.setControl(m_endDelayComposite);
    }
    //?/?????
    if (info.getType() != JobConstant.TYPE_REFERJOB && info.getType() != JobConstant.TYPE_REFERJOBNET) {
        //
        m_endComposite = new EndStatusComposite(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "m_endComposite", m_endComposite);
        TabItem tabItem7 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem7", tabItem7);
        tabItem7.setText(Messages.getString("end.status"));
        tabItem7.setControl(m_endComposite);

        //?
        m_messageComposite = new NotificationsComposite(m_tabFolder, SWT.NONE, m_managerName);
        WidgetTestUtil.setTestId(this, "m_messageComposite", m_messageComposite);
        TabItem tabItem8 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem8", tabItem8);
        tabItem8.setText(Messages.getString("notifications"));
        tabItem8.setControl(m_messageComposite);
    }

    if (info.getType() == JobConstant.TYPE_JOBUNIT) {
        //
        m_parameterComposite = new ParameterComposite(m_tabFolder, SWT.NONE, initFlag);
        WidgetTestUtil.setTestId(this, "m_parameterComposite", m_parameterComposite);
        TabItem tabItem9 = new TabItem(m_tabFolder, SWT.NONE);
        WidgetTestUtil.setTestId(this, "tabitem9", tabItem9);
        tabItem9.setText(Messages.getString("job.parameter"));
        tabItem9.setControl(m_parameterComposite);
    }

    m_tabFolder.setSelection(0);

    // ??
    Display display = m_shell.getDisplay();
    m_shell.setLocation((display.getBounds().width - m_shell.getSize().x) / 2,
            (display.getBounds().height - m_shell.getSize().y) / 2);

    //??
    reflectJobInfo(info);

    updateWidgets();
}

From source file:com.clustercontrol.jobmanagement.dialog.JobDialog.java

License:Open Source License

/**
 * ???????//  w w  w.j  a  va2  s . c o m
 *
 * @return ??
 */
private ValidateResult createJobInfo() {
    ValidateResult result = null;

    JobInfo info = m_jobTreeItem.getData();
    String oldJobId = info.getId();
    String oldJobunitId;

    // ID???(??????????
    if (!m_readOnly && info.getType() == JobConstant.TYPE_JOBUNIT) {
        // ID???
        oldJobunitId = info.getJobunitId();
        info.setJobunitId(m_jobIdText.getText());
        try {
            JobUtil.findDuplicateJobunitId(m_jobTreeItem.getParent().getParent());
        } catch (JobInvalid e) {
            result = new ValidateResult();
            result.setValid(false);
            result.setID(Messages.getString("message.hinemos.1"));
            String[] args1 = { m_jobIdText.getText() };
            result.setMessage(Messages.getString("message.job.64", args1));
            return result;
        } finally {
            info.setJobunitId(oldJobunitId);
        }
        // ID???
        if (!m_jobIdText.getText().matches(PatternConstant.HINEMOS_ID_PATTERN)) {
            result = new ValidateResult();
            result.setValid(false);
            result.setID(Messages.getString("message.hinemos.1"));
            String[] args1 = { m_jobIdText.getText(), Messages.getString("job.id") };
            result.setMessage(Messages.getString("message.common.6", args1));

            info.setJobunitId(oldJobunitId);
            return result;
        }

        JobEditState JobEditState = JobEditStateUtil.getJobEditState(m_managerName);
        if (JobEditState.getEditSession(m_jobTreeItem.getData()) == null) {
            // ????
            Integer editSession = null;

            try {
                editSession = JobUtil.getEditLock(m_managerName, m_jobIdText.getText(), null, false);
            } catch (OtherUserGetLock_Exception e) {
                // ??????
                String message = HinemosMessage.replace(e.getMessage());
                if (MessageDialog.openQuestion(null, Messages.getString("confirmed"), message)) {
                    try {
                        editSession = JobUtil.getEditLock(m_managerName, m_jobIdText.getText(), null, true);
                    } catch (Exception e1) {
                        // ??????????
                        m_log.error("run() : logical error");
                    }
                }
            }
            if (editSession == null) {
                result = new ValidateResult();
                result.setValid(false);
                result.setID(Messages.getString("message.hinemos.1"));
                String[] args1 = { m_jobIdText.getText() };
                result.setMessage(Messages.getString("message.job.105", args1));
                return result;
            }
            JobEditState.addLockedJobunit(info, null, editSession);
        } else if (!m_jobIdText.getText().equals(oldJobunitId)) {
            // ID??
            Integer oldEditSession = JobEditState.getEditSession(info);
            Integer editSession = null;
            try {
                editSession = JobUtil.getEditLock(m_managerName, m_jobIdText.getText(), null, false);
            } catch (OtherUserGetLock_Exception e) {
                // ??????
                String message = HinemosMessage.replace(e.getMessage());
                if (MessageDialog.openQuestion(null, Messages.getString("confirmed"), message)) {
                    try {
                        editSession = JobUtil.getEditLock(m_managerName, m_jobIdText.getText(), null, true);
                    } catch (Exception e1) {
                        // ??????????
                        m_log.error("run() : logical error");
                    }
                }
            }
            if (editSession == null) {
                result = new ValidateResult();
                result.setValid(false);
                result.setID(Messages.getString("message.hinemos.1"));
                String[] args1 = { m_jobIdText.getText() };
                result.setMessage(Messages.getString("message.job.105", args1));
                return result;
            }
            JobEditState.addLockedJobunit(info, null, editSession);
            try {
                JobEndpointWrapper wrapper = JobEndpointWrapper.getWrapper(m_managerName);
                wrapper.releaseEditLock(oldEditSession);
            } catch (Exception e) {
                result = new ValidateResult();
                result.setValid(false);
                result.setID(Messages.getString("message.hinemos.1"));
                String[] args1 = { m_jobIdText.getText() };
                result.setMessage(Messages.getString("message.job.105", args1));
                return result;
            }
        }
    }

    //ID?
    if (m_jobIdText.getText().length() > 0) {
        String oldId = info.getId();
        info.setId("");
        //ID???????
        JobTreeItem unit = JobUtil.getTopJobUnitTreeItem(m_jobTreeItem);
        if (unit != null && JobUtil.findJobId(m_jobIdText.getText(), unit)) {
            result = new ValidateResult();
            result.setValid(false);
            result.setID(Messages.getString("message.hinemos.1"));
            String[] args1 = { m_jobIdText.getText() };
            result.setMessage(Messages.getString("message.job.42", args1));

            info.setId(oldId);
            return result;
        }
        // ID???
        if (!m_jobIdText.getText().matches(PatternConstant.HINEMOS_ID_PATTERN)) {
            result = new ValidateResult();
            result.setValid(false);
            result.setID(Messages.getString("message.hinemos.1"));
            String[] args1 = { m_jobIdText.getText(), Messages.getString("job.id") };
            result.setMessage(Messages.getString("message.common.6", args1));

            info.setId(oldId);
            return result;
        }
        info.setId(m_jobIdText.getText());

        // ???ID?
        if (info.getType() == JobConstant.TYPE_JOBUNIT) {
            info.setJobunitId(m_jobIdText.getText());
        }

    } else {
        result = new ValidateResult();
        result.setValid(false);
        result.setID(Messages.getString("message.hinemos.1"));
        result.setMessage(Messages.getString("message.job.22"));
        return result;
    }

    //???
    if (m_jobNameText.getText().length() > 0) {
        info.setName(m_jobNameText.getText());
    } else {
        result = new ValidateResult();
        result.setValid(false);
        result.setID(Messages.getString("message.hinemos.1"));
        result.setMessage(Messages.getString("message.job.23"));
        return result;
    }

    //?
    info.setRegisteredModule(m_moduleRegisteredCondition.getSelection());

    //?
    if (m_jobAnnotationText.getText().length() > 0) {
        info.setDescription(m_jobAnnotationText.getText());
    } else {
        info.setDescription("");
    }

    // ID
    if (info.getType() != JobConstant.TYPE_JOBUNIT) {
        if (this.m_iconIdCombo.getText() == null) {
            info.setIconId("");
        } else {
            info.setIconId(this.m_iconIdCombo.getText());
        }
    }

    //ID?
    String newOwnerRoleId = m_ownerRoleId.getText();
    if (newOwnerRoleId.length() > 0) {
        if (!newOwnerRoleId.equals(info.getOwnerRoleId())) {
            changeOwnerRoleId(m_jobTreeItem, newOwnerRoleId);
        }
    } else {
        result = new ValidateResult();
        result.setValid(false);
        result.setID(Messages.getString("message.hinemos.1"));
        result.setMessage(Messages.getString("owner.role.id"));
        return result;
    }

    //??????????
    if (!oldJobId.equals(info.getId()) && info.getType() != JobConstant.TYPE_JOBUNIT) {
        List<JobTreeItem> siblings = m_jobTreeItem.getParent().getChildren();
        for (JobTreeItem sibling : siblings) {
            if (sibling == m_jobTreeItem) {
                continue;
            }

            JobInfo siblingJobInfo = sibling.getData();
            if (siblingJobInfo.getWaitRule() == null) {
                continue;
            }

            for (JobObjectInfo siblingWaitJobObjectInfo : siblingJobInfo.getWaitRule().getObject()) {
                if (oldJobId.equals(siblingWaitJobObjectInfo.getJobId())) {
                    siblingWaitJobObjectInfo.setJobId(info.getId());
                }
            }
        }
    }

    //????ID
    if (!oldJobId.equals(info.getId()) && info.getType() != JobConstant.TYPE_JOBUNIT) {
        //?jobunit?
        JobTreeItem treeItem = m_jobTreeItem;
        while (treeItem.getData().getType() != JobConstant.TYPE_JOBUNIT) {
            treeItem = treeItem.getParent();
        }

        //???????????
        updateReferJob(treeItem, oldJobId, info.getId());
    }

    return null;
}

From source file:com.clustercontrol.jobmanagement.view.action.DeleteJobAction.java

License:Open Source License

/**
 * []???????????// ww w  .  j av  a 2 s. co m
 * <p>
 * <ol>
 * <li>[]?????????</li>
 * <li>[]??????????</li>
 * <li>?????</li>
 * <li>??????????</li>
 * <li>[]???</li>
 * </ol>
 *
 * @see org.eclipse.core.commands.IHandler#execute
 * @see com.clustercontrol.jobmanagement.composite.JobTreeComposite
 * @see com.clustercontrol.jobmanagement.composite.JobListComposite
 */
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    this.window = HandlerUtil.getActiveWorkbenchWindow(event);
    // In case this action has been disposed
    if (null == this.window || !isEnabled()) {
        return null;
    }

    // ???
    this.viewPart = HandlerUtil.getActivePart(event);

    if (!(viewPart instanceof JobListView)) {
        return null;
    }

    JobListView jobListView = null;
    try {
        jobListView = (JobListView) viewPart.getAdapter(JobListView.class);
    } catch (Exception e) {
        m_log.info("execute " + e.getMessage());
        return null;
    }

    if (jobListView == null) {
        m_log.info("execute: view is null");
        return null;
    }

    List<JobTreeItem> itemList = jobListView.getSelectJobTreeItemList();
    if (null == itemList || itemList.isEmpty()) {
        return null;
    }

    //?????
    int size = itemList.size();
    JobTreeItem[][] itemAry = new JobTreeItem[size][2];
    for (int i = 0; i < size; i++) {
        JobTreeItem item = itemList.get(i);
        itemAry[i][0] = item.getParent();
        itemAry[i][1] = item;
    }

    if (null == itemAry || itemAry.length == 0) {
        return null;
    }

    String message = null;

    if (size == 1) {
        message = Messages.getString("job") + "[" + itemList.get(0).getData().getId() + "]"
                + Messages.getString("message.job.2");
    } else {
        Object arg[] = { size, Messages.getString("job") };
        message = Messages.getString("message.job.123", arg);
    }

    // ??
    if (MessageDialog.openQuestion(null, Messages.getString("confirmed"), message)) {

        for (JobTreeItem[] ary : itemAry) {
            JobTreeItem parent = ary[0];
            JobTreeItem item = ary[1];

            JobTreeItemUtil.removeChildren(parent, item);

            JobEditState jobEditState = JobEditStateUtil
                    .getJobEditState(JobTreeItemUtil.getManagerName(parent));
            if (item.getData().getType() == JobConstant.TYPE_JOBUNIT) {
                // ?
                jobEditState.removeEditedJobunit(item);
                if (jobEditState.getLockedJobunitBackup(item.getData()) != null) {
                    // ????????
                    jobEditState.addDeletedJobunit(item);
                }
            } else {
                // ??????
                jobEditState.addEditedJobunit(item);
            }

            JobTreeComposite tree = jobListView.getJobTreeComposite();
            tree.refresh(parent);
            tree.getTreeViewer().setSelection(new StructuredSelection(parent), true);
        }
    }
    return null;
}