无法通过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);
我希望这可以帮助。
洛伦佐
,昨天我才意识到,以及(见文章),但感谢你的回答! – TinekeW
不客气,我很乐意协助进一步澄清tws api! –