本文整理匯總了Java中org.kuali.rice.kew.engine.node.NodeGraphContext類的典型用法代碼示例。如果您正苦於以下問題:Java NodeGraphContext類的具體用法?Java NodeGraphContext怎麽用?Java NodeGraphContext使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
NodeGraphContext類屬於org.kuali.rice.kew.engine.node包,在下文中一共展示了NodeGraphContext類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: searchNodeGraph
import org.kuali.rice.kew.engine.node.NodeGraphContext; //導入依賴的package包/類
public NodeGraphSearchResult searchNodeGraph(NodeGraphSearchCriteria criteria) {
NodeGraphContext context = new NodeGraphContext();
if (criteria.getSearchDirection() == NodeGraphSearchCriteria.SEARCH_DIRECTION_BACKWARD) {
searchNodeGraphBackward(context, criteria.getMatcher(), null, criteria.getStartingNodeInstances());
} else {
throw new UnsupportedOperationException("Search feature can only search backward currently.");
}
List exactPath = determineExactPath(context, criteria.getSearchDirection(), criteria.getStartingNodeInstances());
return new NodeGraphSearchResult(context.getCurrentNodeInstance(), exactPath);
}
示例2: searchNodeGraphBackward
import org.kuali.rice.kew.engine.node.NodeGraphContext; //導入依賴的package包/類
private void searchNodeGraphBackward(NodeGraphContext context, NodeMatcher matcher, RouteNodeInstance previousNodeInstance, Collection nodeInstances) {
if (nodeInstances == null) {
return;
}
for (Iterator iterator = nodeInstances.iterator(); iterator.hasNext();) {
RouteNodeInstance nodeInstance = (RouteNodeInstance) iterator.next();
context.setPreviousNodeInstance(previousNodeInstance);
context.setCurrentNodeInstance(nodeInstance);
searchNodeGraphBackward(context, matcher);
if (context.getResultNodeInstance() != null) {
// we've located the node instance we're searching for, we're done
break;
}
}
}
示例3: determineExactPath
import org.kuali.rice.kew.engine.node.NodeGraphContext; //導入依賴的package包/類
private List determineExactPath(NodeGraphContext context, int searchDirection, Collection<RouteNodeInstance> startingNodeInstances) {
List<RouteNodeInstance> exactPath = new ArrayList<RouteNodeInstance>();
if (context.getResultNodeInstance() == null) {
exactPath.addAll(context.getVisited().values());
} else {
determineExactPath(exactPath, new HashMap<String, RouteNodeInstance>(), startingNodeInstances, context.getResultNodeInstance());
}
if (NodeGraphSearchCriteria.SEARCH_DIRECTION_FORWARD == searchDirection) {
Collections.sort(exactPath, NODE_INSTANCE_BACKWARD_SORT);
} else {
Collections.sort(exactPath, NODE_INSTANCE_FORWARD_SORT);
}
return exactPath;
}