本文整理汇总了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;
}