本文整理汇总了Java中org.kuali.rice.kew.rule.RuleRoutingDefinition类的典型用法代码示例。如果您正苦于以下问题:Java RuleRoutingDefinition类的具体用法?Java RuleRoutingDefinition怎么用?Java RuleRoutingDefinition使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
RuleRoutingDefinition类属于org.kuali.rice.kew.rule包,在下文中一共展示了RuleRoutingDefinition类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: routeRuleWithDelegate
import org.kuali.rice.kew.rule.RuleRoutingDefinition; //导入依赖的package包/类
@Override
public String routeRuleWithDelegate(String documentId, RuleBaseValues parentRule, RuleBaseValues delegateRule, PrincipalContract principal, String annotation, boolean blanketApprove) throws Exception {
if (parentRule == null) {
throw new IllegalArgumentException("Cannot route a delegate without a parent rule.");
}
if (parentRule.getDelegateRule().booleanValue()) {
throw new IllegalArgumentException("Parent rule cannot be a delegate.");
}
if (parentRule.getPreviousRuleId() == null && delegateRule.getPreviousRuleId() == null) {
throw new IllegalArgumentException("Previous rule version required.");
}
// if the parent rule is new, unsaved, then save it
// boolean isRoutingParent = parentRule.getId() == null;
// if (isRoutingParent) {
// // it's very important that we do not save delegations here (that's what the false parameter is for)
// // this is because, if we save the delegations, the existing delegations on our parent rule will become
// // saved as "non current" before the rule is approved!!!
// save2(parentRule, null, false);
// //save2(parentRule, null, true);
// }
// XXX: added when the RuleValidation stuff was added, basically we just need to get the RuleDelegation
// that points to our delegate rule, this rule code is scary...
RuleDelegationBo ruleDelegation = getRuleDelegation(parentRule, delegateRule);
save2(delegateRule, ruleDelegation, true);
// if the parent rule is new, unsaved, then save it
// It's important to save the parent rule after the delegate rule is saved, that way we can ensure that any new rule
// delegations have a valid, saved, delegation rule to point to (otherwise we end up with a null constraint violation)
boolean isRoutingParent = parentRule.getId() == null;
if (isRoutingParent) {
// it's very important that we do not save delegations here (that's what the false parameter is for)
// this is because, if we save the delegations, the existing delegations on our parent rule will become
// saved as "non current" before the rule is approved!!!
save2(parentRule, null, false);
//save2(parentRule, null, true);
}
WorkflowDocument workflowDocument = null;
if (documentId != null) {
workflowDocument = WorkflowDocumentFactory.loadDocument(principal.getPrincipalId(), documentId);
} else {
List<RuleBaseValues> rules = new ArrayList<RuleBaseValues>();
rules.add(delegateRule);
rules.add(parentRule);
workflowDocument = WorkflowDocumentFactory.createDocument(principal.getPrincipalId(), getRuleDocumentTypeName(
rules));
}
workflowDocument.setTitle(generateTitle(parentRule, delegateRule));
delegateRule.setDocumentId(workflowDocument.getDocumentId());
workflowDocument.addAttributeDefinition(RuleRoutingDefinition.createAttributeDefinition(parentRule.getDocTypeName()));
getRuleDAO().save(delegateRule);
if (isRoutingParent) {
parentRule.setDocumentId(workflowDocument.getDocumentId());
getRuleDAO().save(parentRule);
}
if (blanketApprove) {
workflowDocument.blanketApprove(annotation);
} else {
workflowDocument.route(annotation);
}
return workflowDocument.getDocumentId();
}
示例2: routeRuleWithDelegate
import org.kuali.rice.kew.rule.RuleRoutingDefinition; //导入依赖的package包/类
public String routeRuleWithDelegate(String documentId, RuleBaseValues parentRule, RuleBaseValues delegateRule, PrincipalContract principal, String annotation, boolean blanketApprove) throws Exception {
if (parentRule == null) {
throw new IllegalArgumentException("Cannot route a delegate without a parent rule.");
}
if (parentRule.getDelegateRule().booleanValue()) {
throw new IllegalArgumentException("Parent rule cannot be a delegate.");
}
if (parentRule.getPreviousRuleId() == null && delegateRule.getPreviousRuleId() == null) {
throw new IllegalArgumentException("Previous rule version required.");
}
// if the parent rule is new, unsaved, then save it
// boolean isRoutingParent = parentRule.getId() == null;
// if (isRoutingParent) {
// // it's very important that we do not save delegations here (that's what the false parameter is for)
// // this is because, if we save the delegations, the existing delegations on our parent rule will become
// // saved as "non current" before the rule is approved!!!
// save2(parentRule, null, false);
// //save2(parentRule, null, true);
// }
// XXX: added when the RuleValidation stuff was added, basically we just need to get the RuleDelegation
// that points to our delegate rule, this rule code is scary...
RuleDelegationBo ruleDelegation = getRuleDelegation(parentRule, delegateRule);
save2(delegateRule, ruleDelegation, true);
// if the parent rule is new, unsaved, then save it
// It's important to save the parent rule after the delegate rule is saved, that way we can ensure that any new rule
// delegations have a valid, saved, delegation rule to point to (otherwise we end up with a null constraint violation)
boolean isRoutingParent = parentRule.getId() == null;
if (isRoutingParent) {
// it's very important that we do not save delegations here (that's what the false parameter is for)
// this is because, if we save the delegations, the existing delegations on our parent rule will become
// saved as "non current" before the rule is approved!!!
save2(parentRule, null, false);
//save2(parentRule, null, true);
}
WorkflowDocument workflowDocument = null;
if (documentId != null) {
workflowDocument = WorkflowDocumentFactory.loadDocument(principal.getPrincipalId(), documentId);
} else {
List rules = new ArrayList();
rules.add(delegateRule);
rules.add(parentRule);
workflowDocument = WorkflowDocumentFactory.createDocument(principal.getPrincipalId(), getRuleDocumentTypeName(
rules));
}
workflowDocument.setTitle(generateTitle(parentRule, delegateRule));
delegateRule.setDocumentId(workflowDocument.getDocumentId());
workflowDocument.addAttributeDefinition(RuleRoutingDefinition.createAttributeDefinition(parentRule.getDocTypeName()));
getRuleDAO().save(delegateRule);
if (isRoutingParent) {
parentRule.setDocumentId(workflowDocument.getDocumentId());
getRuleDAO().save(parentRule);
}
if (blanketApprove) {
workflowDocument.blanketApprove(annotation);
} else {
workflowDocument.route(annotation);
}
return workflowDocument.getDocumentId();
}