![](/img/trans.png)
[英]TWS Java API editAddJobStreamInstanceWithVariableSubstitution
[英]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.