private void patchJobEntries(JobMeta jobMeta) {
   for (JobEntryCopy copy : jobMeta.getJobCopies()) {
     if (copy.isTransformation()) {
       JobEntryTrans entry = (JobEntryTrans) copy.getEntry();
       if (entry.getSpecificationMethod()
           == ObjectLocationSpecificationMethod.REPOSITORY_BY_NAME) {
         if (transDirOverride != null) {
           entry.setDirectory(transDirOverride);
           continue;
         }
         String entryPath = resolvePath(baseDirectory.getPath(), entry.getDirectory());
         entry.setDirectory(entryPath);
       }
     }
     if (copy.isJob()) {
       JobEntryJob entry = (JobEntryJob) copy.getEntry();
       if (entry.getSpecificationMethod()
           == ObjectLocationSpecificationMethod.REPOSITORY_BY_NAME) {
         if (jobDirOverride != null) {
           entry.setDirectory(jobDirOverride);
           continue;
         }
         String entryPath = resolvePath(baseDirectory.getPath(), entry.getDirectory());
         entry.setDirectory(entryPath);
       }
     }
   }
 }
  protected void optionsSectionControls() {

    wSafeMode = new Button(gDetails, SWT.CHECK);
    wSafeMode.setText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.SafeMode.Label"));
    wSafeMode.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.SafeMode.Tooltip"));
    props.setLook(wSafeMode);
    FormData fdSafeMode = new FormData();
    fdSafeMode.right = new FormAttachment(0, 186);
    fdSafeMode.top = new FormAttachment(0, 30);
    fdSafeMode.left = new FormAttachment(0, 10);
    wSafeMode.setLayoutData(fdSafeMode);

    wGatherMetrics = new Button(gDetails, SWT.CHECK);
    wGatherMetrics.setText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.GatherMetrics.Label"));
    wGatherMetrics.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.GatherMetrics.Tooltip"));
    props.setLook(wGatherMetrics);
    FormData fdGatherMetrics = new FormData();
    fdGatherMetrics.right = new FormAttachment(0, 230);
    fdGatherMetrics.top = new FormAttachment(0, 55);
    fdGatherMetrics.left = new FormAttachment(0, 10);
    wGatherMetrics.setLayoutData(fdGatherMetrics);

    wClearLog = new Button(gDetails, SWT.CHECK);
    wClearLog.setText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.ClearLog.Label"));
    wClearLog.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.ClearLog.Tooltip"));
    props.setLook(wClearLog);
    FormData fdClearLog = new FormData();
    fdClearLog.right = new FormAttachment(0, 200);
    fdClearLog.top = new FormAttachment(0, 5);
    fdClearLog.left = new FormAttachment(0, 10);
    wClearLog.setLayoutData(fdClearLog);

    wlLogLevel = new Label(gDetails, SWT.RIGHT);
    props.setLook(wlLogLevel);
    wlLogLevel.setText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.LogLevel.Label"));
    wlLogLevel.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.LogLevel.Tooltip"));
    FormData fdlLogLevel = new FormData();
    fdlLogLevel.right = new FormAttachment(0, 333);
    fdlLogLevel.top = new FormAttachment(0, 7);
    fdlLogLevel.left = new FormAttachment(0, 260);
    wlLogLevel.setLayoutData(fdlLogLevel);

    wLogLevel = new CCombo(gDetails, SWT.READ_ONLY | SWT.BORDER);
    wLogLevel.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.LogLevel.Tooltip"));
    props.setLook(wLogLevel);
    FormData fdLogLevel = new FormData();
    fdLogLevel.left = new FormAttachment(wlLogLevel, 6);
    fdLogLevel.width = 200;
    if (Const.isOSX()) {
      fdLogLevel.top = new FormAttachment(wClearLog, 2, SWT.TOP);
    } else {
      fdLogLevel.top = new FormAttachment(wClearLog, -2, SWT.TOP);
    }
    fdLogLevel.right = new FormAttachment(0, 500);
    wLogLevel.setLayoutData(fdLogLevel);
    wLogLevel.setItems(LogLevel.getLogLevelDescriptions());

    wStartCopy = new CCombo(gDetails, SWT.READ_ONLY | SWT.BORDER);
    props.setLook(wStartCopy);
    wStartCopy.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.StartCopy.Tooltip"));
    FormData fd_startJobCombo = new FormData();
    fd_startJobCombo.right = new FormAttachment(wLogLevel, 0, SWT.RIGHT);
    if (Const.isOSX()) {
      fd_startJobCombo.top = new FormAttachment(wLogLevel, 8);
    } else {
      fd_startJobCombo.top = new FormAttachment(wLogLevel, 10);
    }
    wStartCopy.setLayoutData(fd_startJobCombo);

    JobMeta jobMeta = (JobMeta) super.abstractMeta;

    String[] names = new String[jobMeta.getJobCopies().size()];
    for (int i = 0; i < names.length; i++) {
      JobEntryCopy copy = jobMeta.getJobCopies().get(i);
      names[i] = getJobEntryCopyName(copy);
    }
    wStartCopy.setItems(names);

    Label lblStartJob = new Label(gDetails, SWT.NONE);
    props.setLook(lblStartJob);
    fd_startJobCombo.left = new FormAttachment(lblStartJob, 6);
    FormData fd_lblStartJob = new FormData();
    if (Const.isOSX()) {
      fd_lblStartJob.top = new FormAttachment(wlLogLevel, 8);
    } else {
      fd_lblStartJob.top = new FormAttachment(wlLogLevel, 18);
    }
    fd_lblStartJob.right = new FormAttachment(wlLogLevel, 0, SWT.RIGHT);
    lblStartJob.setLayoutData(fd_lblStartJob);
    lblStartJob.setText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.StartCopy.Label"));
    lblStartJob.setToolTipText(
        BaseMessages.getString(PKG, "JobExecutionConfigurationDialog.StartCopy.Tooltip"));
  }