0

我想使用 Java-API 更改特定作业流中作业的截止日期。更新作业流本身的截止日期没有问题。在作业流级别上使用查询过滤器,我得到了作业流标头 ID(jsh)并实例化了一个 JobStream 对象。这可以修改和设置回来。

  JobStream js = (JobStream) model.getTWSObject(JobStream.class, jsh.getId(), false, context);
  TimeRestrictions t = js.getTimeRestrictions();
  t.setDeadlineOffset(Long.parseLong(newDlineOffset));
  js.setTimeRestrictions(t);
  model.setTWSObject(js, false, false, context);

但是,我看不到如何更新 JobStream 中的作业的时间限制。我可以在作业流中获取作业列表,并找到这些作业本身的时间限制:

List<Job> joblist = js.getJobs();
  for (Job j : joblist) {
    j.getTimeRestrictions().getDeadlineOffset();
  }

但是,在编辑作业对象后,我似乎无法再次更新作业流对象;作业流对象没有 setJobs 函数。

有人知道我怎么能意识到这一点吗?

4

2 回答 2

0

原来没有必要再次显式设置 JobStream 的 Job。当编辑 Job,然后只设置 JobStream 对象时,编辑的 Job-properties 也包含在 JobStream-object 中。

JobStream js = (JobStream) model.getTWSObject(JobStream.class, jsh.getId(), false, context);
List<Job> joblist = js.getJobs();
  for (Job j : joblist) {
    TimeRestrictions t = j.getTimeRestrictions();
    t.setDeadLineOffset(offset);
    j.setTimeRestrictions(t);
  }
model.setTWSObject(js, false, false, context);
于 2017-08-29T08:06:03.683 回答
0

为了更新作业流中的作业,您应该更改作业中的值,然后再次设置作业流

在您的示例中:

        List<Job> joblist = js.getJobs();
          for (Job j : joblist) {
            j.getTimeRestrictions().setDeadlineOffset(Long.parseLong(newDlineOffset));              
          }

        model.setTWSObject(js, false, false, context);

我希望这会有所帮助。

洛伦佐

于 2017-08-29T09:22:31.980 回答