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

问题描述:

我想使用Java-API更改特定作业流中作业的最后期限。 更新jobstream本身的最后期限不会造成任何问题。在jobstream级别使用queryfilter,我得到jobstreamheader-id(jsh)并实例化一个JobStream对象。这可以修改并退回。无法通过tws更新特定作业流中的作业截止日期Java API

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中作业的时间限制。我能得到的作业列表中作业流,并发现这些工作本身的timerestrictions:

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

然而,编辑工作对象,我似乎无法再次更新作业流对象后; jobstream对象没有setJobs函数。

有没有人有一个想法,我怎么能意识到这一点?

原来,没有必要再次明确设置JobStream的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); 

我希望这可以帮助。

洛伦佐

+0

,昨天我才意识到,以及(见文章),但感谢你的回答! – TinekeW

+0

不客气,我很乐意协助进一步澄清tws api! –