|
|
|
|
Re: Using DataFilter IN on ActivityInstanceQuery [message #854829 is a reply to message #854794] |
Tue, 24 April 2012 09:11 |
Vikram Kodak Messages: 72 Registered: October 2011 |
Member |
|
|
As we understand your requirements, it can be achieve with this single query, assuming that you make the third data a descriptor:
public class AiQuery {
public static void main(String[] args) {
ServiceFactory sf = ServiceFactoryLocator.get("motu", "motu");
QueryService qs = sf.getQueryService();
ActivityInstanceQuery aiq = ActivityInstanceQuery
.findInStateHavingData("Hibernation", "HibernatedActivity",
"Data1", "daat1", ActivityInstanceState.Hibernated);
aiq.where(DataFilter.isEqual("Data2", "daat2"));
aiq.setPolicy(DescriptorPolicy.WITH_DESCRIPTORS);
ActivityInstances ais = qs.getAllActivityInstances(aiq);
for (Iterator iterator = ais.iterator(); iterator.hasNext();) {
ActivityInstance ai = (ActivityInstance) iterator.next();
ProcessInstanceDetails piD = (ProcessInstanceDetails) ai.getProcessInstance();
System.out.println("AI: " + ai.getOID() + " PI: " + ai.getProcessInstance().getOID() + " Data3:" + piD.getDescriptorValue("Data3"));
}
sf.close();
}
}
[Updated on: Tue, 24 April 2012 09:12] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.03495 seconds