我想使用Java-API更改特定作业流中作业的截止日期。 更新作业流本身的截止日期本身不会产生任何问题。在jobstream-level上使用queryfilter我得到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中更新作业的时间限制。我可以在工作流中获得一份工作清单,并自行查找这些工作的时间限制:
List<Job> joblist = js.getJobs();
for (Job j : joblist) {
j.getTimeRestrictions().getDeadlineOffset();
}
但是,在编辑作业对象后,我似乎无法再次更新jobstream-object; jobstream-object没有setJobs函数。
有人知道我怎么能意识到这一点吗?
答案 0 :(得分:0)
原来并没有必要再次明确设置JobStream的作业。编辑作业,然后只设置JobStream对象时,编辑的Job-properties也包含在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);
答案 1 :(得分:0)
为了更新作业流内的作业,您应该更改作业中的值,然后再次设置作业流
在你的例子中:
List<Job> joblist = js.getJobs();
for (Job j : joblist) {
j.getTimeRestrictions().setDeadlineOffset(Long.parseLong(newDlineOffset));
}
model.setTWSObject(js, false, false, context);
我希望这可以提供帮助。
洛伦佐