繁体   English   中英

无法通过tws Java API更新特定作业流中的作业截止日期

[英]Trouble updating job deadline in specific jobstream through tws Java API

我想使用Java-API更改特定作业流中作业的截止日期。 更新工作流的截止日期本身没有任何问题。 在工作流级别使用查询过滤器,我得到jobstreamheader-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中更新Jobs的时间限制。 我可以获得工作流中的工作列表,并找到这些工作本身的时间限制:

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

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

有人知道我该如何实现吗?

原来没有必要再次显式设置JobStream的Job。 当编辑Job时,然后仅设置JobStream对象,则已编辑的Job属性也包含在JobStream对象中。

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);

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

在您的示例中:

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

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

希望对您有所帮助。

洛伦佐

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM