Francesco Pietrobelli [
http://community.jboss.org/people/francesco.pietrobelli] created
the discussion
"Re: obsolete id"
To view the discussion, visit:
http://community.jboss.org/message/625274#625274
--------------------------------------------------------------
You can use this method:
/**
* Get the node instance corresponding to a work item identified with
* <code>workItemId</code>
*
* @param workItemId
* identification of work item id
* @param container
* the container that contains the node instance, in most case
* the process instance
* @return null if no node instance is found, the correspond node instance
* otherwise
*/
public static WorkItemNodeInstance findNodeInstance(long workItemId,
NodeInstanceContainer container) {
for (NodeInstance nodeInstance : container.getNodeInstances()) {
if (nodeInstance instanceof WorkItemNodeInstance) {
WorkItemNodeInstance workItemNodeInstance =
(WorkItemNodeInstance) nodeInstance;
if (workItemNodeInstance.getWorkItem().getId() ==
workItemId) {
return workItemNodeInstance;
}
}
if (nodeInstance instanceof NodeInstanceContainer) {
WorkItemNodeInstance result =
findNodeInstance(workItemId,
((NodeInstanceContainer)
nodeInstance));
if (result != null) {
return result;
}
}
}
return null;
}
and then invoke the method getNodeId() on returned object.
Of course your WorkItemHandler needs a reference to StatefulKnowledgeSession, but you can
pass it when you register your WorkItemHandler on your session.
I hope this is useful.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/625274#625274]
Start a new discussion in jBPM at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]